中断后取消断点,F7返回到:
00D91CCC /E9 54080000 jmp 00D92525 // 返回到这里,Alt + M 打开内存映射
00D91CD1 |DA71 97 fidiv dword ptr ds:[ecx-69]
00D91CD4 |BE 0708F3C5 mov esi,C5F30807
00D91CD9 |71 51 jno short 00D91D2C
00D91CDB |6BBD 2EBEC2B4 A2 imul edi,dword ptr ss:[ebp+B4C2BE2E],-5E
00D91CE2 |8ACC mov cl,ah
00D91CE4 |C3 retn
00D91CE5 |DAB0 F1112243 fidiv dword ptr ds:[eax+432211F1]
00D91CEB |8562 94 test dword ptr ds:[edx-6C],esp
00D91CEE |E5 AE in eax,0AE
00D91CF0 |7B A9 jpo short 00D91C9B
00D91CF2 |2C A8 sub al,0A8
00D91CF4 |8826 mov byte ptr ds:[esi],ah
00D91CF6 |D9ED fldln2
00D91CF8 |0A7488 1F or dh,byte ptr ds:[eax+ecx*4+1F]
00D91CFC |AB stos dword ptr es:[edi]
00D91CFD |2E:C1A0 4CB7E3D9 23 shl dword ptr cs:[eax+D9E3B74C],23
00D91D05 |E7 B4 out 0B4,eax
00D91D07 ^|79 B4 jns short 00D91CBD
00D91D09 |003406 add byte ptr ds:[esi+eax],dh
———————————————————————————————————
内存映射,项目 21
地址=00401000 // 在此处F2设置访问中断,F9运行,直达OEP!
大小=0001A000 (106496.)
物主=QQ聊天霸 00400000
区段=
包含=code
类型=Imag 01001002
访问=R
初始访问=RWE
———————————————————————————————————
00401630 68 101D4000 push QQ聊天霸.00401D10 // 中断在此!在这儿用LordPE纠正ImageSize后完全DUMP这个进程
00401635 E8 EEFFFFFF call QQ聊天霸.00401628
0040163A 0000 add byte ptr ds:[eax],al
0040163C 0000 add byte ptr ds:[eax],al
0040163E 0000 add byte ptr ds:[eax],al
00401640 3000 xor byte ptr ds:[eax],al
00401642 0000 add byte ptr ds:[eax],al
00401644 40 inc eax
00401645 0000 add byte ptr ds:[eax],al
00401647 0000 add byte ptr ds:[eax],al
00401649 0000 add byte ptr ds:[eax],al
0040164B 006CBF E7 add byte ptr ds:[edi+edi*4-19],ch
0040164F 43 inc ebx
00401650 C9 leave
00401651 47 inc edi
00401652 D911 fst dword ptr ds:[ecx]
00401654 889400 E04C3D87 mov byte ptr ds:[eax+eax+873D4CE0],dl
运行ImportREC 1.6,选择这个进程。把OEP改为00001630,点击“IAT AutoSearch”,然后点击“Get Imports”,函数指针无效。
再点“Show Invalid”,在无效函数上,鼠标右键选择“Trace Level 1(Disasm)”自动检测修复,这下指针有效了,Fix Dump !!
正常运行!看来这次ASProtect对这个输入表没有动太多的手脚。Microsoft Visual Basic 5.0 / 6.0 编写。
用LordPE删除data、adata共2个区段,然后再用LordPE“重建PE”,程序就精简了不少。93.5 KB -> 188 KB -> 113 KB