VMP学习笔记之壳基础(一)
本帖最后由 鱼无论次 于 2019-9-5 23:17 编辑【文章标题】: 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: = mov al, + inc esi 或则 mov al, + 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
使用到的资料打包:
链接: https://share.weiyun.com/5vkBktK (密码:52pj) 顶你出系列 老师辛苦了,继续关注! 谢谢老师分享 多多学习 支持大佬 支持师傅出系列 谢谢分享,学习一下 学习一下,感谢分享
页:
[1]