其实对于简单的壳来说,脱壳常用的方法也无非是那几种,但是每种有每种的好处,具体使用那种方法视情况而定,我今天学习的这个壳很简单,但是重点在于修复IAT。

一、查壳:

FSG 2.0的壳。

二、脱壳:

上篇随笔所说的3种方法都可以使用,单步法,内存2次镜像,ESP,这里内存2次镜像我们发现没有.rsrc区段,所以我们可以直接从地址为00401000的地方下断点,运行。

脱壳过程这里就不再赘述,最后来到OEP进行脱壳。

看这个特征可以看得出,我们最近脱壳的程序的OEP特征全是这样,典型的VC++程序,我们需要记住这个特征,以及其他的编程软件的特征,在第一篇随笔有写过。

这里我将介绍第三种脱壳方式LordPE,以及修复软件ImportREC。

首先打开LordPE,选择进程,右键修复一下镜像大小,养成这个好习惯,再右键完整转存即可,就完成了脱壳。

然后我们用ImportREC来修复一下软件。

首先用REC选择一下进程,然后在OEP填写A860,可以看到我们OEP起始地址就是0040A860,所以我们只需要填写一下A86D,然后点击获取输入表他就可以自动获取。

看一下有没有无效函数,如果有无效函数删除指针后转存,没有的话直接转存修复。

我们再来查一下壳。

壳已经脱掉,VC++写的软件,我们发现脱完壳修复完竟然打不开。

好,本文的重点来了,手动修复IAT。

首先我们在OEP下随意找一个类似的CALL。

我们发现425210地址减去基址400000,25210在REC查找的函数里是存在的,一模一样,所以我们利用这个来修复IAT,

我们在输入命令 d 425210 在数据窗口跟随

向上寻找,一直找到没有指针或者地址全为0的地方。再向下寻找,找到指针结束,记录一下结束前的指针地址。

然后我们用ImportREC修复

选择进程——OEP A86D 自动查找IAT——获取输入表

接下来我们在RVA的位置输入开始的指针地址,00425000 减去 基址00400000 得到 25000,就在RVA的位置输入25000。

在Size位置输入范围,即结束指针地址减去开始指针地址,00425280 减去 00425000 得到280,就在Size位置输入280。然后获取输入表。

显示一下无效函数,然后剪切指针,转存到文件即可。

查一下壳,可以打开。

其实REC修复的时候Size可以直接填1000,然后剪切无效指针,都一样都一样。

