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
—————————————————————————————————
二、破解
脱壳后的程序在启动时还是有“延时NAG提示框”,去掉NAG岂不很顺眼?
分析一下,这个NAG应该是程序的注册验证所致,所以。。。“直捣黄龙”
下断:bpx __vbaStrCmp
F9运行,断下:
00417B08 FF15 BCE04200 call dword ptr ds:[<&msvbvm60.#406>] // 这里中断,F8单步 ; msvbvm60.__vbaStrCmp
00417B0E 85C0