​​上一篇​​使用单步调试的方法非常慢,还可以使用ESP定律法快速定位。 ESP定律是根据栈帧只受本函数改变,如果有其它函数想改变的话,ESP值必定会改变。 如果在ESP处设置断点,就可以快速定位程序入口OEP。 OllyDbg打开notepad.exe文件:这里我们看到程序用了pushad来保存现场环境。我们单步,按F8步过一下,运行至​​0040D002​​的位置:这时在Ollydbg右侧的寄
原创 2022-07-08 23:59:10
267阅读
一.准备知识 在我们开始讨论ESP定律之前,我先给你讲解一下一些简单的汇编知识。 1.call 这个命令是访问子程序的一个汇编基本指令。也许你说,这个我早就知道了!别急请继续看完。call真正的意义是什么呢?我们可以这样来理解: 1.向堆栈中压入下一行程序的地址; 2.JMP到call的子程序地址处。 例如: 00401029.E8 DA240A00 call 004A3508 0040102E
转载 2024-04-18 05:55:00
60阅读
第一步:查壳第二步:用OD载入。第三步:按F8单步向下走,注意,当右边的ESP(堆栈指针寄存器),和EIP(    指令指针寄存器)同时变红时,就停下。第四步:记下ESP地址,并在左下角的Commanc中输入 dd ESP所对应的地址。    并回车。第五步:在数值下面单击右键--断点----硬件访问---WORD。第六步:按F9运行来到断点。第七步:然后在按F8单步向下走,注意:一个大跳转就来到程序的OEP,也就是    程序的入口。第八步:单击右键---脱壳在当前调试的进程---复制修正为处的地址(也就是    程序的入口地址)第九步:修复。
转载 2010-04-21 09:41:00
174阅读
2评论
第一步:先用PEID查壳 第二步:用OD载入程序.exe。 第三步:按F8单步向下走,当右边的ESP(堆栈指针寄存器),和EIP(     指令指针寄存器)同时变红时,立即停下。 第四步:记下ESP地址,并在左下角的Commanc中输入 dd ESP所对应的地址。     并回车。 第五步:在数值下面单击右键--断点----硬件访问---WORD。 第六步:按F9运行来到断点。 第
原创 2010-05-10 21:56:50
10000+阅读
ESP定律手工脱壳步骤 第一步:查壳 第二步:用OD载入。 第三步:按F8单步向下走,注意,当右边的ESP(堆栈指针寄存器),和EIP(     指令指针寄存器)同时变红时,就停下。 第四步:记下ESP地址,并在左下角的Commanc中输入 dd ESP所对应的地址。     并回车。 第五步:在数值下面单击右键--断点----硬件访问---WO
原创 2008-01-23 10:42:00
2292阅读
ESP定律详细解说作者:Azrael 日期:2009-09-13字体大小: 小 中 大 一.准备知识 在我们开始讨论ESP定律之前,我先给你讲解一下一些简单的汇编知识。 1.call 这个命令是访问子程序的一个汇编基本指令。也许你说,这个我早就知道了!别急请继续看完。call真正的意义是什么呢?我们可以这样来理解: 1.向堆栈中压入下一行程序的地址; 2.JMP到cal
转载 2024-03-06 14:53:07
26阅读
using ODUntil stopBlock!then F9!Jmp -> oep401171。
原创 2023-10-01 09:57:03
257阅读
OD动调之脱壳:使用ESP定律寻找using ODF8 sigle stepUntil stopThen data window follow!Block!then F9!Jmp -> oep401171You can unpack upx!
原创 2023-09-03 22:18:05
118阅读
本篇分享知识要点:1:查壳工具介绍2:upx脱壳初探3:IDA分析常规流程讲解4:linux运行elf文件5:gdb调试初探学习,交流,分享CTF并肩作战,你,并不孤单!阅读完本篇文章大概需要5分钟,enjoy yourself!一、查壳工具介绍常见的查壳工具有exeinfope、PEID、EID,推荐EID或者exeinfope,因为PEID查壳有时候会误报,好尴尬。。。示例1: 通过查壳得到如
导读:      FROM: poptown.gamewan.com/bbs      E-MAIL:meila2003@163.com          1.前言      在论坛上看到很多朋友,不知道什么是ESP定律ESP的适用范围是什么,ESP定律的原理是什么,如何使用ESP定律?看到了我在“”调查结果发现,大家对ESP定律很感兴
转载 精选 2008-01-23 10:43:00
3889阅读
实验链接通过本实验理解ESP原理的操作机理,并掌握使用ESP原理进行脱壳的流程。实验简介实验所属系列: CTF竞赛实验对象: 本科/专科信息安全专业相关课程及专业: Windows编程,C语言,汇编语言实验类别: 实践实验类预备知识基础的汇编语言命令以及对汇编程序的基本审计能力。壳的概念加壳的全称应该是可执行程序资源压缩,是保护文件的常用手段。加壳过的程序可以直接运行,但是不能查看源代码。要经过脱
今天主要是深入的了解汇编语言,要想反编译没这个可是不行的啊。当然,这也不是一天两天可以成功的,继续努力。 一.如何分辨加密壳:壳分为加密壳和压缩壳,压缩壳目的是减少软件的体积便于在网上传播,而加密壳目的是防止软件被脱壳和破解,所以加密壳全部有反跟踪代码,会有许多SEH陷阱使OD调试时产生异常.也就是说在跟踪过程中很容易导致程序运行,使你无法跟踪分析.而压缩壳相对比较容易,脱壳也比较简单,
转载 2024-10-21 22:12:17
11阅读
              [软件调试].张银奎          我们看到,尽管可以使用相对于栈顶(ESP寄存器)的偏移来引用局部变量,但是因为ESP寄存器经常变化,所以用这种方
