我的意思是:当你获得一个PE文件时,有什么方法去,获得它的特征码,并能够唯一确定是该文件。当给你很多PE文件时,该方法也能够行得通。(最好是用C\C++)请各位大哥,帮帮小弟,粘弟这边急用!万分感谢!!!!!
解决方案 »
- Select函数与recv函数的配合使用!
- MFC的单文档程序,自动创建了CTestView,CMainFrame等几个类,请问:CMainFrame是不是CTestView的基类?
- 字符串 "网络A程B序C员" 在VC下如何知道 他们是 5个汉字,3个字母。不记得用什么函数了。请指教
- 在编辑框内怎么样能禁止使用CTRL+V、CRTL+X、CRTL+C及快捷菜单???急!!!
- Dev-C++是个什么东东,好用吗?
- (完全送分)索引是怎么一回事?
- 请教---关于windows系统菜单的问题
- 请教关于新视点图像生成
- 如何自动使win98自动登录到局域网上,立刻给分
- 怎样用CreateThread()函数动态创建执行不同函数的线程?
- 求思路,鼠标移动点击,如何根据不同的区域显示不同的窗口内容
- VC++钩子的入门问题
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],AL
vb
00402360 68 2C4D4000 push KillBox.00404D2C ; ASCII "VB5!6&*vb6chs.dll"
00402365 E8 EEFFFFFF call KillBox.00402358 ; jmp to msvbvm60.ThunRTMain
0040236A 0000 add byte ptr ds:[eax],al
0040236C 0000 add byte ptr ds:[eax],al
0040236E 0000 add byte ptr ds:[eax],al
00402370 3000 xor byte ptr ds:[eax],al
00402372 0000 add byte ptr ds:[eax],al
00402374 3800 cmp byte ptr ds:[eax],al
00402376 0000 add byte ptr ds:[eax],al
00402378 0000 add byte ptr ds:[eax],al
0040237A 0000 add byte ptr ds:[eax],al
0040237C 4F dec edi
0040237D 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 无敌外挂.0041D086
0041D01E E8 00000000 CALL 无敌外挂.0041D023本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/leitianjun/archive/2009/08/13/4441448.aspx
如果你急需并 有足够技术的话 你可以看看杀毒软件怎么样做的呵呵如果是一般软件的话 都有哦导入表 导出表之类的 甚至里面有资源信息 找个可以做参考好的方法不多,误判都很高的 呵呵、
行业内有人愿意出三五万解决找个问题呵呵,当然要求比你的复杂一点就是增加版本兼容性!
LS 增加版本兼容性怎么讲? 是比如说QQ每个版本不一样,但可以通过获取一个版本的特征,而同样识别出其他的版本么??