PE文件特征码如何提取
我的意思是:当你获得一个PE文件时,有什么方法去,获得它的特征码,并能够唯一确定是该文件。当给你很多PE文件时,该方法也能够行得通。(最好是用C\C++)请各位大哥,帮帮小弟,粘弟这边急用!万分感谢!!!!!
[解决办法]
病毒的特征码是特定的二进制代码段,不是一个计算后的数吧
[解决办法]
计算hash就行了
[解决办法]
正在学习,提供几个入口特征如下:
- C/C++ code
===============五大语言入口点特征================== delphi: 55 PUSH EBP 8BEC MOV EBP,ESP 83C4 F0 ADD ESP,-10 B8 A86F4B00 MOV EAX,PE.004B6FA8 vc++ 55 PUSH EBP 8BEC MOV EBP,ESP 83EC 44 SUB ESP,44 56 PUSH ESI vb FF25 6C104000 JMP DWORD PTR DS:[<&MSVBVM60.#100>] ; MSVBVM60.ThunRTMain 68 147C4000 PUSH PACKME.00407C14 E8 F0FFFFFF CALL <JMP.&MSVBVM60.#100> 0000 ADD BYTE PTR DS:[EAX],AL 0000 ADD BYTE PTR DS:[EAX],AL 0000 ADD BYTE PTR DS:[EAX],AL 3000 XOR BYTE PTR DS:[EAX],ALvb00402360 68 2C4D4000 push KillBox.00404D2C ; ASCII "VB5!6&*vb6chs.dll"00402365 E8 EEFFFFFF call KillBox.00402358 ; jmp to msvbvm60.ThunRTMain0040236A 0000 add byte ptr ds:[eax],al0040236C 0000 add byte ptr ds:[eax],al0040236E 0000 add byte ptr ds:[eax],al00402370 3000 xor byte ptr ds:[eax],al00402372 0000 add byte ptr ds:[eax],al00402374 3800 cmp byte ptr ds:[eax],al00402376 0000 add byte ptr ds:[eax],al00402378 0000 add byte ptr ds:[eax],al0040237A 0000 add byte ptr ds:[eax],al0040237C 4F dec edi0040237D C2 F150 retn 50F1 bc++ 0040163C > $ /EB 10 JMP SHORT BCLOCK.0040164E 0040163E |66 DB 66 ; CHAR 'f' 0040163F |62 DB 62 ; CHAR 'b' 00401640 |3A DB 3A ; CHAR ':' 00401641 |43 DB 43 ; CHAR 'C' 00401642 |2B DB 2B ; CHAR '+' 00401643 |2B DB 2B ; CHAR '+' 00401644 |48 DB 48 ; CHAR 'H' 00401645 |4F DB 4F ; CHAR 'O' 00401646 |4F DB 4F ; CHAR 'O' 00401647 |4B DB 4B ; CHAR 'K' 00401648 |90 NOP 00401649 |E9 DB E9 dasm: 6A 00 PUSH 0 ; /pModule = NULL E8 C50A0000 CALL <JMP.&KERNEL32.GetModuleHandleA> ; \GetModuleHandleA A3 0C354000 MOV DWORD PTR DS:[40350C],EAX E8 B50A0000 CALL <JMP.&KERNEL32.GetCommandLineA> ; [GetCommandLineA A3 10354000 MOV DWORD PTR DS:[403510],EAX 6A 0A PUSH 0A ; /Arg4 = 0000000A FF35 10354000 PUSH DWORD PTR DS:[403510 ##############################################################################################tmd壳入口特征0041D014 > B8 00000000 MOV EAX,0 ;载入点。注意看这些代码0041D019 60 PUSHAD 0041D01A 0BC0 OR EAX,EAX ;明眼的就看出是Themida 壳了0041D01C 74 68 JE SHORT 无敌外挂.0041D0860041D01E E8 00000000 CALL 无敌外挂.0041D023本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/leitianjun/archive/2009/08/13/4441448.aspx
------解决方案--------------------
相关PE格式,查看一下罗云彬的PE格式一章节!
[解决办法]
病毒的话 直接做hash能对付那些所谓不“智能的”,因为病毒可以自动变形。
如果你急需并 有足够技术的话 你可以看看杀毒软件怎么样做的呵呵
如果是一般软件的话 都有哦导入表 导出表之类的 甚至里面有资源信息 找个可以做参考
好的方法不多,误判都很高的 呵呵、
行业内有人愿意出三五万解决找个问题呵呵,当然要求比你的复杂一点就是增加版本兼容性!
[解决办法]