最近一直在学习壳的破解,和大家分享一下几种常用的脱壳方法

1.esp定律

使用PEID查壳,了解壳的属性

载入OD,F8单步运行,注意寄存器的窗口

这个时候会发现只有ESP后面对应得数据为红色,我们就应该知道,可以使用ESP定律了,单击红色的ESP右键会出现HW break esp的选项

然后重载运行,单击F8,到达OEP,然后使用OD自带的脱壳插件

(oep的标志)you

2.单步跟踪

同样的壳,不用ESP,F8单步步过,这时会遇到跑飞的情况,单步跟踪注意call和向上的跳转,遇到跑飞的call就重载F7进入,F8不断的向下运行,这时会遇到向上的跳转,在向上跳转的下面一行代码出右键 选择断点运行到选定位置(F4),注意红线(跳转实现)的要在底下设置,灰色的不用管。一直F8继续向下走

走到最后会出现壳的OEP,同第一种方法的最后(强烈推荐)

3.SFX

这种方法是一种自动脱壳的方法,很简单步骤为 OD载入————>找到选项 调试设置中的SFX————>选择 按字节方式跟踪真正入口处 重载等待

不建议用这种方法,有时会很长时间,还是锻炼技术为好

4.模拟跟踪

ALT+M,在.rsrc处下断点,SHIFT+F9返回,然后在.text处在下一断点,同样的办法处理, 在底下的命令行输入tc eip<01013000回车

这种方法用在不知道OEP是什么样子的时候可以试试

5.出口标志
开始按Ctrl+F,输入:popad(只适合少数壳,包括UPX,ASPACK壳),然后按下F2,F9运行到此处。来到大跳转处,点下F8,到达OEP!

6.方法五:最后一次异常法
点击选项——调试选项——异常,把里面的对号全部去掉!CTRL+F2重载下程序,如果一开始程序就是一个跑飞,在这里我们按SHIFT+F9,直到程序运行,记下从开始按SHIFT+F9到程序运行的次数m!CTRL+F2重载程序,按SHIFT+F9(这次按的次数为程序运行的次数m-1次)在OD的右下角我们看见有一个"SE 句柄",这时我们按CTRL+G,输入SE 句柄前的地址!按F2下断点!然后按SHIFT+F9来到断点处!去掉断点,按F8慢慢向下走!到达程序的OEP!

7.秒到OEP

运行,观察右下角的栈窗口,翻到最底下顺着边框找到第一个

然后 反汇编窗口中跟随,然后在反汇编窗口中不断的向上走,走到INT3断点处就会发现,下面就是OEP的标志,在标志处(push xxxx)右键选择在数据窗口中跟随,这时左下角的数据窗口出现

在灰色区点击右键下硬件执行断点,重载直接秒到OEP并脱壳

我所说得办法对一个壳不可能通用,大家要多尝试,脱壳需要的是耐心和经验,另外大家还要熟悉各种语言编写壳的OEP,这有事半功倍的效果。

