码迷,mamicode.com
首页 >  
搜索关键字:ebp    ( 242个结果
c语言指针
例子:struct context { uint edi; uint esi; uint ebx; uint ebp; uint eip;}; ...p->context = (struct context*)sp;p->context->eip = (uint)forkret;结构体成...
分类:编程语言   时间:2014-06-28 17:26:51    阅读次数:172
X86 32位的基本寄存器
4个数据寄存器(EAX、EBX、ECX和EDX)  2个变址和指针寄存器(ESI和EDI) 2个指针寄存器(ESP和EBP)  6个段寄存器(ES、CS、SS、DS、FS和GS)  1个指令指针寄存器(EIP) 1个标志寄存器(EFlags)...
分类:其他好文   时间:2014-06-28 07:34:43    阅读次数:291
Linux逻辑地址与物理地址的key point
以下的一段代码: #include greeting() { printf("Hello, world!\n"); } main() { greeting(); } 经过gcc、ld(链接、编译)之后,生成一个elf可执行文件,再使用objdump处理,生成的反汇编代码如下: 08048368 : 8048368: 55 push %ebp 8048369: 89 e5 mov %esp,...
分类:系统相关   时间:2014-06-22 17:34:39    阅读次数:351
gcc omit-frame 如何找到函数的第一个参数
void run(int n) {   int m = n; } int main() {   run(1000);   return 0;  } 08048374 :  8048374: 55                   push   %ebp  8048375: 89 e5                 mov    %esp,%ebp  804...
分类:其他好文   时间:2014-06-05 01:01:20    阅读次数:248
C语言函数调用栈(三)
6 调用栈实例分析 本节通过代码实例分析函数调用过程中栈帧的布局、形成和消亡。6.1 栈帧的布局 示例代码如下: 1 //StackReg.c 2 #include 3 4 //获取函数运行时寄存器%ebp和%esp的值 5 #define FETCH_SREG(_ebp, _esp) ...
分类:编程语言   时间:2014-06-04 19:30:54    阅读次数:420
汇编优化工具
/* 汇编优化工具 使汇编代码更具可读性,并提高汇编速度 优化15000行大约需要30秒 */ import rfile.h main { name=getsl s=rfile.read_all_n(name) s=s.replace('\n','\r\n') s=s.replace('dword esp','esp') s=s.replace('dword ebp','ebp')...
分类:其他好文   时间:2014-06-04 13:44:52    阅读次数:332
rep stos ptr dword es:[edi]
今天读代码时,忽然跳出如下一条指令==>>汇编代码: rep stos dword ptr es:[edi]在网上查了相关资料显示:/************************************************************/lea edi,[ebp-0C0h]mov ...
分类:其他好文   时间:2014-05-28 09:02:53    阅读次数:222
同时替换.data与栈中的Cookie突破GS
原理简述替换.data中保存的数值为0x909090,替换栈中的数值为0x909090 xor ebp(所在函数帧的),溢出“正面绕过”GSmain函数特点:距离ret近,而且有三个参数gs过程1,gs原理简述。从.data中取出cookie(cookie_ori),运算之后放入栈中成为cookie...
分类:其他好文   时间:2014-05-26 13:40:36    阅读次数:389
加壳学习笔记(二)-汇编基础
简单的call函数过程 1.参数入栈,返回地址入栈。在一个栈帧里,call function的完整过程应该是这样的,call调用的过程要经历两个过程,一个是首先把调用函数之前的指令的下一条指令地址压入栈中(push ebp),作为返回地址,也就是保存旧栈地址,接着会跳转到被调函数的地址入口。呵呵,现在就是借此来恶补汇编哈。 2.代码区跳转。在执行被调函数的时候,为函数重新开辟栈帧,(mov ebp,esp)这句的意思是将旧栈顶换为新栈的底,这里的新栈一般是由函数专属的哈, 下面就是用sub esp, ...
分类:其他好文   时间:2014-05-22 11:34:25    阅读次数:189
Assembly instructions 汇编指令解析 A&AT
Assembly instructions 汇编初步学习 汇编0基础的戳上面,刷一遍,包治百病 %eax寄存器的值与C语言的return的值相对应 (%esp)地址处储存的是函数的返回地址 return address %esp 栈顶寄存器 保存栈顶指针。 %ebp = boundary between p...
分类:其他好文   时间:2014-05-13 06:28:37    阅读次数:416
242条   上一页 1 ... 22 23 24 25 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!