之前分析熊貓燒香後寫的簡單的專殺**
#include #include #include #include //遍歷程序
bool findtargetprocess(const char *pszprocessname)
processentry32 pe = ;
pe.dwsize = sizeof(pe);
bool bret = process32first(hprocesssnap, &pe);
while (bret)
else
break;
} bret = process32next(hprocesssnap, &pe);
} closehandle(hprocesssnap);
return bkill;
}bool delfile(const char * filename)
else }
//是否為exe
bool i***e(const char* pfilename)
++ptemp;
} return false;
}//是否為html
bool ishtml(const char* pfilename)
++ptemp;
} return false;
}//修復感染exe檔案
bool reexe(const char* pstrfilepath)
//獲取檔案大小
dword filesize = getfilesize(hfile, null);
pfilebuf = new char[filesize]{};
//讀檔案
dword dwcount = 1;
bool bret = readfile(hfile, pfilebuf, filesize, &dwcount, null);
if (!bret)
char* pfileoffset = pfilebuf + 0x18200;
setfilepointer(hfile, 0, 0, file_begin);
writefile(hfile, pfileoffset, filesize - 0x18200 - 24, &dwcount, null);
setendoffile(hfile);
closehandle(hfile);
delete pfilebuf;
return true;
}//將檔案讀入記憶體並獲取大小
char* getfilebuf(char* pstrfilepath, _out_ dword* filesize)
//獲取檔案大小
*filesize = getfilesize(hfile, null);
pfilebuf = new char[*filesize]{};
//讀檔案
dword dwcount = 1;
bool bret = readfile(hfile, pfilebuf, *filesize, &dwcount, null);
if (bret)
//釋放資源
closehandle(hfile);
delete pfilebuf;
return 0;
}//是否為感染exe
bool isinfectedexe(char* pstrfilepath)
byte* pfileoffset = (byte*)pfilebuf;
*pfileoffset;
pfileoffset += (dwfilesize - 1);
//判斷是否為0x01
if (*pfileoffset != 0x01)
while (*pfileoffset != 0x00)
pfileoffset++;
char temp[6] = ;
memcpy_s(temp, 5, pfileoffset, 5);
if (!strcmp(temp, "whboy"))
delete pfilebuf;
return false;
}//是否為感染html
bool isinfectedhtml(char* pstrfilepath)
byte* pfileoffset = (byte*)pfilebuf;
*pfileoffset;
pfileoffset += (dwfilesize - 64);
char temp[32] = ;
memcpy_s(temp, 31, pfileoffset, 31);
if (!lstrcmp(temp, ""))
delete pfilebuf;
return false;
}//修復感染html檔案
bool rehtml(const char* pstrfilepath)
//獲取檔案大小
dword filesize = getfilesize(hfile, null);
pfilebuf = new char[filesize]{};
//讀檔案
dword dwcount = 1;
bool bret = readfile(hfile, pfilebuf, filesize, &dwcount, null);
if (!bret)
char* pfileoffset = pfilebuf;
setfilepointer(hfile, 0, 0, file_begin);
writefile(hfile, pfilebuf, filesize - 76, &dwcount, null);
setendoffile(hfile);
closehandle(hfile);
delete pfilebuf;
return true;
}//遍歷資料夾刪除desktop_.ini
dword winapi delini(const char* lpszpath)
strcpy(szsearch, szpath);
strcat(szsearch, szfilter);
hfindfile = findfirstfile(szsearch, &stfindfile);
if (hfindfile != invalid_handle_value)
}else
else
}else if(i***e(stfindfile.cfilename)) //判斷是否是exe
else
}else
}else if (ishtml(stfindfile.cfilename)) //判斷是否是html
else
}else}}
//printf("檔案: %s\n", szfindfile);
ret = findnextfile(hfindfile, &stfindfile);
} while (ret != 0);
} findclose(hfindfile);
return 0;
}void recoveryreg()
; long lret = regopenkey(hkey_current_user, regrun, &hkeyhkcu);
if (lret == error_success)
lret = regdeletevalue(hkeyhkcu, "svcshare");
if (lret == error_success)
else
}else
regclosekey(hkeyhkcu);
} else
// 接下來修復檔案的隱藏顯示,需要將checkedvalue的值設定為1
char reghide = "software\\microsoft\\windows\\currentversion\\explorer\\advanced\\folder\\hidden\\showall";
hkey hkeyhklm = null;
dword dwflag = 1;
long lrethide = regopenkey(hkey_local_machine, reghide, &hkeyhklm);
if (lrethide == error_success)
else
}}int main()
看熊貓燒香作者自己出的專殺
武男悔過,看守所完成熊貓專殺,不曉得武男是不是 過原始碼 報道說是 如果原始碼被擴散,最終出來的病毒將不能被武男所控制,有可能這個專殺不能對所有變種有效。從我的隔離區把90多個whboy恢復出來,試下武男的專殺,看效果咋樣。結果,你一定不會相信。武男的專殺不能設定掃瞄目標,只能全盤殺,汗,看守所裡出...
「熊貓燒香」讓「熊貓衛士」走開
熊貓燒香病毒這段時間讓很多人叫苦不迭,它的作者雖然被抓,但也肯定會被寫入中國病毒軟體的歷史。我比較小心,不僅裝了正版kaspersky防毒軟體,還啟用了防火牆,不熟悉的 一般不去,也不用qq,所以至今我的系統還沒養過 熊貓 也沒被 燒香 我今天並不想討論如何防防毒,而是專門向一位做正版軟體銷售的朋友...
「熊貓燒香」作者認養熊貓
還記得 熊貓燒香 嗎?那個風靡2007年的病 者李俊昨日來到成都。這次,李俊和真正的熊貓攀上了關係 他在成都大熊貓繁育基地攜手熊貓安全軟體 買軟體網認養了乙隻命名為 雲 的熊貓。和曾經年少輕狂的惡意病毒製造者不一樣,昨日現身成都的李俊顯得沉穩了不少,而作為網民的李俊則多了兩項新名頭 熊貓軟體安全顧問...