- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
就是加载程序后F8单步运行第一个变化的ESP值-Read
堆栈平衡原理之ESP 定律
用北斗3.5加壳再脱做一个简单的试验
几秒就可以到达OEP ,从而脱壳,用的就是 ESP 定律,
ESP 定律:在脱壳中表现为,加载程序后 F8单步运行 第一个变化的 ESP 值,右击寄存器上 ESP 在转存中跟随,在内存地址上 选中前四个,右击,断点,硬件访问,word ,F9,中断,……返回。
硬件断点相关命令有:HR HW HD 读,写,删
在我们开始讨论ESP定律之前,先讲解一下一些的汇编知识。
1。 CALL是子程序调用, CALL真正的意义是什么呢?我们可以这样来理解:
(1)。向堆栈中压入下一行程序的地址;(2)。JMP 到CALL的子程序地址处。
2。 RET/RETN/RETF 子程序的返回。在功能上是子程序调用的逆操作与CALL对应的就是RET了。对于 RET 我们可以这样来理解:
(1)。将当前的 ESP 中指向的地址出栈;(2)。JMP 到这个地址。
CALLSP-SP-2
CALL
SP-SP-2
[SP]-IP
IP-IP+disp
RET
IP-[SP]
SP-SP+2
16位
SP 堆栈指针
IP 指令指针
32位
ESP,EIP
RETEIP-[ESP]
RET
EIP-[ESP]
ESP-ESP+4
CALL
ESP-ESP-4
[ESP]-EIP
EIP-EIP+disp
堆栈是一个先入后出的队列,LIFO ( Last in , First out ), 既最后压入堆栈的对象最先被弹出堆栈。从高到低生长。他的生长方向与内存的生长方向正好相反。 内存从低到高生长,先入先出的,LILO。
内存顶部 (低址) 栈顶部
出进5210H
出
进
5214H
……
6000H
ccccccccH
6004H
ddddddddH
出
进
内存底部 (高址) 栈底部
压栈的操作 PUSH =ESP-4,出栈的操作是 POP =ESP+4。换句话说,堆栈中老的值,其内存地址,反而比新的值要大。
用OLLDBG加载一个小程序,找个CALL来看看是什么回事。
0045A0C8 /$ 55 push ebp ;加载后停在程序入口处
0045A0C9 |. 8BEC mov ebp, esp
0045A0CB |. 83C4 F0 add esp, -10
0045A0CE |. B8 389F4500 mov eax, 4344_pe.00459F38
0045A0D3 |. E8 14C6FAFF call 4344_pe.004066EC ;我看看这个CALL
0045A0D8 |. A1 94BF4500 mov eax, [45BF94]
0045A0DD |. 8B00 mov eax, [eax]
在程序执行到0045A0CE 这里,准备执行CALL时我们看看他的寄储器 (FPU) 和堆栈中的内容。
EAX 00459F38 4344_pe。00459F38
ECXEDX FFFFFFFF
EBX 7FFDF000
ESP 0012FFB0
EBP 0012FFC0
ESIEDIEIP 0045A0D3 4344_pe。0045A0D3
堆栈,ESP的内容:
0012FFB0 BD02DB34
当到了这个CALL 我们单步进入
004066EC /$ 53 push ebx ;进入后停在这里
004066ED |. 8BD8 mov ebx, eax
004066EF |. 33C0 xor eax, eax
004066F1 |. A3 0CD74500 mov [45D70C], eax
004066F6 |. 6A 00 push 0 ; /pModule = NULL
004066F8 |. E8 2BFFFFFF call jmp.kernel32.GetModuleHandleA ; \GetModuleHandleA
004066FD |. A3 14D74500 mov [45D714], eax |. A1 14D74500 mov eax, [45D714] |. A3 90B045
您可能关注的文档
最近下载
- 财务管理第七版张玉英习题答案.docx
- 天津市和平区2023-2024学年九年级上学期期中数学试题(含解析).doc
- 认知风格问卷的编制.pdf VIP
- 项目一,任务二,通览饭店的构成.ppt
- 北京邮电大学2020-2021学年第1学期《高等数学(上)》期末考试试卷(A卷)及标准答案.pdf
- 中心静脉压团体标准2024标准解读.pptx
- 二年级下册《道德与法治》全册教案教学设计.docx
- 人教版高考英语完形填空真题训练50题(含参考答案) 易错题集合.docx VIP
- TBT2803-2003 电气化铁道用断路器技术条件.docx VIP
- 《中华人民共和国医师法》培训课件PPT.pptx VIP
文档评论(0)