关于系统调用的知识: Linux 的系统调用通过 int 80 实现,用系统调用号来区分入口函数 应用程序调用系统调用的过程是: 1、把系统调用的编号存入 EAX 2、把函数参数存入其它通用寄存器 3、触发 0x80 号中断(int 0x80)
关于系统调用的知识: Linux 的系统调用通过 int 80 实现,用系统调用号来区分入口函数 应用程序调用系统调用的过程是: 1、把系统调用的编号存入 EAX 2、把函数参数存入其它通用寄存器 3、触发 0x80 号中断(int 0x80寻找保存系统调用号的寄存器eax:
ROPgadget --binary 【文件名】--only 'pop|ret' | grep 'eax'
寻找保存函数参数的通用寄存器:
ROPgadget --binary 【文件名】--only 'pop|ret' | grep 'ebx'
寻找保存int80的地址:
ROPgadget --binary 【文件名】--only int
寻找保存‘/bin/sh’的地址:
ROPgadget --binary 【文件名】--string '/bin/sh'
