看板 C_and_CPP 關於我們 聯絡資訊
遇到的問題: (題意請描述清楚) 我寫了一個簡單的Win32 API程式 結果被avast!誤判程式惡意程式 試了AVG和小紅傘也得到一樣的結果 可是重新compile後就不會了... 這其中一定有什麼誤會 是我程式的問題還是電腦的問題? 我試過重新編譯後放幾天依然被當成病毒了...囧TL 開發平台: Dev-C++ 有問題的code: (請善用置底文標色功能) 原始碼如下: //有點囉唆XD #include <windows.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <time.h> //這些東西放全域 HWND hWnd; //視窗代碼 HDC hdc; //裝置組態代碼 PAINTSTRUCT ps; //繪圖資訊 LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM); //宣告視窗函數 /*****/ ATOM InitApp (HINSTANCE); //原子科技 BOOL InitInstance (HINSTANCE ,int ); //初始化實體 /*****/ HFONT MyCreateFont (int, DWORD, LPCTSTR); // 自訂字型 char szClassName[ ] = "Windows01"; //視窗類型 //使這個類名稱成為一個全局變量 int WINAPI WinMain (HINSTANCE hCurInst, //現在的實體代碼 HINSTANCE hPrevInst, //之前的實體代碼 LPSTR lpsCmdLine, //命令列參數 int nCmdShow) //視窗顯示狀態 { /*---Create a window------------*/ MSG msg; //msg結構體 BOOL bRet; //抓信息的東東, 俗稱布爾大衣(by Google) WNDCLASSEX wc; //視窗類別結構, 廁所 ATOM atom; //原子 wc.cbSize = sizeof(WNDCLASSEX); //結構體大小 wc.style = CS_HREDRAW | CS_VREDRAW | CS_DBLCLKS; //類型的風格 wc.lpfnWndProc = WndProc; //視窗函式 wc.cbClsExtra = 0; //輔助資料 wc.cbWndExtra = 0; //輔助資料 wc.hInstance = hCurInst; //實體代碼 wc.hIcon = (HICON)LoadImage( //圖示 NULL, MAKEINTRESOURCE (IDI_APPLICATION), IMAGE_ICON, 0, 0, LR_DEFAULTSIZE | LR_SHARED ); wc.hCursor = (HCURSOR)LoadImage ( //游標 NULL, MAKEINTRESOURCE(IDC_ARROW), IMAGE_CURSOR, 0, 0, LR_DEFAULTSIZE | LR_SHARED ); wc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH); //背景畫刷 wc.lpszMenuName = NULL; //功能表名 wc.lpszClassName = (LPCSTR)szClassName; //類型名 wc.hIconSm = (HICON)LoadImage( //小圖示 NULL, MAKEINTRESOURCE(IDI_APPLICATION), IMAGE_ICON, 0, 0, LR_DEFAULTSIZE | LR_SHARED ); if ((atom = RegisterClassEx(&wc)) == 0) //如果是視窗開啟時, 使用原子技 術 return FALSE; hWnd = CreateWindow ( //初始化視窗代碼 szClassName, //類名 "Xatier API", //標題列 WS_OVERLAPPEDWINDOW, //視窗樣式 CW_USEDEFAULT, //X座標 //CW_USEDEFAULT為使用者自訂 CW_USEDEFAULT, //Y座標 CW_USEDEFAULT, //寬度 CW_USEDEFAULT, //高度 NULL, //母視窗代碼 NULL, //功能表代碼或子視窗ID hCurInst, //實體代碼 NULL //視窗建立用資料 ); if (!hWnd) return FALSE; ShowWindow(hWnd, nCmdShow); //將視窗Show出來 UpdateWindow(hWnd); //更新視窗 while (bRet = GetMessage (&msg, NULL, 0, 0) != 0 ){ //吃信息 if (bRet == -1) { break; } else { TranslateMessage(&msg); //翻譯年糕 DispatchMessage (&msg); //將msg傳送給視窗函式 } } return (int)msg.wParam; //回傳msg的輔助資訊 } LRESULT CALLBACK WndProc (HWND hWnd, UINT msg, WPARAM wp, LPARAM lp) //回呼函式 { char buffer[50]; //巴夫 HFONT hFont1 = MyCreateFont(16, CHINESEBIG5_CHARSET, "新細明體"); //字型1 switch (msg) { //用switch來分別各種msg的功能 case WM_PAINT: hdc = BeginPaint(hWnd, &ps); //擷取hdc /*-版權聲明------------*/ SelectObject(hdc, hFont1); //使用字型1 sprintf(buffer, "Author: Xatier @tcirc.org"); TextOut(hdc, 5, 390, buffer, (int)strlen(buffer)); break; case WM_LBUTTONUP: //吃滑鼠(left) break; case WM_LBUTTONDOWN: break; case WM_RBUTTONUP: //吃滑鼠(right) break; case WM_RBUTTONDOWN: break; case WM_CHAR: //吃按鍵 if (wp == VK_ESCAPE) { //ESC離開 SendMessage(hWnd, WM_CLOSE, 0 ,0); } break; case WM_CLOSE: if (int id = MessageBox(hWnd, "你確定要結束程式嗎?\n\n喵~~", "確認", MB_YESNO | MB_ICONQUESTION) == IDYES) DestroyWindow(hWnd); break; case WM_DESTROY: //破壞視窗 PostQuitMessage (0); break; default: return (DefWindowProc (hWnd, msg, wp, lp)); //不相關的東西丟給視窗函式處理 } return 0; } HFONT MyCreateFont (int nHeight, DWORD dwCharSet, LPCTSTR lpName) { return( CreateFont(nHeight, 0, 0, 0, FW_DONTCARE, FALSE, FALSE, FALSE, dwCharSet, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH | FF_DONTCARE, lpName)); } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 210.60.107.233
VictorTom:剛編譯好沒事?? 編完放著幾天就被當毒了?? 那八成是你的 06/21 13:04
VictorTom:電腦真的中毒了, 病毒肆機感染.exe檔造成的. 06/21 13:04
VictorTom:要確認, 可以試試剛編出來的檔案, zip並加密備份一份, 06/21 13:05
VictorTom:等被報毒之後, 再拿出來做binary compare; 或者概略式的 06/21 13:06
VictorTom:MD5之類的工具計算檔案校驗碼, 比對未報毒與報毒後的MD5 06/21 13:06
VictorTom:甚至其他如SHA1等hash值. 然後要是真中毒, 就是另外一個 06/21 13:07
VictorTom:板 (AntiVirus) 的事了.... 06/21 13:07
xatier:感謝V大的說明 06/21 13:09
loveme00835:之前也發生同樣的問題, 不過原始碼檔案刪掉重創一個小 06/21 13:11
loveme00835:紅傘就不叫了, 全機掃瞄也沒毒 06/21 13:11
VictorTom:l大的狀況太神奇了Orz 順便丟個AV板看來的掃毒網站, 06/21 13:15
VictorTom:http://www.virustotal.com/zh-tw/ 也可以試試....@_@" 06/21 13:15
loveme00835:囧rz 希望不是因為掃不到... 06/21 13:21
dustlike:如果電腦正常還被當病毒的話請去放火燒防毒軟體公司。 06/21 16:59
xatier:我想我要去燒防毒軟體公司了...XD 電腦似乎是正常的 06/21 17:00
xatier:不過我要upload檔案給virustotal之前他就會被avast!擋掉... 06/21 17:03
xatier:也沒辦法知道是不是真的有問題 06/21 17:03
x000032001:傳給別人編譯試試? 說不定是某部份hash剛好一樣@@ 06/21 19:47
x000032001:然後就被誤判了 06/21 19:47
xatier:順帶一題, avast!跟我說是MalWare gen造成的 06/22 07:24
llewxam:原PO的註解有點好笑XD 06/22 15:48
snowpoint:推註解XDD 06/23 17:00
yoco315:翻譯年糕 = =+ 讚啦 06/23 21:30
sunneo:XDDD 我的天 好有趣的註解 06/25 03:31
xatier:註解寫的很歡樂是我的習慣XD 06/25 12:33