转载 2024-07-15 10:27:16
52阅读
速脱UPX壳工具:OD(201版), PEiD v0.95,ImportREC v1.7, KMS10.exe(目标PE1)调试系统:WinXP目标系统:Win10步骤一:查壳步骤二:加载程序,寻找OEP(使用ESP定律法,快速定位OEP)这里说一下,我用的OD2.0.1版,对于upx这样简单的壳,直接就分析出了OEP的位置了,如下: 稍微等待一段时间(这个跟OD的配置有关,后面会讲到),OEP就
0x00 前言 闲着也是闲着,在逆向某软件时深入了解了下ESP定律,然后就想写个文章记录并分享下。 ESP定律又称堆栈平衡定律,是应用频率最高的脱壳方法之一 ,不论是新手还是老手都经常用到。据我所知,ESP定律是一位外国大牛发现的,但目前已无从考证(未找到相关资料)。 0x01 前置知识 栈 栈(s ...
转载 2021-08-23 14:55:00
313阅读
2评论
前言:ESP定律脱壳寻找OEP笔记ESP定律脱壳的原理ESP定律脱壳基于堆栈平衡所产生脱壳方法首先相关的壳程序代码在一开始会使用PUSHAD指令将所有的寄存器入栈,在intel x86cpu中此时其中ESP寄存器中的值是记录着相关寄存器(ESI)的值。然后我们ESP指向的内存处下一个硬件内存访问断点,壳程序执行完壳代码,此时就是解密完成后,会将之前的PUSHAD指令压入栈的寄存器值出栈以平衡堆栈P
转载 2024-10-21 08:38:21
167阅读
膜电位 Membrane potential这个术语也经常看到,不知道的时候一脸懵逼。细胞内部和它周围的电位差叫做膜电位。当没有刺激输入的时候,休息的神经元处于一种稳定的膜电位, 当一个脉冲达到神经元的时候,电位改变,然后最终又慢慢回归到休息电位 resting potential。突触后电位 Postsynaptic Potentials(PSP)如果电压差(当前电压 - 休息电压)为正,叫做兴
转载 2024-04-29 15:39:48
137阅读
网上说的esp定律脱壳时都说到“当esp变红时下访问断点”却没说明为什么,其实od当寄存器变化时就会变红,也就是说实质是留意堆栈什么时候变化。 而把壳当成一个call,当调用壳这个call时会压栈,esp变红。
原创 2021-09-01 11:39:30
87阅读
作者:Lenus FROM: poptown.gamewan.com/bbs E-MAIL:[email]meila2003@163.com[/email] 1.前言 在论坛上看到很多朋友,不知道什么是ESP定律ESP的适用范围是什么,ESP定律的原理是什么,如何使用ESP定律?看到了我在“”调查结果发现,大家对ESP定律很感兴趣,当然因为实在是太好用了,现在我就来告诉大家什么是ESP定律,它的
转载 精选 2007-06-23 18:24:23
1719阅读
1.了解EBP寄存器在寄存器里面有很多寄存器虽然他们的功能和使用没有任何的区别,但是在长期的编程和使用 中,在程序员习惯中已经默认的给每个寄存器赋上了特殊的含义,比如:EAX一般用来做返回值,ECX用于记数等等。在win32的环境下EBP寄存器用与 存放在进入call以后的ESP的值,便于退出的时候回复ESP的值,达到堆栈平衡的目的。应用以前说过的一段话:原程序的OEP,通常是一开始以 Push
  • 1
  • 2
  • 3
  • 4
  • 5