UPS、AsPack压缩壳介绍:

   UPX 、AsPack是一款先进的可执行程序文件压缩器。压缩过的可执行文件体积缩小50%-70% ,这样减少了磁盘占用空间、网络上传下载的时间和其它分布以及存储费用。 通过压缩过的程序和程序库完全没有功能损失,和压缩之前一样可正常地运行。对于支持的大多数格式没有运行时间或内存的不利后果。

  
    压缩的原理是什么呢?

压缩就好像把 可执行文件中的 123456 用字母%A代替,789ABC用字母%C代替,这样程序代码的体积不久变小了很多。(要是可以这样压缩,这不都只有三分之一了,好机智)。

  实际上现在网络有很多UPX、Aspack脱壳器,但是入门学习一定要从头学习手动脱壳,学习原理,我会将我近期学习到的4种方法总结于本文。

    首先使用PEiD或者EXEInfoPE查壳,这里我使用PEiD。

  

  可见此程序加的是UPX壳,接下来我们手动将它脱掉。

    1、单步跟踪法

     此方法是将向上跳转设置断点让它不能实现,向下跳转不执行动作让它实现。

  

    将程序拖入OP,可以看到Pushad是这个程序的入口点。接下来按F8(单步步过)或者点击此按钮即可。

    单步跟踪法是将向上跳转设置断点,所以我们就用F8逐一的找向上跳转。

    红色椭圆框住的就是向上跳转,每当遇见的时候通常我们都在下一句设置断点,所以我们可以直接在下一句(即红色矩形框框住部分)按F4,逐步向下寻找。

    这个跳转因为下一句是一个“CALL”所以我们在CALL下面的一句设置断点。这里注意一下popad。这个是“出站口”,注意到前面pushad是“入站口”,有入站口就会有出站口即popad。再看popad下面的语句,98E1EFFF,0047738C,这个跨度比较大,典型的Delphi程序,一般再单步步进一次就可以进入到程序的真正程序段。

  

  接下来我们进行脱壳,可以直接用OD脱壳插件脱壳,右键用OllyDump脱壳调试进程。

  可以用方式1,也可以用方式2,都可以进行脱壳。

  

   2、ESP大法

    ESP大法相比于单步跟踪法来说简便,利用寄存器ESP的值来进行脱壳。

     首先来看程序入口点,关键语句Pushad。

     ESP大法是在关键语句的下一句如果ESP颜色突变进行操作,我们来看一下下一语句的ESP。

     这里我们看到寄存器里只有ESP是红色的,那我们就可以操作了。右键数据窗口中跟随。

     在数据窗口中进行如下操作,word Dword都可以。

     然后我们F9运行,来到了我们刚才熟悉的界面,单步步进,来到了主程序程序段,脱壳即可。

     3、内存2次镜像法

      

      点击m进入内存界面,接下来我们找在内存中的本程序段的.rsrc,F2设置断点,运行。

      

      所谓2次镜像法就是要进行2次内存操作,接下来我们再点m进入内存信息界面,找到地址00401000,F2设置断点,运行。又来到了我们熟悉的语句popad,设置断点,单步步进,脱壳。

      4、一步直达法

      此方法适用于UPX,Aspack壳,前面说过pushad为入口点,那么它必定有一个出口点popad,所以我们只需要Ctrl+f查找popad即可。

转载于:https://www.cnblogs.com/Ryancxyxx/p/8242093.html

