2014-12-05 7 views
3

아주 단순한 bat 파일을 EXE로 변환했습니다.트로이 목마로 보이는 컴파일 된 실행 파일

내 C 파일은 다음과 같다 :

#include <stdlib.h> 
int main(int argc, char const *argv[]) { 
    system("set PATH=%PATH%;%CD%\bin\ffmpeg"); 
    system("node server.js"); 
    return 0; 
} 

내 resources.rc은 다음과 같습니다

#include <windows.h> 

A ICON MOVEABLE PURE LOADONCALL DISCARDABLE "favicon.ico" 

내가 그것을 사용하여 컴파일 :

windres -i resource.rc -o resource.o 
tcc-o mediacenterjs.exe main.c resource.o 

이 위대한 작품! 그러나 Avast와 다른 몇몇 안티 바이러스 스캐너는 내 EXE를 위협으로보고 있습니다. 정확한 "I-Worm/Nuwar.L"트로이 목마.

코드를 변경하거나 추가하면 바이러스로 인식되지 않으므로 어떻게해야합니까?

+4

더 나은 바이러스 백신을 확보하십시오. – rubenvb

+1

어쨌든 이것이 작동하지 않을 것이라고 생각합니다. 첫 번째 호출은 첫 번째 명령 셸에 대해 '% PATH %'를 설정하고 두 번째 호출은 원래 '% PATH %'가있는 두 번째 명령 셸을 시작합니다. 게다가, 그런 사소한 프로그램을 위해서 나는 심지어 CRT를 사용하지 않을 것이다. 'CreateProcess'를 사용하고 적절한 환경을 전달하십시오. – MSalters

답변

1

한 가지 방법은 라인 중 하나를 생략하여 어느 것이 트리거하고 있는지 (또는 둘 다 있는지) 알아내는 것입니다. 컴퓨터의 경로 설정이 정확한 node 실행 파일을 가리키고 있기 때문에 코드는 실제로 안전하지 않습니다.

system이 처음 실행 된 후에도 경로 설정이 실제로 유지되는지 확인해야 할 수 있습니다.

+0

매우 유용합니다! 내가 제안한 것처럼 디버깅하겠습니다. 경로 변수를 변경하면 대부분의 바이러스 스캐너에서 빨간색 플래그가 표시됩니다. – jansmolders86

1

당신이 생각하는 것보다 간단합니다. 때로는 우리가 소켓을 망칠 때도 안티 바이러스가 불평 할 수 있습니다. 시스템에서 무언가를 변경하려고하면 똑같은 일이 일어날 수 있습니다. 아마도 바이러스가 있기 때문에가 아니라 안티 바이러스의 행동 분석 때문에 응용 프로그램을 스레드와 같은 것으로 인식하고 있습니다. , 등등.

당신이 할 수있는 일은 문제가있는 곳을 찾기 위해 응용 프로그램을 디버깅하는 것입니다. 어쩌면 시스템에 직접적으로 영향을 줄 수있는 내용을 시스템에 묻는 system 기능에 있습니다 (바이러스 백신 알지도 못합니다.) 아마도 API를 사용하여이 다른 방법으로 처리 할 수 ​​있습니다.