본문 바로가기
프로그래밍 언어/C, C++

Program:Win32/Wacapew.C!ml : Windows 11에서 멀쩡한 C언어 파일이 트로이 목마로 착각되는 문제(MinGW)

by 니키티스 2024. 2. 24.

환경: VSCode, MinGW(MinGW - Minimalist GNU for Windows download | SourceForge.net)

멀쩡한 C언어 코드가 갑자기 실행이 안 되는 문제가 생겼습니다. 방화벽이 코드를 보고 트로이목마(Win32/Wacapew.C!ml)로 의심한 것 같습니다.

결론만 말하자면 방화벽이 잘못 탐지한 것이기 때문에 걱정하지 마시고 실행해도 됩니다. 다만 트로이목마로 의심받은 실행파일이 삭제되는 문제가 있으니 방화벽에서 해당 폴더를 검사 예외로 설정합시다.

문제를 일으킨 코드는 다음과 같습니다.

#include <stdio.h>
#include <stdbool.h>

struct normal_struct
{
    unsigned int a : 1;
    unsigned int b : 2;
    unsigned int c : 5;
    unsigned int d : 24;
};

struct bool_struct
{
    bool a;
    // bool d : 1;
};

int main()
{
    struct bool_struct str = { true };
    printf("normal: %d\n", sizeof(struct normal_struct));
    printf("Hello world : %s\n", str.a ? "TRUE" : "FALSE");

    return 0;
}

bit-field와 관련하여 테스트를 진행해본다고 작성한 코드입니다.

vscode에서 gcc 명령어를 통해 실행시키니 실행에 실패했습니다.

 

 

C:\Users\Nicitis\Documents\Github\Problem-Solving>gcc bit-field.c

C:\Users\Nicitis\Documents\Github\Problem-Solving>a
시스템이 지정된 프로그램을 실행할 수 없습니다.

잘 보니 방화벽을 통해 차단되었습니다. 방화벽에서 보호 기록을 살펴보면, Win32/Wacapew.C!ml, 즉 트로이 목마로 보고됩니다.

코드가 잘못되었냐 하면 딱히 메모리에서 문제가 생길 만한 코드가 아닙니다. 또 그냥 hello world만 찍으면 정상적으로 실행됩니다.

VirusTotal에서 실행 파일에 대해 검사를 돌리면 결과가 이러합니다.

이러한 현상은 윈도우 방화벽이나 바이러스 백신 프로그램이 잘못 탐지해서 발생합니다.

include된 파일이 오염되었다거나 그런 건 아니고, Program:Win32/Wacapew.C!ml 자체가 트로이 목마를 발견하기 위해 있는 파일로 바이러스가 있는 것이라기보다 이상을 일으킬 수도 있는 프로그램을 광범위하게 탐색하기 위한 것입니다.

특정 버전의 MinGW에서 생성되는 실행 파일의 형태가 트로이목마 바이러스와 유사하기 때문에 이러한 문제가 생긴다고 합니다.

아예 이 문제를 겪기 싫다면 mingw-w64를 대신 사용하거나, 방화벽에서 해당 경로에서는 보호 활동을 하지 않도록 지정하여 해결할 수 있습니다.

방화벽에서 제외하기

그 중에서 상대적으로 간단한 방법을 알아보겠습니다.

해당하는 폴더를 검사 경로에서 아예 제외시키는 방법입니다.

먼저 왼쪽 하단의 윈도우 버튼을 누른 후 바이러스 및 위협 방지를 검색하여 열기를 택합니다.

바이러스 및 위협 방지 설정/설정 관리를 누릅니다.

최하단의 '제외 추가 또는 제거'를 누릅시다.

제외 사항 추가->폴더를 누르고, 검사 대상에서 제외할 폴더를 선택해 줍니다.

아래에 제외 대상으로 폴더가 추가되었다면 끝입니다.

이렇게 뜨면 완료된 것.

 

참고

Help, windows defender found Program:Win32/Wacapew.C!ml : r/Malwarebytes (reddit.com)

 

From the Malwarebytes community on Reddit: Help, windows defender found Program:Win32/Wacapew.C!ml

Explore this post and more from the Malwarebytes community

www.reddit.com

c++ - Compiled C executable is detected as a virus by windows defender - Stack Overflow

 

Compiled C executable is detected as a virus by windows defender

I had compiled a simple hello world program in C with the MinGW compiler using the command line. As it had finished compiling, windows defender popped up and detected a virus (Trojan:Win32/Fuery.C!...

stackoverflow.com

 

댓글