刺激战场
  • 983阅读
  • 2回复

第14课 脱壳 ASPack [复制链接]

上一主题 下一主题
离线啊冲
 

只看楼主 倒序阅读 使用道具 楼主  发表于: 2016-05-09
查壳 ASPack 2.12 -> Alexey Solodovnikov
语言 Borland C++(Builder)[-]
程序是个播号软件(用来打骚扰电话吗?)   我们OD加载程序


005DF001 >  60              pushad
005DF002    E8 03000000     call teltel超.005DF00A

在右侧ESP寄存器处右硬件访问断点,来到这里

005DF3AF    61              popad                                    ; 这个就是恢复刚才的ESP
005DF3B0    75 08           jnz short teltel超.005DF3BA 代码变成数据了,我们删除分析004014E0   /EB 10           jmp short teltel超.004014F2               ; 这里是BC++的 OEP
004014E2   |66:623A         bound di,dword ptr ds:[edx]
004014E5   |43              inc ebx
004014E6   |2B2B            sub ebp,dword ptr ds:[ebx]
004014E8   |48              dec eax
004014E9   |4F              dec edi                                  ; ntdll.7C930228
004014EA   |4F              dec edi                                  ; ntdll.7C930228
004014EB   |4B              dec ebx
004014EC   |90              nop 现在就来脱壳,用OD的自带脱壳方式一就可以正常脱壳了,我们还是用LORDPE和IREC吧......

脱壳后程序不能运行(我这里出错),但这并不是自校验,而是BC++程序的特点。我们在原程序的 OEP下面的第一个CALL处,在里面的一JMP
数据窗口中找到地址0056E114,还要减去400000,结果是16E114,在IREC里填好OEP-14E0  RVA -16E114  大小-1000我们再将无效指针删除(我测试不删除也正常的),重新修复程序,就成功脱壳正常运行了。

记:这是一节脱壳教程,相比之前的课程难度突然增大了一些。而这节课也只脱壳不破解喽。
难度***


善者 慈悲心常在 无怨无恨 以苦为乐
默认压缩密码www.hifyl.com
文件分享密码问题:http://www.hifyl.com/read-htm-tid-4444.html
离线463058954

只看该作者 沙发  发表于: 2016-05-14
用户被禁言,该主题自动屏蔽!
离线cctva168

只看该作者 板凳  发表于: 06-10
突然就讲到ESP了但是ESP是什么也没讲难理解
快速回复
限100 字节
批量上传需要先选择文件,再选择上传
 
上一个 下一个