脱壳2 (15PB pack)
脱壳2 (15PB pack)
脱壳回顾
1. 脱壳需要哪三步?
① 找原始OEP
② dump内存
③ 修复文件
2. 找OEP有哪些技巧?
① 特征定位
② 单步跟踪
③ ESP定律
3.脱壳upx、aSpack、nSpack
① 找OEP ESP定律
4.脱壳 FSG 2.0
① 找oep 单步跟踪 跳转到OEP代码: JMP DWORD PTR DS:[EBX+0xC]
② dump内存
③ 修复IAT FSG 2.0对内存中的IAT 进行了一些空隙填充,需要将其改为0
脱壳2 (15PB pack)
首先单步跟踪下,发现IAT被加密了,所以这是一个IAT加密壳
1.用PEID查看程序信息
如图可知这是VC6编译的,那入口点特征应该有sub esp,0x58,还有第一个API调用应该是GetVersion
2.找到入口点OEP
可以在GetVersion这个API上下断点,然后找到调用他的用户模块代码。也可以直接单步找到OEP,因为代码并不复杂,我选择直接单步。
F8走不了几步,就能找到一个jmp,这就是跳转到OEP的代码
3.获取写入IAT和得到IAT的地址
找到入口点后,可以观察到第一个call 是FF15,FF15或者FF25的call调用,一般都是IAT调用。
所以在第一个call 右键 选择数据窗口跟随,在内存窗口中下一个IAT的硬件写入断点
重新运行,按F9跑起来,第一次断下后,需要再按一次F9运行,随后点击15PB的壳窗口,就会进入加密代码块。上一行就是IAT写入的地方
单步跟踪几分钟,就能找到写入IAT上面第9行,xor eax, 0x15151515 这一行就是加密IAT地址的地方。
Ctrl+F2 重新调试,手动找到IAT加密后直接把加密的地方干掉,填充成IAT函数地址
F9运行,运行到OEP后就可以看到内存窗口全是API的地址了,说明IAT加密就被干掉了。
在OEP处dump内存,dump的时候取消重建导入表
打开impREC(小黄鸭)选取加壳进程后,修改OEP为9486后,点击自动查找IAT。 只会Size 一栏的数值只有270,需要把这个值扩大一点,我就扩大为1000
最后点击获取输入表,删除无效函数,然后转储到之前dump的文件。
大功告成!15PB pack 壳的链接
链接:https://pan.baidu.com/s/15-H5iZoshAohQ7-C-T6Y6Q
提取码:mgt6
脱壳2 (15PB pack)相关推荐
- 脱壳 !EP(EXE PACK)1.2
0x1 查壳 将程序拖入!Exeinfo PE显示如下. 程序拖入OD 看到第一行有pushad指令,利用ESP定律,执行一步F8.ESP定律是典型的堆栈平衡,因为只要保存了所有寄存器的值都是要开始解 ...
- EXE Pack ——脱壳
0x00 查看程序信息: 程序运行状态: 0X01调试器调试 一路F7,可以来到壳程序解密数据的代码,通过反汇编窗口可以实时的跟踪被修改的数据情况: 之后F7 进行单步调试,可以看到很多API函数的调 ...
- et199PHP,[原创]ET199带狗脱壳过程
2015-7-6 11:34 molebox解包应该完整了,我根据其他能运行的程序解包的,可能还是在于脱壳过程,我q:1930988 错误日志中应该是访问系统dll Direct3D: Version ...
- 最新UPX3.91-支持win64/PE-加/脱壳
前言 在CTF比赛中遇到加了UPX的x64程序,由于OD和IDA都不能动态调试,可以通过x64dbg进行手工脱壳,本文重点介绍UPX.通过http://upx.sourceforge.net/#dow ...
- 加脱壳、加解密、破解辅助及其源码
PE辅助工具 程序名称 作者 说明 PETool v0.45 beta MackT PE文件信息查看编辑工具,VC源码. PE Labs 1.0 Latigo PE文件信息查看工具,Win32ASM源 ...
- 《加密与解密》ASProtect 2.1x SKE 脱壳过程中遇到的问题与解决方法及脱壳小结
在学习<加密与解密>脱壳部分时,做了一次关于ASProtect的脱壳实验,但按照书上的步骤会报保护错误(Protect error).为了明白原因,我 继续往下深入.除了分析结果,以下还记 ...
- 手脱PE Pack v1.0
1.PEID查壳 PE Pack v1.0 2.载入OD,一上来就这架势,先F8走着 00403235 > /74 00 je short Pepack_1.00403237 ; //入口点 0 ...
- 什么是壳 - 脱壳篇01
什么是壳 - 脱壳篇01 让编程改变世界 Change the world by program 壳 在自然界中,植物用壳来保护种子,动物用壳来保护身体,我们人类没有壳,但我们有衣服,房子也起到了壳的 ...
- 风格化手绘纹理包 CGTrader – Stylized Mix Vol. 41 – Hand Painted Texture Pack
风格化手绘纹理包 CGTrader – Stylized Mix Vol. 41 – Hand Painted Texture Pack CGTrader–风格化混合第41卷–手绘纹理包 大小解压后: ...
最新文章
- 11-flutter事件监听
- MySQL Concurrency Problems
- CSDN如何居中对齐
- 100个高低压配电知识!网络弱电必备知识~
- html剧场座位设计图,如何设计剧院座位,21个细部案例
- 一个服务器端和多个客户端消息互发_python:OSError: [WinError 10022] 提供了一个无效的参数...
- CYYMysql 源码解读 4
- AI 改写《权力的游戏》结局,和编剧比谁更烂?
- C语言删除字符数组中指定的字符(C笔记)
- 使用tcpdump抓Android网络包
- 2022年全国大学生电子设计竞赛—TI杯模拟电子系统设计专题邀请赛X题
- greenplum如何删除segment节点
- Markdown 中的flow语法 flowchart.js 的基础教程
- Pygame 简单打字游戏
- 一步一步构建手机WebApp开发——页面布局篇
- navicat怎么备份数据和同步两个数据库
- oppo怎么打开科学计算机,OPPOr11的计算器怎么打开
- 年度总结 | 积跬步以至千里,2023一起筑梦新征程
- 【LeetCode 5-中等】最长回文子串(高清截图)
- 阿里云服务器环境配置
热门文章
- 深入计算机组成原理(十五)浮点数和定点数(上):怎么用有限的bit标识尽可能多的信息?
- Python Pandas 做数据分析之玩转 Excel 报表分析
- html框架页面不允许滚动条,关于html:使用iframe时如何摆脱双滚动条?
- 计算机方面QQ群介绍
- 软件测试(开发)工程师的核心竞争力是什么?
- 什么是前端的核心竞争力
- 痴人、信徒、先驱:Hinton、LeCun、Bengio 口述神经网络简史
- 常见密码泄露场景,防止密码攻破方法及几种加密算法
- Https请求报错:unable to find valid certification path to requested target
- vue里input根据value改变背景色