首页
社区
课程
招聘
[原创]笨笨菜菜脱壳练手之四Aspack212b
发表于: 2006-10-6 18:49 3709

[原创]笨笨菜菜脱壳练手之四Aspack212b

2006-10-6 18:49
3709
[菜菜打杂]笨笨菜菜脱壳练手一之Aspack212b

【破解作者】 EasyStudy

【作者邮箱】 PhantomNet@163.com

【使用工具】 ODICE,LordPE,ImprotREC16F

【破解平台】 Win9x/NT/2000/XP

【软件名称】 Aspack212b标准加壳的win98记事本程序

【加壳方式】 Aspack212b标准加壳

【破解声明】  我是只菜菜鸟,技术不高给新手和想学脱壳的给个示范,希望共同学习!

声明:我是在大大们的基础资料上学习的,谢谢大大们!

1.代码分析:
//OD进入在这里:
004A3001 >  90              NOP
004A3002    60              PUSHAD    //看到压载..一定有POPAD..
004A3003    E8 03000000     CALL nopad.004A300B  //我们从这里下手..
004A3008  - E9 EB045D45     JMP 45A734F8
004A300D    55              PUSH EBP
004A300E    C3              RETN     //但是这里就返回了程序运行了..

2.F7跟进来看:
004A300B    5D              POP EBP                                  ; nopad.004A3008
004A300C    45              INC EBP
004A300D    55              PUSH EBP
004A300E    C3              RETN

返回....没看到POPAD..不管继续F7

3.F7跟到
004A300F    E8 01000000     CALL nopad.004A3015
004A3014    EB 5D           JMP SHORT nopad.004A3073
004A3016    BB ECFFFFFF     MOV EBX,-14
004A301B    03DD            ADD EBX,EBP
004A301D    81EB 00300A00   SUB EBX,0A3000
004A3023    83BD 22040000 0>CMP DWORD PTR SS:[EBP+422],0
004A302A    899D 22040000   MOV DWORD PTR SS:[EBP+422],EBX
004A3030    0F85 65030000   JNZ nopad.004A339B
004A3036    8D85 2E040000   LEA EAX,DWORD PTR SS:[EBP+42E]

一整大段...哈哈....我们往下找找看有没有POPAD
没看到RETN都是这段代码的
004A338D    83C6 14         ADD ESI,14
004A3390    8B95 22040000   MOV EDX,DWORD PTR SS:[EBP+422]
004A3396  ^ E9 EBFEFFFF     JMP nopad.004A3286
004A339B    B8 CC100000     MOV EAX,10CC   //这里的10CC不是OEP吗??
004A33A0    50              PUSH EAX
004A33A1    0385 22040000   ADD EAX,DWORD PTR SS:[EBP+422]
004A33A7    59              POP ECX
004A33A8    0BC9            OR ECX,ECX
004A33AA    8985 A8030000   MOV DWORD PTR SS:[EBP+3A8],EAX
004A33B0    61              POPAD   //这里有个POPAD...哈哈
004A33B1    75 08           JNZ SHORT nopad.004A33BB
004A33B3    B8 01000000     MOV EAX,1
004A33B8    C2 0C00         RETN 0C

我们在这里看到了返回....
在004A339B下断点..SHIFT+F9来到...再F8跟到:
004A33BB    68 CC104000     PUSH nopad.004010CC
004A33C0    C3              RETN  //这里一下就返回到了OEP....

看到了OEP了吧...嘿嘿...先把程序DUMP出来...
004010CC    55              PUSH EBP
004010CD    8BEC            MOV EBP,ESP
004010CF    83EC 44         SUB ESP,44
004010D2    56              PUSH ESI
004010D3    FF15 E4634000   CALL DWORD PTR DS:[4063E4]               ; kernel32.GetCommandLineA
004010D9    8BF0            MOV ESI,EAX
004010DB    8A00            MOV AL,BYTE PTR DS:[EAX]
004010DD    3C 22           CMP AL,22
004010DF    75 1B           JNZ SHORT nopad.004010FC
004010E1    56              PUSH ESI
004010E2    FF15 F4644000   CALL DWORD PTR DS:[4064F4]               ; USER32.CharNextA
004010E8    8BF0            MOV ESI,EAX
004010EA    8A00            MOV AL,BYTE PTR DS:[EAX]
004010EC    84C0            TEST AL,AL
004010EE    74 04           JE SHORT nopad.004010F4
004010F0    3C 22           CMP AL,22
004010F2  ^ 75 ED           JNZ SHORT nopad.004010E1
004010F4    803E 22         CMP BYTE PTR DS:[ESI],22
004010F7    75 15           JNZ SHORT nopad.0040110E
004010F9    46              INC ESI
004010FA    EB 12           JMP SHORT nopad.0040110E
004010FC    3C 20           CMP AL,20
004010FE    7E 0E           JLE SHORT nopad.0040110E

4.用LOADPE把程序DUMP.再用IMPREC把IAT表修正搞定....

[课程]Linux pwn 探索篇!

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
刚刚学习脱壳拿ASPCAK练手 发现ASPCAK加的壳一些程序手脱后修复输入表后可以正常运行 有些则不行 不知道LZ有没遇到这样的事 另外用ASPACKDIE脱出来的都可以运行 真是很郁闷 分析了半天无果而终 看样子菜鸟路漫漫
2006-10-6 21:17
0
雪    币: 1667
活跃值: (286)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
3
我目前没哟碰到....如果碰到了..我解决了..我会发出来的..
可是没碰到哦....
2006-10-6 21:44
0
游客
登录 | 注册 方可回帖
返回
//