分析样本Lab18-01.exe到Lab18-05.exe。

15.1 Lab18-01

将程序拖入PEiD。

使用深度搜索,发现是UPX的壳。

拖入OD中进行脱壳。手动脱壳的目的就是找到OEP也就是程序的原始入口点,最常见的方法就是查找尾部跳转指令,一般是JMP指令,但是恶意代码的作者有时候也会选择return指令逃避检测。尾部跳转指令是一串无效字节前面的最后的一条有效指令,填充这些字节的目的就是保证区段中的对齐。
按F8手动执行代码,如果有向上跳转,那么我们在下一句命令下一个断点,然后运行到下一句。(或直接按F4)

找到尾部跳转指令的位置为0x409f43.在IDA中查看。

在OD中继续运行。

将代码提取出来。


取消重建输入表的选项,导出程序unpack.exe。
使用importREC导入程序。

修改OEP,点击自动查找IAT。


点击获取输入表。

说明已经成功了。

脱壳成功。

15.2 Lab18-02

载入OD,使用插件寻找OEP。

OD识别错误。


dump出程序。

使用impoortREC修复输入表。

脱壳成功。

15.2 Lab18-03

使用插件,查找一连串0签的ret无果后,使用esp定理查找。

存在pushad,自然也就会存在popad。

设置硬件断点。

找到oep。
接下来的操作是,dump出程序,使用importREC修复输入表。

15.3 Lab18-04

同样是使用ESP定律。

跳转到断点之后,继续运行几步就可以找到oep。

15.4 Lab18-05

同样是EXP定律,只不过有一个地方需要注意。

恶意代码分析实战 15 加壳与脱壳相关推荐

  1. MS08067 第一期 “恶意代码分析”实战班 正式开班~

    文章来源|MS08067安全实验室 恶意代码分析实战班 恶意代码分析的分类: 恶意代码分析也可作为单独的安全专业类别来看待,不过总体是偏逆向方向的,希望的受众是逆向相关的就行了,比如以前只会逆向但是不 ...

  2. 恶意代码分析实战Lab1

    第一章静态分析基础技术 恶意代码分析实战 恶意代码样本下载 1.1反病毒引擎扫描 1.2哈希值 1.3查找字符串 1.4加壳与混淆恶意代码 1.5PE文件格式 1.6链接库与函数 1.7静态分析技术实 ...

  3. 恶意代码分析实战-通过IDA对恶意代码进行静态分析(Lab05-01.dll)

    本文章为<恶意代码分析实战>的题目答案解析以及个人的一些理解,将通过一下问题对恶意代码Lab05-01.dll进行分析: D1lMain的地址是什么? 使用Imports窗口并浏览到get ...

  4. 恶意代码分析实战Lab03-01

    注:分析恶意代码一定要在安全的环境下,如与主机和外网隔离的虚拟机=>网络适配器选择主机模式或模拟一个与主机和外网隔离的虚拟网络:以及给拍个干净快照: 平台:博客园 恶意代码分析:虚拟网络环境配置 ...

  5. 学习笔记-第十四章 恶意代码分析实战

    第十四章 恶意代码的网络特征 1.网络应对措施. 网络行为的基本属性包括IP地址,TCP端口,以及流量内容等,网络和安全 设备可以利用它们,来提供网络应对措施.根据IP地址和端口,防火墙和路由器可以限 ...

  6. 《恶意代码分析实战》第3章 动态分析基础技术(课后实验Lab 3)

      一名网络空间安全专业学生学习本书过程中记录下所做实验,如有错误或有待改进的地方,还请大家多多指教. 第3章 动态分析基础技术(实验) Lab 3-1:使用动态分析基础技术来分析在Lab03-01. ...

  7. 学习笔记-第一章 恶意代码分析实战

    第一章 从可执行文件提取有用信息的多种方法,包括以下技术:1.使用反病毒软件来确认程序样本的恶意性:2.使用哈希来识别恶意代码:3.从文件的字符串列表,函数和文件头信息中发掘有用信息.字符串包括 AS ...

  8. 恶意代码分析实战Lab01-03,lab01-04

    分析lab01-03.exe,lab01-04.exe 先来看lab01-03.exe Q1.将Lab01-03.exe 文件上传至http://www. VirusTotal.com/进行分析并查看 ...

  9. lab1-1 恶意代码分析实战

    目录 一.实验问题 二.实验环境 三.实验步骤 1.使用VirScan - 多引擎文件在线检测平台扫描实验文件 2.使用PETools工具查看文件的编译时间 3.检查文件是否被加壳 4.查看导入函数 ...

最新文章

  1. R可视化绘制泊松分布(Poisson Distribution)
  2. 网站转化率做不好多半是这三大因素产生干扰
  3. 特种部队【动态规划】
  4. ASP.NET中常用输出JS脚本的类(改进版)
  5. css React 单行省略和多行省略
  6. c语言RePutDate用法,住宿结帐管理系统--C语言课程设计.doc
  7. 微软算法面试题(4)
  8. JavaScript-浅谈DOM事件流
  9. Java版进销存ERP管理系统源码
  10. Oracle如何卸载、清理干净
  11. HEVC/H.265与AVC/H.264对比总结
  12. 小米笔记本Ruby默认开启fn键如何解决方法步骤
  13. 小学计算机编程学什么,小学生编程都学什么
  14. 微信支付商户接入(一)
  15. 使用JsonParser流式解析json,并使用DataFrame进行矩阵转置。
  16. 彩色空间(Color Space)
  17. Understand安装与使用
  18. JavaScript DOM编程-佟刚-专题视频课程
  19. 2022年牛客网最热门爆火Java岗面试八股文汇总,“吃透”涨薪15k没问题
  20. r6220 虚拟服务器,R6220折腾记录 2021-06-15 最终还是刷了openwrt

热门文章

  1. Android组件化之组件通信
  2. Java 谈谈你对面向对象的理解?
  3. 树莓派Raspbian系统密码
  4. Activiti7审批流
  5. podman镜像管理
  6. 找到所有的农场(for循环模拟)
  7. python指数描述法_季节指数法的计算步骤
  8. 第三章 正则表达式括号的作用
  9. 内网渗透(八十一)之搭建Exchange服务器
  10. socket(四)–组播