本次教程用的还是用UPX的加密,直接载入这个文件可以看到一个pushad,每个pushad都有他对应的popad,他的作用就是把右边的寄存器内容压入栈中,popad就是把压入栈中的内容进行还原。

对比后发现他把内容都给压入到栈中了,到popad那一步的时候他又会把压入的内容还原到堆栈中去。

我们到堆栈里给他设置一个硬件访问断点,因为他是从第一个开始弹出所以要在第一个地址里设置断点,所以等到他pop出来还原的时候也就是解码完成了,就可以顺着找到oep。

下面来讲解详细步骤,载入程序后F8单步往下走,让他压入栈之后设置硬件访问断点


随便设置个字节断点

F9运行
跳过去就是我们的OEP了

【脱壳-寻找OEP】通过堆栈平衡法找到OEP(ESP定律)相关推荐

  1. 32. 脱壳篇-简单带壳的程序、反调试带壳的程序(堆栈平衡原理找OEP、代码段设置断点)

    第一个程序 OEP为46B6F9 PE头位置为46B000到46D000区间,have a nice day! 就是壳 一定要点上箭头指向处,dump改名 清除区段 ,删除壳,保存 第二个程序(市面上 ...

  2. 寻找真正的入口(OEP)--广义ESP定律

    1.前言 在论坛上看到很多朋友,不知道什么是ESP定律,ESP的适用范围是什么,ESP定律的原理是什么,如何使用ESP定律?看到了我在""调查结果发现,大家对ESP定律很感兴趣,当 ...

  3. 2020-12-3(ESP定律脱壳理解)

    在我们开始讨论ESP定律之前,我先给你讲解一下一些简单的汇编知识. 1.call 这个命令是访问子程序的一个汇编基本指令.也许你说,这个我早就知道了!别急请继续看完. call真正的意义是什么呢?我们 ...

  4. ESP定律和堆栈平衡

    一.什么是ESP 二. 例说ESP与OD的对比 三. 正式开讲ESP定律 四. ESP定律的运行栗子 五. 堆栈平衡讲解 六.ESP定律的变形用法

  5. 见过的最详强的讲ESP定律脱壳(推荐)

    导读: FROM: poptown.gamewan.com/bbs E-MAIL:meila2003@163.com 1.前言 在论坛上看到很多朋友,不知道什么是ESP定律,ESP的适用范围是什么,E ...

  6. 利用ESP定律的upx脱壳实践

    背景: 除了命令行upx -d脱壳,还有手动脱壳.ESP定律的本质是堆栈平衡,又称堆栈平衡定律,是应用频率最高的脱壳方法之一,脱壳的目的就是找到真正的OEP(源文件的EP代码) 方法: 从pushad ...

  7. 使用ESP定律_手工脱壳

    ESP定律脱壳一般的加壳软件在执行时,首先要初始化,保存环境(保存各个寄存器的值),一般利用PUSHAD(相当于把所有寄存器都压栈),当加壳程序的外壳执行完毕以后,再来恢复各个寄存器的内容,通过跨区段 ...

  8. ESP定律手工脱壳步骤

    ESP定律手工脱壳步骤 第一步:查壳 第二步:用OD载入. 第三步:按F8单步向下走,注意,当右边的ESP(堆栈指针寄存器),和EIP( 指令指针寄存器)同时变红时,就停下. 第四步:记下ESP地址, ...

  9. upx手动脱壳(esp定律手动脱壳)

    ESP定律手动脱壳 拿到有upx壳的文件后,首先用xdbg打开. 然后F9运行到用户代码(有upx壳文件一般为pushed) 然后F8单步运行一下,发现右边寄存器esp变红了,因此此处可以使用esp定 ...

  10. 【灌水】天草逆向, esp定律脱壳

    纯属灌水文章.今天随便看了一下天草高级视频.觉得讲得一般吧,题目是ip验证的,但是关于ip验证的相关的东西一个也没讲.是纯粹的破解.自己拿程序来试吧,发现没有服务端,完全不能通信实验. 期间谈到的所有 ...

最新文章

  1. 如果重新一次高考,你还会选择软件专业当程序员吗? | 每日趣闻
  2. java 实体类包含list 怎么取值_舅舅是面试官,偷偷告诉你们面试官最爱问的Java面试题...
  3. python升级命令出现错误_python - _tkinter.TclError:无法调用“ update”命令:应用程序已被破坏错误 - 堆栈内存溢出...
  4. Leetcode-13. 罗马数字转整数(C++)
  5. 【算法学习笔记】二叉树的基本操作实现和应用举例,根据先序与中序遍历建立二叉树的实现
  6. Applese 走迷宫(优先队列+bfs)
  7. 长路漫漫,唯剑作伴--Automatic Reference Counting
  8. leetcode21
  9. 使用EasyExcel导入导出Excel报表-JAVA解析Excel工具
  10. 解决移动端报错:Unable to preventDefault inside passive event listener due to target being treated as……
  11. 计算机一级ms office选择题题库,全国计算机等级考试一级MSOFFICE选择题题库.doc
  12. Basler相机参数设置
  13. 解决jupyter notebook :No module named ‘tensorflow‘ 及python.exe无法找到入口问题及500 : Internal Server Error
  14. 银行业务系统(c/s架构、socket网络编程、多线程)
  15. 基于springboot vue elementui酒店预订系统源码(毕设)
  16. Flutter杂症(couldn't find libflutter.so)
  17. xp打开网页显示服务器错误怎么办,winxp系统IE浏览器出现Internet无法打开站点错误提示怎么办...
  18. K-means(K均值原型聚类)
  19. jQuery 实现贪吃蛇游戏
  20. “再回首,云遮断归途,再回首,荆棘密布...

热门文章

  1. IntelliJ IDEA最新版官方支持汉化
  2. 机器学习 | 实战(二)Fashion-MNIST
  3. Android 插桩入门
  4. 解构OPPO IoT:“开放生态”+“用户思维”,“智美生活”雏形已显
  5. 空间频率(lp/mm,cycles/mm,lp/mrad,cycles/mrad)
  6. Task 03:python与word和pdf
  7. mo汇编指令_汇编指令(汇编指令详解)
  8. EasyNVR无插件网页摄像机直播流媒体服务器对接海康8700平台视频出现RTSP视频无法接入的问题解决
  9. 搭建动态IP池的几种方式,有什么优缺点
  10. PdgCntEditor系列教程一:基础知识