正文 首页bobapp综合体育

rdi寄存器,rsi寄存器

ming

这个函数接受传入的整型参数(您还记得,第一个参数是在RDI 中传入的),将其存储到RDX 寄存器中,并将该参数压入堆栈。然后将RDX 设置为0x0,然后将从堆栈中pop 的值存储回RDX 寄apt install ropper //安装ropper ropper --file ret2win_params --search "pop rdi" //从内存中弹出值到rdi寄存器中这个地址是执行pop rdi操作的0x00000000

被调者保存的寄存器;或用作帧指针要%rsi 用来给函数传递第2 个参数不要%rdi 用来给函数传递第1 个参数不要%r8 用来给函数传递第5 个参数不要%r9 用参数xp中存放的是数值4 的内存地址,该地址存放在寄存器%rdi 中。参数y中的数值是3,该值保存在寄存器%rsi 里。exchange 函数的初始状态*注:图中Memory

那么x64系统下参数是存放在寄存器上,第一个参数地址放在rdi寄存器里。这样要执行system(‘bin/sh’我们就需要找'/bin/sh'字符串的地址,然后把该地址放到rdirsi, rcx),并且实际上为什么选择RDI和RSI作为x86-64 System V ABI中的前2个arg传递寄存器:一些函数打电话memset或memcpy使用他们的前1或2个args,因此rep movsb/d在这种情况下

1、rax作为函数返回值使用2、rsp指向栈顶3、rdi、rsi、rdx、rcx、r8、r9、r10等寄存器用于存放函数参数三、64位AT&T汇编- 寄存器四、ARM汇编- 寄存器五、AT&T汇编v新名称rXX 64 位寄存器清楚地表明,旧的寄存器名称只是为了熟悉和兼容。但请注意,某些指令仍然仅适用于某些寄存器,例如rep movsb 在x86-64 System V ABI 中仅用作memcpy(r

Intel 64、rsi和rdi寄存器在Intel64体系结构中,有RAX.RDX寄存器,它们是简单的A.D通用寄存器。但是也有称为rsi和rdi的寄存器,它们是“源索引”和“目标索引”寄存器。为什么通用寄存器在我们的程序运行中所做的事可以简单地总结为每个函数(方法)执行时暂时存放参数和返回值。每个参数对应的寄存器的关系为:第一个参数:RDI 第二个参

版权免责声明 1、本文标题:《rdi寄存器,rsi寄存器》
2、本文来源于,版权归原作者所有,转载请注明出处!
3、本网站所有内容仅代表作者本人的观点,与本网站立场无关,作者文责自负。
4、本网站内容来自互联网,对于不当转载或引用而引起的民事纷争、行政处理或其他损失,本网不承担责任。
5、如果有侵权内容、不妥之处,请第一时间联系我们删除。嘀嘀嘀 QQ:XXXXXBB