手脱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 ...
随机推荐
- tendermint 跟tikv结合
import ( "fmt" "github.com/allegro/bigcache" "github.com/kooksee/usmint/cmn ...
- Web全景图的原理及实现
全景图的基本原理 全景图是一种广角图.通过全景播放器可以让观看者身临其境地进入到全景图所记录的场景中去.比如像是这个.这种看起来很高大上的效果其实背后的原理并不复杂. 通常标准的全景图是一张2:1的图 ...
- Python 招聘信息爬取及可视化
自学python的大四狗发现校招招python的屈指可数,全是C++.Java.PHP,但看了下社招岗位还是有的.于是为了更加确定有多少可能找到工作,就用python写了个爬虫爬取招聘信息,数据处理, ...
- Play on Words(欧拉回路)
Description Some of the secret doors contain a very interesting word puzzle. The team of archaeologi ...
- 1.2Linux下C语言开发基础(学习过程)
===============第二节 Linux下C语言开发基础=========== ********************** 重要知识点总结梳理********************* 一 ...
- Java 学习笔记 ------第四章 认识对象
本章学习目标: 区分基本类型与类类型 了解对象与参考的关系 从打包器认识对象 以对象观点看待数组 认识字符串的特性 一."=" 和 "==" 当=用于基本类型时 ...
- OGNL动态实现result
OGNL就是struts.xml文件中的<result>通过get()方法,动态获取action类中的变量 <struts> <package name="de ...
- purcell的emacs配置中的自动补全功能开启
标记一下,原文参看purcell的emacs配置中的自动补全功能开启 修改init-auto-complete.el文件 ;;(setq-default ac-expand-on-auto-compl ...
- 爬虫学习之-git拉取远程错误
本文讲的是把git在最新2.9.2,合并pull两个不同的项目,出现的问题如何去解决 如果合并了两个不同的开始提交的仓库,在新的 git 会发现这两个仓库可能不是同一个,为了防止开发者上传错误,于是就 ...
- js动态显示指定的时间
<p id="timeShow">17:0:50</p> <script> setInterval("time()", 10 ...