<逆向学习第三天>手动脱FSG壳,修复IAT。的更多相关文章

  1. 手动脱FSG壳实战

    作者:Fly2015 对于FSG壳.之前没有接触过是第一次接触.这次拿来脱壳的程序仍然是吾爱破解论坛破解培训的作业3的程序.对于这个壳折腾了一会儿,后来还是被搞定了. 1.查壳 首先对该程序(吾爱破解 ...

  2. <逆向学习第二天>如何手动脱UPX、Aspack壳

    UPS.AsPack压缩壳介绍: UPX .AsPack是一款先进的可执行程序文件压缩器.压缩过的可执行文件体积缩小50%-70% ,这样减少了磁盘占用空间.网络上传下载的时间和其它分布以及存储费用. ...

  3. 手动脱WinUpack 壳实战

    作者:Fly2015 吾爱破解培训第一课选修作业第6个练习演示样例程序.不得不反复那句话,没见过这样的壳,该壳是压缩壳的一种,相对于压缩壳,加密壳的难度要大一些.特别是IAT表的修复问题上. 首先分别 ...

  4. 手动脱RLPack壳实战

    作者:Fly2015 吾爱破解论坛培训第一课选修作业练习的第7题. 这个壳没听说过.可是脱起来比較简单.依据ESP定律就可以直达光明,Dump出原来的程序. 老规矩.首先对须要脱壳的程序进行查壳处理. ...

  5. 填坑专记-手脱FSG壳

      妈呀,脱FGS壳真的是坎坷颇多,多亏吾爱破解前辈们的帮忙.我一定要记录下来,省的以后再无法解决.   已经查看是FSG壳了.找到入口也容易了.重点就是脱壳并修复好它. 脱壳   OEP为:   使 ...

  6. 手动脱NsPacK壳实战

    作者:Fly2015 这里脱壳的程序是吾爱破解培训的作业2,相较于作业1略微要强一点,可是仅仅要掌握了脱壳的ESP定律,脱这个Nspack壳并不难.只是还是蛮有意思的. 1.使用查壳软件对加壳的程序进 ...

  7. 手动脱UPX 壳实战

    作者:Fly2015 Windows平台的加壳软件还是比較多的,因此有非常多人对于PC软件的脱壳乐此不彼,本人菜鸟一枚,也学习一下PC的脱壳.要对软件进行脱壳.首先第一步就是 查壳.然后才是 脱壳. ...

  8. 手动脱ORiEN壳实战

    作者:Fly2015 ORiEN这种壳之前没有接触,到底是压缩壳还是加密壳也不知道,只能试一试喽.需要脱壳的程序是吾爱破解脱壳练习第7期的题目. 首先对加壳程序进行查壳,这一步也是程序脱壳的必要的一步 ...

  9. 手动脱UPX压缩壳

    示例程序演示 样例程序选择win7自带的notepad.exe,该程序原本是没有加壳的: 拷贝notepad.exe文件一个副本,重命名为notepad - upx.exe,我们对notepad - ...

随机推荐

  1. Java集合篇五:HashMap

    1.HasMap 自定义基础版 package com.test.collection; /** * 自定义实现Map功能 * map :存放键值对,根据键对象找对应的值对象 * @author ch ...

  2. angular2-响应式表单

    响应式表单是同步的.模板驱动表单是异步的.这个不同点很重要 使用响应式表单,我们会在代码中创建整个表单控件树. 我们可以立即更新一个值或者深入到表单中的任意节点,因为所有的控件都始终是可用的. 模板驱 ...

  3. 沙箱模式的chrome浏览器的运行

    getUserMedia在chrome 47后已经不可以从非安全源访问(Insecure Origins),但测试搭建apprtc时服务器一般没有添加HTTPS安全验证,chrome就没有权限访问麦克 ...

  4. CSS3媒体查询总结

    1.什么是媒体查询 媒体查询可以让我们根据设备显示器的特性(如视口宽度.屏幕比例.设备方向:横向或纵向)为其设定CSS样式,媒体查询由媒体类型和一个或多个检测媒体特性的条件表达式组成.媒体查询中可用于 ...

  5. iDempiere 使用指南 库存出入库研究

    Created by 蓝色布鲁斯,QQ32876341,blog http://www.cnblogs.com/zzyan/ iDempiere官方中文wiki主页 http://wiki.idemp ...

  6. 【IOS】Mac和IOS开发资源汇总

    本文主要汇集一些苹果开发的资源,会经常更新,建议大家把这篇文章单独收藏(在浏览器中按**command+D**). 今天收录了许多中文网站和博客.大家一定要去感受一下哦. 如果大家有知道不错的站点,可 ...

  7. 爬楼梯C++

    class Solution {public: /** * @param n: An integer * @return: An integer */ int climbStairs(int n) { ...

  8. mantis统计报表和图形报表出现乱码问题的解决方法

    Mantis 报表中文乱码 1.安装Mantis图表 1.0插件 administrator登录-------管理------插件管理,安装插件 2.上传字体simhei.ttf  simsun.tt ...

  9. Cloud Foundry和微服务Meetup重磅来袭

    CF 同学们: Cloud Foundry 2016 上海 Meetup 将在10月22日在上海港汇广场进行! 想要参会的小伙伴,请直戳  ~ 在过去的一年,CF 的技术有很多进展,微服务也是2016 ...

  10. vue v-on:事件

    1.js代码 var box=new Vue({ el:'.box', data:{ msg:'hello' }, methods:{ /*方法放置区,函数*/ show:function(){ // ...