格式化字符串漏洞简介
2019-08-12 22:56:31 Author: bbs.pediy.com(查看原文) 阅读量:147 收藏

[分享]VMP学习笔记之壳基础流程(一)

3天前 389

【文章标题】: Vmp1.21学习笔记
【文章作者】: 黑手_鱼
【软件名称】: Vmp1.21
【下载地址】: 自己搜索下载
【加壳方式】: UPX 0.89.6 - 1.02 / 1.05 - 2.90 (Delphi)
【编写语言】: Borland Delphi 4.0 - 5.0
【操作平台】: win7 32位
【作者声明】: 以看雪作者waiWH的VMP还原系列为参考原型逆向分析
--------------------------------------------------------------------------------
【详细过程】
  章节目录:
  第一章内容:
  主题:壳的基本操作
  1、读取PE结构信息
  2、增加区段

  3、根据加密等级选择不同的框架

  第二章内容:
  主题:Opcode快速入门
  1、了解Opcode解析过程
  2、辅助第三章解析Opcode引擎而编写的

  3、无脑查表就对了

  第三章内容:
  主题:反汇编引擎框架学习
  1、看懂第二章就看得懂第三章

  2、无脑查表就对了

  第四章内容:
  主题:壳的初始化与Handle块优化
  1、去掉无用的Handle块(不重要)
  2、指令的等级变换
  3、部分指令变形
  4、汇编的多变性
  例如;
  jmp = push + retn  或则  lea + jmp

  lods byte ptr ds:[esi] = mov al,[esi] + inc esi 或则 mov al,[esi] + add esi,1

  第五章内容  :

  主题:壳的重定位修复(未完成)

  第六章内容 :

  主题:壳的伪代码生成与排序等等(未完成)

  第七章内容  :

  主题:万用门介绍(未完成)

  第八章内容:
  主题:Vmp壳的实现或则去混淆插件(不打算写了感觉太麻烦了)
 
--------------------------------------------------------------------------------

                                                       2019年08月09日 23:31:16

说明:

1、加壳机的壳是秒杀壳,自行百度

2、HelloASM.exe是测试demo

3、保护全关

正文:

0、基础知识之加壳基本套路:

1、读取PE信息

2、添加区段

3、修复重定位

4、获取壳需要使用的API(PEB那一套)

1、读取PE基本信息

定义的结构如下:

2、获取到壳要的各种API(这里没怎么看)

3、将用户要VM的Opcode进行解析(这个后面有详细说明)

4、如何定位到加密按钮

1、使用DarkDe4.exe

2、分析的设置是保护全关,所以ProtectOptions = 8

3、分析关键函数sub_4A3414(最核心的函数)

5、sub_4A3414函数分析

1、偏移到新区段的起始地址

2、判断RVA合法性


3、内存对齐后的总大小


4、根据保护等级选择使用哪个壳模板,并设置区段保护属性

5、壳模板一共有6个

6、我们使用的是474974,到这里这篇章节就完成了

下一篇内容解析Opcode

[招聘]欢迎市场、营销人员加入看雪学院团队!

最后于 2天前 被黑手鱼编辑 ,原因:


文章来源: https://bbs.pediy.com/thread-253673.htm
如有侵权请联系:admin#unsafe.sh