关于几种常用的脱壳方法总结相关推荐

  1. 结合Scikit-learn介绍几种常用的特征选择方法

    特征选择(排序)对于数据科学家.机器学习从业者来说非常重要.好的特征选择能够提升模型的性能,更能帮助我们理解数据的特点.底层结构,这对进一步改善模型.算法都有着重要作用. 特征选择主要有两个功能: 减 ...

  2. 异常数据4种剔除方法_数据分析系列 22/32 | 9种常用的数据分析方法

    要使各种结构化的.非结构化的.海量的数据实现标准化.信息化,能够提供业务绩效评估.业务决策支持等要求,我们首先需要进行数据分析. 同时,围绕业务问题,采用合适的分析方法,分析模型,以及分析工具,这是数 ...

  3. python 卡方检验 特征选择_结合Scikit-learn介绍几种常用的特征选择方法

    特征选择(排序)对于数据科学家.机器学习从业者来说非常重要.好的特征选择能够提升模型的性能,更能帮助我们理解数据的特点.底层结构,这对进一步改善模型.算法都有着重要作用. 特征选择主要有两个功能: 减 ...

  4. 几种常用的优化方法梯度下降法、牛顿法、)

                                                                       几种常用的优化方法 1. 前言 熟悉机器学习的童鞋都知道,优化方法 ...

  5. (转)几种常用存储过程分页方法

    我们先给出几种主要的分页方法和核心语句,然后直接给出结论,有兴趣的读者可以看看后面的数据 几种常用存储过程分页方法 TopN方法 select Top(@PageSize) from TableNam ...

  6. 功能测试常用6种方法_16种常用的数据分析方法聚类分析

    聚类(Clustering)就是一种寻找数据之间内在结构的技术.聚类把全体数据实例组织成一些相似组,而这些相似组被称作簇.处于相同簇中的数据实例彼此相同,处于不同簇中的实例彼此不同. 聚类分析定义 聚 ...

  7. lasso特征选择python_转:结合Scikit-learn介绍几种常用的特征选择方法-2

    4.2 平均精确率减少 Mean decrease accuracy 另一种常用的特征选择方法就是直接度量每个特征对模型精确率的影响.主要思路是打乱每个特征的特征值顺序,并且度量顺序变动对模型的精确率 ...

  8. 干货:结合Scikit-learn介绍几种常用的特征选择方法

    原文:http://dataunion.org/14072.html 作者:Edwin Jarvis 特征选择(排序)对于数据科学家.机器学习从业者来说非常重要.好的特征选择能够提升模型的性能,更能帮 ...

  9. 几种常用的差异分析方法简介

    几种常用的差异分析方法简介 如今在生物学研究中,差异分析越来越普遍,也有许多做差异分析的方法可供选择.但是在实际应用中,大多数人不知道该使用哪种方法来处理自己的数据,所以今天我就来介绍下目前几种常用的 ...

  10. 归一化mysql函数_数据归一化和两种常用的归一化方法

    数据归一化和两种常用的归一化方法 一.总结 一句话总结: min-max标准化:x* =(x-min)/(max-min):新数据加入,需重新计算max和min Z-score标准化:x* =(x-μ ...

最新文章

  1. JS中8个常见的陷阱
  2. 日期操作类DateUtils
  3. java世博会,反应原生失去的世博会
  4. Java中文与ASCII码的转换
  5. Hive的查询结果保存方法
  6. Int.Parse()、Convert.toInt32()和(int)区别
  7. 安装nginx make install 报错/usr/include/fastdfs/fdfs_define.h:15:27: fatal error: common_define.h: No su
  8. F23. Makefile教程
  9. 实用的文字转语音免费软件推荐
  10. android逻辑分辨率,移动端web页面知识小结之手机分辨率与手机像素
  11. Python:实现pollard rho大数分解算法(附完整源码)
  12. redis集群报错,(error) MOVED 15495 127.0.0.1:7003
  13. 天津办理食品经营许可证的要求和材料
  14. Android学习资料整理收集--路漫漫其修远兮
  15. 【SpringBoot项目实战+思维导图】瑞吉外卖①(项目介绍、开发环境搭建、后台登陆/退出功能开发)
  16. 搞懂JS的强制类型转换
  17. SQL Prompt 4试用
  18. 【pcre 依赖】linux安装pcre 依赖
  19. 【论文阅读】Automatic Updating of Land Cover Maps in Rapidly Urbanizing Region
  20. 简单几步,让微信小程序变身 H5 网页

热门文章

  1. win7下安装MQTT Paho客户端
  2. 飞信的 SIP 协议分析
  3. 块引用—Markdown极简入门教程(6)
  4. 百度导航5.0之后的坑
  5. 七种常见的电子邮件安全协议简析
  6. xp系统itunes无法连接服务器失败,xp系统iTunes无法连接到iTunes store的修复步骤
  7. win7 matlab 7.0,win7环境下使用matlab7.0的方法
  8. css 一直图片适配所有手机背景图
  9. 如何创建CGColorRef在view.layer.borderColor上使用
  10. SpringBoot的pom详解