32. 脱壳篇-简单带壳的程序、反调试带壳的程序(堆栈平衡原理找OEP、代码段设置断点)
第一个程序
OEP为46B6F9
PE头位置为46B000到46D000区间,have a nice day! 就是壳
一定要点上箭头指向处,dump改名
清除区段 ,删除壳,保存
第二个程序(市面上60%-80%)根据堆栈平衡原理寻找OEP
F8后到下图位置,但并不是OEP
因为地址与PE差别大,壳伪造了我们的text,rdata,data
开始寻找OEP
观察ESP值是否变化,如果发现变化我们就开始行动
第一次变化
右键
F9,停靠在硬件断点处,大部分jmp eax就是OEP,但是强壳不是
回到了程序的代码段
F8进入OEP
右键
删除壳
LordPE编辑,修改代码基址,数据基址保存
RebuildPE
第三个程序
应用堆栈平衡法找到OEP,这里的代码段、数据段、输入表和壳在同一个区间
所以必须要重建输入表
因为重建了输入表,所以Sections会多一行,就是重建输入表
删除ex_cod,这里的代码段、数据段、输入表和壳在同一个区间,在保存前最好有一个备份,删错了可以重新来过
RebuildPE,OK
第四个程序
MEW,免费的壳,压缩壳
一步到位
F8
第五个程序(代码段上断点法)
NoNamePacker壳
F9运行,此程序带有反调试系统
F8单步运行
或者查找IsDebuggerPresent,Alt+F9
je -> jmp
代码段设置断点
断点停下来了,注释也看到了401000的地址
但是这不是我们要的位置,所以我们返回M界面,继续代码段下断点F2,跳转后还不是就再继续下断点等待循环匹配成功
也可以选择”设置内存访问断点“,这样可以按F9循环,不用再打断点
ctrl+F8快速自动循环,查看循环再搞什么,F12暂停
循环后下断点,F9跳出循环,再在代码段下断点,F9,大量经验告诉我就样是最快的方法
Prt可以删除,注意要保留备份,要不然失败会很麻烦
32. 脱壳篇-简单带壳的程序、反调试带壳的程序(堆栈平衡原理找OEP、代码段设置断点)相关推荐
- php反调试,简单对抗某个驱动的反调试
标 题: [原创]简单对抗某个驱动的反调试 作 者: ReturnsMe 时 间: 2010-04-18,20:02:11 链 接: http://bbs.pediy.com/showthread.p ...
- 使用GDB调试产生多进程的程序
如果一个进程fork了多个进程,这时使用GBD工具对程序进行调试会如何呢? 实际上,GDB 没有对多进程程序调试提供直接支持.例如,使用GDB调试某个进程,如果该进程fork了子进程,GDB会继续调试 ...
- 史上最全最完整,最详细,软件保护技术-程序脱壳篇-逆向工程学习记录
title: 程序脱壳篇 date: {{ date }} tags: ['程序壳','程序脱壳篇'] categories: ['程序壳','程序脱壳篇'] excerpt: 壳是最早出现的专用加密 ...
- 程序员修炼之路(十)程序员必读经典书籍和成长路线
本篇文章是程序员修炼之路的第十篇. 原文地址:http://book.douban.com/doulist/1259081/?start=25&filter= 这篇文章主要是关于程序员学习路线 ...
- 某地理位置模拟APP从壳流程分析到破解(劫持so过反调试)
转自:http://bbs.pediy.com/thread-217059.htm 工具与环境 Xposed IDA 6.8 JEB 2.2.5 Fiddler2 010Editor NEXUS 5 ...
- vs2015 linux jni,使用Visual C++ 跨平台移动技术调试JNI Android 应用程序
使用Visual C++ 跨平台移动技术调试JNI Android 应用程序 02/05/2015 6 分钟可看完 本文内容 [原文发表时间] 2014/12/12 4:22PM 之前我们已经介绍了 ...
- Delphi应用程序的调试(二)使用断点
Delphi应用程序的调试(二)使用断点 使用断点(Using Breakpoints) 当用户从Delphi IDE 运行程序时,程序全速运行,只会在设置了断点的地方停住. New Term 断点( ...
- 无源码情况下动态调试混淆的java程序
逆向工程JAVA通常是非常简单的,因为优秀的JAVA二进制反编译器已经存在多年.类似于jd-gui工具和恢复java二进制文件源代码功能也做的非常出色的.在这种情况下我们需要动态调试java反编译ja ...
- vue.js反编译_基于electron-vue开发的微信小程序反编译客户端
开源一个小程序反编译客户端 咨询小程序反编译的同学比较多,虽然有开源库但是还是有同学不清楚如何去操作,所以索性做了一个客户端方便进行小程序的反编译 # 技术选型 网上已经有大佬实现了C#版的反编译工具 ...
最新文章
- PyTorch | (1)初识PyTorch
- python 类-Python 类class定义 方法与属性教程
- python生成多级文件夹_Python zipfile压缩文件和文件夹(支持多级目录)
- UESTC 趣味赛命题报告E
- 清华大学《操作系统》(十二):临界区与锁
- 3-2:常见任务和主要工具之存储介质
- 后台启动_Linux系统后台运行应用三板斧
- 散户“大溃败”?GME连续5日暴跌80% 白银价格急转直下
- java面试 上传文件_字节跳动面试官,我也实现了大文件上传和断点续传
- android Tabhost 组件
- 【Java从0到架构师】SpringMVC - RESTful
- C++ 对象创建方式
- GIS开发实习地图符号图式制作
- 91卫图助手免费获取高清影像
- 基于JavaScript+css写一个简单的h5动态下雨效果
- ISO14443 Type A类型卡的防碰撞过程以及命令解析
- Nature综述:大脑中的音乐
- [C语言]printf函数和scanf函数的返回值
- PG数据库源码-SysCache部分匹配机制
- 2019ICPC南昌网络赛总结
热门文章
- 达摩院python教程视频_Python400集大型视频,无偿分享,从正确方向学习python,全套python入门完整视频...
- NOI数学之提高级:欧拉定理和欧拉函数
- 锦标赛排序、洪水填充算法、平衡规划
- 【chorme插件开发】第一节:chrome内核浏览器插件开发的说明
- BootStrap笔记-badge的使用
- Maven工作笔记-jar包打入本地仓库并打包
- Java笔记-重写JsonSerializer中serialize方法使Json中时间戳/1000
- Qt文档阅读笔记-QGraphicsEffect::draw(QPainter *painter)官方解析与实例
- hbase linux 命令,在linux下操作hbase
- linux打开文件int open,Linux下C语言open函数打开或创建文件与read,write函数详细讲解...