| 
注册时间2008-9-7
阅读权限30
最后登录1970-1-1UID56300 龙战于野 
 
 TA的每日心情|  | 开心 2024-8-15 13:22
 | 
|---|
 签到天数: 8 天 [LV.3]偶尔看看II | 
 
| 最后一次异常法脱:ASProtect 1.2  1.2c- Alexey Solodovnikov 
 前一段时间在一家餐厅打工,一直也没有学习破解,现在要写毕业论文了,又要碰电脑了,忍不住玩玩破解,玩壳子不行,找个软柿子捏捏,丑文奉上,偶的一点心得愿与大家共同分享*_*
 
 1.查壳:ASProtect 1.2 / 1.2c-> Alexey Solodovnikov;
 2.将目标程序载入OD,忽略所有异常,Shift+F9 N次,程序运行起来的时候记录下次数;
 3.重新加载程序,Shift+F9 N-1次,来到下面:
 
 (本程序在我这里Shift+F9 21次后运行起来,那么我们重新加载程序Shift+F9 20次):
 
 01407986    FF07               INC DWORD PTR DS:[EDI]     ; //Shift+F9 20次以后停在这里!
 01407988  ^ EB E8              JMP SHORT 01407972
 0140798A    E8 0B000000        CALL 0140799A
 0140798F    1BC0               SBB EAX,EAX
 01407991    F8                 CLC
 01407992    E9 0A000000        JMP 014079A1
 01407997    F8                 CLC
 01407998    23C6               AND EAX,ESI
 0140799A    98                 CWDE
 0140799B    13C0               ADC EAX,EAX
 0140799D    C3                 RETN                       ; //在这里下断点,Shift+F9运行到这里,然后取消断点,打开内存镜像,                                              在code段下断点,Shift+F9即可直接到达程序OEP!
 0140799E    C1E8 D3            SHR EAX,0D3                ; Shift constant out of range 1..31
 ----------------------------------------------------------------------------------------------
 00441AF0    55                        PUSH EBP                        ; //OEP is here!
 00441AF1    8BEC                      MOV EBP,ESP
 00441AF3    6A FF                     PUSH -1
 00441AF5    68 509E4400               PUSH FullScr3.00449E50
 00441AFA    68 8E1C4400               PUSH FullScr3.00441C8E          ; JMP to MSVCRT._except_handler3
 00441AFF    64:A1 00000000            MOV EAX,DWORD PTR FS:[0]
 00441B05    50                        PUSH EAX                        ; FullScr3.00441AF0
 00441B06    64:8925 00000000          MOV DWORD PTR FS:[0],ESP
 00441B0D    83EC 68                   SUB ESP,68
 00441B10    53                        PUSH EBX
 00441B11    56                        PUSH ESI
 00441B12    57                        PUSH EDI                        ; ntdll.7C930208
 ----------------------------------------------------------------------------------------------
 4.脱壳修复
 ①OD自带插件脱壳修复→能运行;
 ②LordPE转存修复→不能运行。
 5.查壳:Microsoft Visual C++ 6.0
 
 我的小问题:
 
 1.为什么用这样的方法就可以到达程序OEP,这里只是学习一下脱壳的方法,原理之类的东西不懂,希望有经验的前辈抽时间讲解一下;
 2.本程序用LordPE转存的话再修复,修复后的程序不能运行,用OD自带的插件脱壳修复能运行,不知道是怎么回事,望前辈指点;
 
 By:yAtEs 2010.4.18
 
 教程就到这里,谢谢大家观看!
 | 
 
x本帖子中包含更多资源您需要 登录 才可以下载或查看,没有账号?加入我们 
  |