bingtangscm4.exe---脱壳

lvcaolhx
搞定 脱壳
1.用Ollydbg 载入
2.在 GetProcAddress  设置 断点
3.F9 运行 程序, ALT+F9返回
004001D1    FF63 0C         JMP DWORD  PTR DS:[EBX+C]//这里下断点,然后F9运行,为什么在这里下断不懂,跟教程学的
004001D4    50               PUSH EAX
004001D5    55              PUSH EBP
004001D6    FF53 14         CALL DWORD PTR DS:[EBX+14]
004001D9    AB              STOS DWORD PTR ES:[EDI]//返回到这里

0040AA76      9C            DB 9C//右击,选“分析-从模块删除分析”
0040AA77      60            DB 60                                    ;  CHAR '`'
0040AA78      E8            DB E8
0040AA79      00            DB 00
0040AA7A      00            DB 00
0040AA7B      00            DB 00
0040AA7C      00            DB 00
0040AA7D      5D            DB 5D                                    ;  CHAR ']'
0040AA7E      83            DB 83
0040AA7F      ED            DB ED
0040AA80      07            DB 07
0040AA81      8D            DB 8D
0040AA82      85            DB 85
0040AA83      DA            DB DA
0040AA84      FE            DB FE
0040AA85      FF            DB FF
0040AA86      FF            DB FF
0040AA87      80            DB 80
0040AA88      38            DB 38                                    ;  CHAR '8'
到这里
0040AA76    9C              PUSHFD
0040AA77    60              PUSHAD
0040AA78    E8 00000000     CALL bingtang.0040AA7D//ESP定律
到这里0040ACE7    9D              POPFD
0040ACE8  ^ E9 E366FFFF     JMP bingtang.004013D0//跳向OEP
004013D0    68 2C174000     PUSH bingtang.0040172C                   ; ASCII "VB5!6&vb6chs.dll"
//VB的OEP,用OD插件DUMP,能运行,不需修复,收工
004013D5    E8 F0FFFFFF     CALL bingtang.004013CA                   ; JMP 到 MSVBVM60.ThunRTMain

原教程
FSG 2.0 手动脱壳 
作者:未知 来源:CnXHacker.Net 加入时间:2005-6-25  阅读次数:12665 

1.用Ollydbg载入
2.在API GetProcAddress 设置断点
3.F9运行程序
4.断点在GetProcAddress上,此时查看Olly的调用堆栈,找到在
在程序段内的调用地址,通常只有一处,双击来到类似下面的代码
004001C6 FF53 10 CALL NEAR DWORD PTR [EBX+10]
004001C9 95 XCHG EAX, EBP
004001CA 8B07 MOV EAX, DWORD PTR [EDI]
004001CC 40 INC EAX ; KERNEL32.77E60000
004001CD ^ 78 F3 JS SHORT 004001C2 ; FullScre.004001C2
004001CF 75 03 JNZ SHORT 004001D4 ; FullScre.004001D4
004001D1 FF63 0C JMP NEAR DWORD PTR [EBX+C]
004001D4 50 PUSH EAX ; KERNEL32.77E60000
004001D5 55 PUSH EBP
004001D6 FF53 14 CALL NEAR DWORD PTR [EBX+14]
004001D9 AB STOSD
004001DA ^ EB EE JMP SHORT 004001CA ; FullScre.004001CA
004001DC 33C9 XOR ECX, ECX
004001DE 41 INC ECX
004001DF FF13 CALL NEAR DWORD PTR [EBX]
004001E1 13C9 ADC ECX, ECX
5.注意其中的 JMP NEAR DWORD PTR [EBX+C]处,这里下断点,然后F9运行
6.中断在JMP NEAR DWORD PTR [EBX+C]处时,就是跳向OEP了
7.OllyDump Dump 就可以了,我试验了几个程序都可以.
 
1.GIF