手撕FSG2.0壳(有坑点)
文章目录
- 声明
- 单步跟踪
- 第一个js
- 第二个jnz
- 第三个jmp(跳往OEP处)
- ESP定律
- 执行到特定位置
- Dump数据区
- 设置硬件访问断点
- FSG2.0专属搞法
- 执行完pop语句后
- follow in Disassembler
- 设置硬件执行断点
声明
记住起始ESP值 0x18FF8C
单步跟踪
还是那句话,向下跳转执行,向上跳转直接F4
。前面看过我单步执行的都能运行到下图这里
这里得注意了,有三个跳转。。这就是FSG壳的坑点处
第一个js
向上跳的,不执行的,直接看第二个jnz。
第二个jnz
它直接跳过了下一个jump指令。。这就是坑点。。(因为第三个jump就是跳往OEP处),千万不能执行这个指令,很多操作,直接F4,或者直接改动标志寄存器让这个条件跳转不成立即可。
第三个jmp(跳往OEP处)
OEP处,ESP值 0x18FF8C
,找到OEP,直接dump即可,不要怕看不见,脱壳后再次载入就能看见了,而且和未加壳时一模一样
脱壳后:
ESP定律
执行到特定位置
Dump数据区
设置硬件访问断点
然后运行就到达了这里:
紧接着单步跟踪,注意三跳转坑即可
最后记得删除硬件访问断点。
FSG2.0专属搞法
执行完pop语句后
观察栈中第四个参数。它就是OEP的地址,即0x401686
follow in Disassembler
设置硬件执行断点
然后执行后
然后dump即可
手撕FSG2.0壳(有坑点)相关推荐
- 手撕Redis6.0
文章目录 简介 安装 下载 解压 编译 启动和关闭 配置用户名和密码 版本`6.0`之前 版本`6.0`之后 ACL常用命令 多线程 Redis6.0配置文件解读 简介 Redis 是完全开源免费的, ...
- 手撕 Golang 高性能内存缓存库 bigcache! #4
1. 前言 你好哇!我是小翔.之前写了三篇 #Golang 并发编程 的文章了,这次来换换口味,开个 手撕源码 的新坑!一起来扒一扒 Go 语言高性能 local cache 库 bigcache,看 ...
- Python3《机器学习实战》学习笔记(八):支持向量机原理篇之手撕线性SVM
原 Python3<机器学习实战>学习笔记(八):支持向量机原理篇之手撕线性SVM 置顶 2017年09月23日 17:50:18 阅读数:12644 转载请注明作者和出处: https: ...
- java手撕KMeans算法实现手写数字聚类(失败案例)
最近几天刚刚接触机器学习,学完K-Means聚类算法.正好又赶上一个课程项目是识别"手写数字",因为KMeans能够实现聚类,因此自然而然地想要通过KMeans来实现. 前排提示: ...
- 深度学习之手撕深度神经网络DNN代码(基于numpy)
声明 1)本文仅供学术交流,非商用.所以每一部分具体的参考资料并没有详细对应.如果某部分不小心侵犯了大家的利益,还望海涵,并联系博主删除. 2)博主才疏学浅,文中如有不当之处,请各位指出,共同进步,谢 ...
- 和12岁小同志搞创客开发:手撕代码,做一款遥控灯
机缘巧合在网上认识一位12岁小同志,从零开始系统辅导其创客开发思维和技巧. 项目专栏:https://blog.csdn.net/m0_38106923/category_11097422.html ...
- 和12岁小同志搞创客开发:手撕代码,做一款声控灯
机缘巧合在网上认识一位12岁小同志,从零开始系统辅导其创客开发思维和技巧. 项目专栏:https://blog.csdn.net/m0_38106923/category_11097422.html ...
- 手撕代码之七大常用排序算法 | 附完整代码
点击上方↑↑↑蓝字关注我们~ 「2019 Python开发者日」全日程揭晓,请扫码咨询 ↑↑↑ 0.导语 本节为手撕代码系列之第一弹,主要来手撕排序算法,主要包括以下几大排序算法: 直接插入排序 冒泡 ...
- 手撕面试题:多个线程交替打印问题
点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 第一篇打算总结下阿里最喜欢问的多个线程顺序打印问题,我遇到 ...
最新文章
- 用eclipse阅读编辑android和kernel,uboot的源代码
- 实战并发编程 - 09多线程Guarded Suspension模式案例实战
- 动态代理的两种方式_动态代理是基于什么原理?
- clion phpstorm 等jetbrains编辑器激活教程
- windows和linux共同分区格式,Linux和Windows共存的模式下分区要小心
- dbus-python指南
- js----与浏览列表有关的对象(浏览器对象)
- ECMAScript 6 之 let 和 const 命令
- c语言程序结果 856400,《C语言程序设计教程》习题参考解析1.doc
- CentOS 6.5 安装mysql5.5
- css卷轴动画小程序,微信小程序登录页:CSS实现动画云层漂浮
- IP地址,子网掩码,默认网关,DNS服务器是什么意思?
- 住在我隔壁储藏室的大学刚毕业的小夫妻
- 给俺老婆的一封信(太有才了!)
- 元宇宙的第一步,应该在汽车里迈出去?
- mmdetection3d的安装和使用
- 2021年中国集成电路重点企业对比(光迅科技VS大唐电信VS士兰微VS中芯国际)[图]
- WebRtC视频jitterbuffer原理机制
- 1.8 正则表达式【匹配一个或多个字符】
- 小米彷徨:股价与业绩的自我救赎
热门文章
- ML之API:国内外各大人工智能平台(百度云/华为云/阿里云/Face++等)及其API的简介、使用方法之详细攻略
- OpenCV官方文档 理解k - means聚类
- shp文件导入数据库
- python thrift demo
- js Array.prototype.slice.call(arguments,0) 理解
- SSM框架整合(一)
- FormView里用FindControl找不到控件的解决方法
- FORMS变量类型和消息提示
- 对于58同城自动登陆的补充【主要是代码】
- POJ1988 Cube Stacking