首页
社区
课程
招聘
手脱ASPACK壳的一些疑问
发表于: 2007-1-23 18:08 4146

手脱ASPACK壳的一些疑问

2007-1-23 18:08
4146
  我是一个新手 今天在手脱ASPACK壳的时候与要一些问题 希望得到你们的帮助
我手脱的环境是WINXP  加壳的是记事本软件加的壳是ASPACK1.08 另外一个也是记事本 加的是Aspack 2.11的壳 用OD载入 来到
0040D000 >  60              pushad
0040D001    E8 00000000     call    0040D006
0040D006    5D              pop     ebp
0040D007    81ED 0A4A4400   sub     ebp, 444A0A
0040D00D    BB 044A4400     mov     ebx, 444A04
0040D012    03DD            add     ebx, ebp
0040D014    2B9D B1504400   sub     ebx, dword ptr [ebp+4450B1]
0040D01A    83BD AC504400 0>cmp     dword ptr [ebp+4450AC], 0
0040D021    899D BB4E4400   mov     dword ptr [ebp+444EBB], ebx
0040D027    0F85 17050000   jnz     0040D544
0040D02D    8D85 D1504400   lea     eax, dword ptr [ebp+4450D1]
0040D033    50              push    eax
在命令行输入 bp GetProcAddress 回车 F9

F2取消断点 Ctrl+F9返回 重复多次一直到Ctrl+F9返回到
0040D4DB    85C0            test    eax, eax ; shell32.DragFinish

再继续Ctrl+F9后直接来到OEP了 我测试了以上两个Aspack的版本 都是到了test    eax, eax这里再一次Ctrl+F9就到OEP了
这个知识一个巧合吗? 我想看看各位大侠的意见 先谢谢了

[课程]Android-CTF解题方法汇总!

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 44229
活跃值: (19955)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
2
aspack找OEP,可以从这句:
0040D027    0F85 17050000   jnz     0040D544  //按回车过去,再往下翻翻就会发现跳到OEP的代码。

另外,Aspack一个特点,就是在内存数据刚解压完时抓取出来,此时是最完美的,输入表、重定位表等都没破坏,不过你得修正PE头中的输入表地址。
2007-1-23 18:11
0
雪    币: 126
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
谢谢坛主给我的回复 我还是一个刚刚起步的新手 还要多向各位前辈学习 ^_^
2007-1-24 11:52
0
雪    币: 219
活跃值: (1634)
能力值: ( LV9,RANK:410 )
在线值:
发帖
回帖
粉丝
4
最初由 kanxue 发布
aspack找OEP,可以从这句:
0040D027 0F85 17050000 jnz 0040D544 //按回车过去,再往下翻翻就会发现跳到OEP的代码。

另外,Aspack一个特点,就是在内存数据刚解压完时抓取出来,此时是最完美的,输入表、重定位表等都没破坏,不过你得修正PE头中的输入表地址。

支持看雪老大
2007-1-24 17:20
0
雪    币: 846
活跃值: (221)
能力值: (RANK:570 )
在线值:
发帖
回帖
粉丝
5
是不是巧合,你可以通过不同版本相同的壳测试一下.然后再推广到其他壳

要注意GetProcAddress只需要一点关于输入表的知识就可以自己模拟,所以在该处下断找OEP不科学.
2007-1-24 17:30
0
游客
登录 | 注册 方可回帖
返回
//