脱壳 !EP(EXE PACK)1.2

0x1 查壳

将程序拖入!Exeinfo PE显示如下。
在这里插入图片描述
程序拖入OD
在这里插入图片描述
看到第一行有pushad指令,利用ESP定律,执行一步F8。ESP定律是典型的堆栈平衡,因为只要保存了所有寄存器的值都是要开始解密操作,等到解密完成后一般都会将所有初始化的寄存器值进行还原,即popad。所以我们只要在esp堆栈压入的最后一个数据那里设置硬件断点(因为堆栈式先进后出原则,esp现在指向的是压栈的最后的数据,还原时肯定会先从这块数据还原),当执行popad还原寄存器时的位置,一般这个指令位置都是解密后的数据。
所以我们右键选择数据窗口跟随
在这里插入图片描述
在esp指向的内存处设置硬件访问断点
在这里插入图片描述
让程序继续执行,发现断到popad下一条指令位置,可以清楚的看到mov edx,0x004271b0这条指令。这很明显是进入了用户进程的代码段了,按常理说就应该是个教大距离跳转,这往往就是程序从加密壳区段跳转到解密后的代码段的过程,跳转到用户进程的OEP。
在这里插入图片描述
继续向下执行,执行jmp edx指令,基本断定该处为OEP。
在这里插入图片描述
确定了OEP为0x4271b0后,接下来该进行内存Dump
在这里插入图片描述
接下来检查要Dump的内存OEP是否和目前OEP值相等,相等就点击脱壳按钮
在这里插入图片描述
Dump完成后接下来修复导入表
在这里插入图片描述
选择当前正在运行的程序
在这里插入图片描述
修改解密后的OEP
在这里插入图片描述
点击自动查询IAT表,也就是导入地址表。
在这里插入图片描述
接下来获取导入函数
在这里插入图片描述
转储导入函数表
在这里插入图片描述
在这里插入图片描述
转储之后会新生成一个脱壳文件,运行转储后的脱壳文件。脱壳成功。
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
脱壳是指将加壳的二进制文件还原为未加壳状态的操作。而exeinfo是一款用于查看PE文件信息的工具,可以用于查看被加壳的可执行文件的一些属性和特征。下面是脱壳并查看exe使用的一般步骤: 1. 确定目标文件:首先需要确定要脱壳的目标文件,可以是加壳的可执行文件。 2. 选择合适的脱壳工具:根据目标文件的加壳方式,选择适合的脱壳工具。市面上有很多脱壳工具可供选择,如:Unpacker、PEiD、OllyDbg等。 3. 运行脱壳工具:根据选择的脱壳工具的使用方式,将目标文件加载到脱壳工具中进行处理。 4. 进行脱壳操作:根据脱壳工具提供的功能,执行相应的脱壳操作。一般情况下,脱壳工具会自动识别出目标文件的加壳方式,并进行相应的解壳操作,将目标文件还原为未加壳状态。 5. 使用exeinfo查看文件信息:脱壳完成后,使用exeinfo工具打开目标文件,可以看到文件的基本信息,如文件大小、文件类型、文件头信息等。部分工具还可以查看更加详细的信息,如导入表、导出表、节表等。 通过查看exeinfo提供的信息,可以初步判断目标文件是用何种语言编写的。根据文件的标志和特征,可以判断出是否是使用C/C++、C#、Delphi等语言编写的。 需要注意的是,脱壳和查看文件信息都需要一定的技术和经验,对于安全研究人员和逆向工程师可能比较熟悉,但对普通用户来说可能有一定难度。同时,在进行这些操作时,请务必遵循相关法律法规,确保自己的操作在合法、积极的范围内。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值