手脱FSG 2.0 -> bart/xt
声明:
只为纪录自己的脱壳历程,高手勿喷
1.在入口的第二行ESP定律下硬件断点然后F9运行8次(因为第9次就跑飞了)
0040955C > pushad
0040955D EB jmp short UnPackMe. //ESP定律F9运行8次
0040955F 625CE9 F1 bound ebx,qword ptr ds:[ecx+ebp*-0xF]
87EB xchg ebx,ebp
EB jmp short UnPackMe.0040956A
^ E0 BB loopdne short UnPackMe.
2.ESP定律后的落脚点
0040B186 push ecx //ESP8次的落脚点,然后F8往下跟
0040B187 87D9 xchg ecx,ebx
0040B189 inc eax
0040B18A dec eax
0040B18B 87D9 xchg ecx,ebx
0040B18D 83C4 add esp,0x4
0040B190 8B6C24 mov ebp,dword ptr ss:[esp+0x24]
3.然后单步,注意点:
①带数字的CALL用F7跟进
②不带数字的CALL直接F8步过
③尽量使用F2,shift+F9,F2来下断运行,因为我常使用F4的时候会跑飞
路上需要注意的下断 地方一:
^\ FA jnb short UnPackMe. //在这个跳转的下一行下断
0040017B 3A jnz short UnPackMe.004001B7 //这是一个向下的跳转
0040017D AA stos byte ptr es:[edi]
0040017E ^ EB E0 jmp short UnPackMe. //在下一行CALL下断点
FF53 call dword ptr ds:[ebx+0x8]
路上需要注意的下断 地方二:
004001CF / jnz short UnPackMe.004001D4//这个向上跳转下面下断点
004001D1 -|FF63 0C jmp dword ptr ds:[ebx+0xC] //因为这一行直接跳向OEP的
004001D4 \ push eax
004001D5 push ebp
4.来到OEP
push ebp //这里就是OEP
8BEC mov ebp,esp
6A FF push -0x1
push UnPackMe.
0040170A push UnPackMe.
0040170F :A1 mov eax,dword ptr fs:[]
push eax
: >mov dword ptr fs:[],esp
0040171D 83EC sub esp,0x68
5.然后修复脱壳就OK了
手脱FSG 2.0 -> bart/xt的更多相关文章
- 手脱FSG(2.0)
1.查壳 2.x32dbg脱壳 在第二个xchg处使用ESP定律脱壳: 由于FSG壳特性,在跳转后位置向上查找,找到js\jne\jmp,jmp就是OEP位置: 在此处使用工具进行脱壳: 完成! 3. ...
- 手脱FSG v1.33
1.载入PEID FSG v1.33 (Eng) -> dulek/xt 2.载入OD,先F8跟一会 004103E3 > BE A4014000 mov esi,fsg1_33.0040 ...
- 填坑专记-手脱FSG壳
妈呀,脱FGS壳真的是坎坷颇多,多亏吾爱破解前辈们的帮忙.我一定要记录下来,省的以后再无法解决. 已经查看是FSG壳了.找到入口也容易了.重点就是脱壳并修复好它. 脱壳 OEP为: 使 ...
- 手脱PEncrypt 4.0
1.载入PEID PEncrypt 4.0 Gamma / 4.0 Phi -> junkcode [Overlay] 2.载入OD,没什么头绪,忽略所有异常,用最后一次异常法shift+F9运 ...
- 手脱EZIP v1.0
一.单步 1.载入PEID查壳 EZIP v1.0 2.载入OD,一上来就是一个大跳转,F8单步一直走 0040D0BE > $ /E9 jmp Notepad.004102DC ; //入口点 ...
- 手脱ACProtect V2.0(无Stolen Code)
1.载入PEID ACProtect V2.0 -> risco 2.载入OD > 00A04000 push ACP_Feed.0040A000 ; //入口点 0B104000 pus ...
- 手脱Aspack变形壳1
1.载入PEID Aspack v2.12 -> www.aspack.com 2.载入OD,不管是看查壳信息还是看入口特征都跟我上一次发的一个手脱Aspack v2.12的帖子相同http:/ ...
- <逆向学习第三天>手动脱FSG壳,修复IAT。
其实对于简单的壳来说,脱壳常用的方法也无非是那几种,但是每种有每种的好处,具体使用那种方法视情况而定,我今天学习的这个壳很简单,但是重点在于修复IAT. 一.查壳: FSG 2.0的壳. 二.脱壳: ...
- 简单脱壳教程笔记(7)---手脱PECompact2.X壳
本笔记是针对ximo早期发的脱壳基础视频教程.整理的笔记.本笔记用到的工具下载地址: http://download.csdn.net/detail/obuyiseng/9466056 简单介绍: F ...
随机推荐
- 【python】详解time模块功能asctime、localtime、mktime、sleep、strptime、strftime、time等函数以及时间的加减运算
在Python中,与时间处理相关的模块有:time.datetime以及calendar.学会计算时间,对程序的调优非常重要,可以在程序中狂打时间戳,来具体判断程序中哪一块耗时最多,从而找到程序调优的 ...
- 转载笔记:DropDownList无限级分类(灵活控制显示形式)
主要使用递归实现,数据库结构: 最终样式: 1protected void Page_Load(object sender, EventArgs e) 2 { 3 if (!Pa ...
- C++ STL栈和队列
在C++标准库(STL)中,实现了栈和队列,方便使用,在这里我整理了一下笔记,作简要介绍. 1,栈(stack): 头文件 : #include<stack> 定义栈 :stack< ...
- Objective-C Json转Model(利用Runtime特性)
封装initWithNSDictionary:方法 该方法接收NSDictionary对象, 返回PersonModel对象. #pragma mark - 使用runtime将JSON转成Model ...
- Struts2(三)
以下内容是基于导入struts2-2.3.32.jar包来讲的 1.全局视图配置 xml标签:<global-results> <result name="error&qu ...
- 0302IT行业虽吃香,能完全享受这块“香"的也很难
面对现今严峻的就业形势,越来越多的人希望通过职业技能培训或者学历提升来提高自己的综合技能以便能够顺利地应聘到自己理想中的工作. 在2014年十大最热门行业和职业排行榜中IT行业最吃香.在十大行业里,I ...
- 奇异值分解(SVD) --- 几何意义 (转载)
PS:一直以来对SVD分解似懂非懂,此文为译文,原文以细致的分析+大量的可视化图形演示了SVD的几何意义.能在有限的篇幅把 这个问题讲解的如此清晰,实属不易.原文举了一个简单的图像处理问题,简单形象, ...
- virtualenv是什么?virtualenv的安装及pycharm的配置和使用
virtualenv是什么? virtualenv是一个创建隔绝的Python环境的工具.virtualenv创建一个包含所有必要的可执行文件的文件夹,用来使用Python工程所需的包.简单的说就是一 ...
- mysql 数据类型 及 常用命令
一.数据类型 1.整型 数据类型 存储空间 说明 取值范围 TINYINT 1字节 非常小的整数 带符号值:-128~127 无符号值:0~255 SMALLINT 2字节 较小的整数 带符号值:-3 ...
- sublime text 插件集锦
Markdown & OmniMarkupPreviewer插件 插件说明 Markdown : markdown语法编辑 OmniMarkupPreviewer :实时在浏览器预览, mac ...