分析样本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. Android进阶:十三、自定义类加载器加载加密类文件
  2. 教育部最新通知,中高考又有大变化,学生欲哭无泪,家长炸锅了
  3. 3.7 代码注释和编码规范
  4. 当Java、C++、Python等编程语言都变成妹子。。。
  5. python3字符串属性(二)
  6. java类加public和不加public
  7. oracle分区表学习及应用
  8. lu分解 百度百科
  9. 网络安全——钓鱼邮件和网站克隆
  10. 手机手写签名 php,jSignature手写签名
  11. 苹果手机验真假_简单三步教你辨别苹果二手机,识别率高达99%,特别适合新手
  12. UE4 讯飞语音识别插件
  13. 如何将标准地图服务中的eps格式中国地图应用到论文中带审图号的地图制作?(二)
  14. 基于流式输入输出 使用Java借助GSON库 实现对大型asc文件的读入解析 并输出为JSON文件
  15. html如何写图片路径?
  16. oracle控制文件的复用,ORACLE 10g ASM 控制文件多路复用
  17. SPH物体漂浮模拟 之 波海泛舟
  18. 验证darknet中前处理做图像缩放(双线性内插值法)scale的算法效果
  19. 网络安全:六种常见的网络攻击手段
  20. 交换机进阶配置 、 路由器组网 、 企业网架构

热门文章

  1. 职场委屈,怎么应对?
  2. Android开发 javah,adb使用
  3. CSS3 网格布局(grid layout)基础知识 - 隐式网格自动布局(grid-auto-rows/grid-auto-columns/grid-auto-flow)
  4. 育碧计划新风格的游戏开发
  5. Python实现人脸识别检测, 对美女主播照片进行评分排名
  6. mysql建库语句 最简单最常用语句
  7. Jetpack组件Room简单Demo
  8. 【数值分析】学习笔记目录
  9. 利盟Lexmark Prevail Pro708 一体机驱动
  10. 林志玲夜刷网易副本 闷骚IT男女倾巢出动