脱壳第一讲,手工脱壳ASPack2.12的壳.ESP定律

      脱壳第一讲,手工脱壳ASPack2.12的壳.ESP定律

一丶什么是ESP定律

首先我们要明白什么是壳.壳的作用就是加密PE的.

而ESP定律就是壳在加密之前,肯定会保存所有寄存器环境,而出来的时候,则会恢复所有寄存器的环境.

这个就成为ESP定律.(当然我个人理解.可能有更好的理解,请下方评论,我会更改)

pushad的时候,肯定所有寄存器入栈.

二丶利用工具脱掉ASPACK2.12的壳

首先,我们找一个带壳的工具,利用PEID查壳.查看是什么壳.

 

 

OD附加进程.

 

 

可以看出,一开始就已经pushad (保存所有寄存器环境)了,那么只需要找到popad的位置即可.

思路:

       因为pushad的时候,所有寄存器传参,当popad的时候,肯定会修改寄存器的值

所以在栈中下硬件访问或者硬件写入断点.

先F8走一步,看栈

 

 

看得出,所有寄存器已经入栈了.所以我们在数据窗口中,输入栈地址.(保存寄存器的栈地址,随便哪个都可以)然后下硬件访问断点.

 

 

我是定位到栈顶的位置,12ffa8的位置,当然也可以是下边的.

下硬件访问或者硬件写入断点.

 

 

然后F9运行起来.发现会断下来.

 

 

这个地方则是出来的地方,那么ASPack的壳有一个特征,就是出来之后会跳转,然后有两个ret

因为程序是32位程序,所以我们要放到32位的虚拟机里面去脱壳.

然后我们继续F8跟随.一直跟随到一个JMP位置,这个地方就是OEP了.

 

 

然后我们使用OD的插件去脱壳, 这个插件是修复PE的导入表的.可以直接利用.

 

 

然后点击脱壳即可,如果没有这个工具,你需要自己手动解析PE,然后重建导入表才可以.

默认选择方式1

脱壳之后,查看是否还有加密.

 

 

 没有pushad保存寄存器环境了,已经成功脱壳.

 

 课堂代码资料: 链接:http://pan.baidu.com/s/1skKYA5n 密码:2di6

 作者:IBinary
出处:http://www.cnblogs.com/iBinary/
版权所有,欢迎保留原文链接进行转载:)

注意,一定是在32位系统下脱壳.

转载于:https://www.cnblogs.com/iBinary/p/7726721.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
<br> <img src=DownloadFilesother_activeximagesaspack_scr1.gif><br> <br> ASPACK 2.12 是高效的Win32可执行程序压缩工具,能对你开发的32位Windows可执行程序进行压缩,使最终文件减小达70%!<br> <br> ASPACK 在ZIP压缩格式工业标准的基础上进行改进,压缩率提高了10%~%20, ASPACK使Windows 95/98/NT下运行的程序文件和库文件变的更小,减少了文件在网络中的传输时间和通过因特网下载的时间,并可以保护开发出来的程序不受黑客的破解或攻击。用ASPack压缩的程序将自动包含所有的程序文件,保证和不压缩前一样顺畅高效地执行。<br> <br> ASPACK的程序界面如下(点击可放大):<br> <br> <img src=DownloadFilesother_activeximagesaspack_scr2.gif border="0"> <img src=DownloadFilesother_activeximagesaspack_scr3.gif border="0"> (1)程序主界面 (2)压缩过程 <br> <br> ASPACK的关键特色: 能够对可执行程序(EXE、DLL、OCX)进行高效率的压缩; 能够对程序的代码、数据、资源文件等进行编码和压缩; 简单明了的操作界面,对预压缩的程序自打包功能,并支持长文件名; 其快速高效的压缩算法是别的压缩程序无法比拟的; 可以直接完全地集成到Windows操作系统中,非常易于使用; 完全支持Windows 95、Windows 98、Windows NT/2000/XP操作系统。 ASPACK 的优势: 可将执行程序文件的大小平均减少40%~70%; 减少了文件在网络中的传输时间和通过因特网下载的时间; 使Windows应用程序需要的存储空间变得更少; 保护源代码不受到偷看、破解、反编译等破坏; 对最终的压缩文件的发布不按执行次数来收取版税。 ASPACK 完全兼容Microsoft Visual C++、Visual Basic、Inprise (Borland) Delphi and C++ Builder及其它的Win32开发工具。<br><br>

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值