逆向学习第二天如何手动脱UPX、Aspack壳相关推荐

  1. 【原创】脱UPX加壳的notepad.exe

    [文章标题]: 脱UPX加壳的notepad.exe [文章作者]: 微微虫[S.T.C][DCT] [作者邮箱]: ]nuxgod@163.com [作者主页]: http://wwcgodsoft ...

  2. 手动脱Mole Box壳实战总结

    作者:Fly2015 这个程序是吾爱破解脱壳练习第8期的加壳程序,该程序的壳是MoleBox V2.6.5壳,这些都是广告,能够直接无视了.前面的博客手动脱Mole Box V2.6.5壳实战中已经给 ...

  3. 用ollydbg手脱UPX加壳的DLL

    用Ollydbg手脱UPX加壳的DLL 作者:fly [目标程序]:UPX加壳的EdrLib.dll.附件中还有输入表.重定位数据.UPXAngela以及UnPacked以供参考.        [作 ...

  4. 手动脱UPX壳的几种方法

    UPX是一种常见的压缩壳.通过PEID检测到是UPX的壳的话,可以用如下四种方式来脱壳: 单步跟踪法.ESP定律.内存镜像法.POPAD查找法. 1.单步跟踪法.就是使用ollydbg(简称OD)加载 ...

  5. 手脱UPX壳的几种方法

    最近在研究各个壳的脱壳方法,有些心得,和大家分享一下如何手脱UPX的壳 我们的流程是 PEID查壳 得知壳的形式为 UPX 0.89.6 - 1.02/ 1.05 - 2.90 -> Marku ...

  6. 逆向学习1:52pojie第二课

    52pojie第二课 去广告.弹窗及主页锁定 例子一 1.脱壳 2.C32asm搜索字符串 3.OD 例子2 脱壳 OD 去广告.弹窗及主页锁定 所用到的windows API: 1.消息框 Mess ...

  7. 逆向-新年快乐(UPX加壳)-学习笔记

    先用IDA打开 查看段信息 UPX加壳了. 用Ollydbg调试: 从内存视图,UPX0入口调试,设置内存访问断点,进入CPU视图,F9运行. 不知如何跳转(应该在另一个段中): 设置断点: F9运行 ...

  8. [免费专栏] Android安全之静态逆向APK应用浅析「手动注入smali」+「IDA Pro静态分析so文件」+「IDA Pro基础使用讲解」

    也许每个人出生的时候都以为这世界都是为他一个人而存在的,当他发现自己错的时候,他便开始长大 少走了弯路,也就错过了风景,无论如何,感谢经历 Android安全付费专栏长期更新,本篇最新内容请前往: [ ...

  9. RE入门之脱壳——手脱UPX壳

    很多加了壳的软件是很难逆向分析的,需要手脱.下面以UPX壳为例简单介绍一下如何手动脱壳 需要工具:x64dbg. 以buuctf中re的新年快乐为例 拿到程序以后使用x64dbg打开. F9运行到程序 ...

  10. c++ vector 一部分_C++逆向学习(二) vector

    此文为原创文章 作者:ret2nullptr@先知社区 恭喜作者获得 价值100元的天猫超市享淘卡一张 欢迎更多优质原创.翻译作者加入 ASRC文章奖励计划 欢迎多多投稿到先知社区 每天一篇优质技术好 ...

最新文章

  1. 5s的app显示无法连接服务器,苹果5s无法连接app store解决方法汇总
  2. joda time, jackson 与 scala 反射
  3. 客服人员控制台Console,Salesforce Service Cloud的核心
  4. 数据结构——绪论以及线性表的顺序表示
  5. apache 配置文件内使用 8080 端口_【SpringBoot 框架】- SpringBoot 配置文件
  6. 包头昆区多大面积_包头地铁“胎死腹中”,何时“卷土重来”?
  7. java快捷键设置sop,今日工作总结|sop整理
  8. linux 黑苹果 win7双系统,学习笔记:安装黑苹果和win双系统(基础篇)
  9. C#编程,byte 与 int 相互转换
  10. matlab中nc值是什么意思,科学网-.nc数据读取详细资料matlab2010a及后面的版本-张凌的博文...
  11. 设计模式实例php,PHP三种设计模式实例教程
  12. linux 注释批处理,Linux_批处理 正则表达式(findstr) 整理,语法 findstr [/b] [/e] [/l] [/r] [/s] - phpStudy...
  13. 7 展讯Sprd设置-电池-关联自启动-跟踪代码
  14. 关闭防火墙之后docker要重启,不要问,问就是坑
  15. win7系统提示未识别网络无Internet访问,169.254.x.x
  16. 用JavaScript七夕表白,旋转的爱情魔方!
  17. 官宣了!大杀四方的 Master 就是阿尔法狗
  18. thinkphp 重构
  19. 这半年没批版号了,那些手游是怎么通过广电审核这一关并成功上架的?
  20. 字节跳动宣布以每股155美元回购员工期权 较上一轮上涨9%

热门文章

  1. ADC0804工作原理及过程
  2. 程序员版--致青春(一)——facejoking刷票工具(谈刷票原理)
  3. 计算机桌面个性化怎样设置方法,终于知晓如何设置个性化电脑桌面?
  4. 2021年茶艺师(中级)考试总结及茶艺师(中级)证考试
  5. 为什么一打电话就显示服务器故障,手机打电话黑屏怎么回事?手机打电话时出现黑屏情况的解决办法介绍...
  6. 基于halcon的HSV颜色匹配实例
  7. 无盘Linux详解:硬盘启动Knoppix的前前后后
  8. 程序语言的自我意识与仿他意识
  9. php mysql常见面试题_PHP常见面试题总结
  10. 12个用一条语句写成的有关日期函数