如何使用ptrace跟踪程序执行情况?
我一直在尝试使用系统调用“ptrace”(使用 PTRACE_SINGLESTEP 宏)来跟踪简单应用程序的执行。 在记录程序的执行时,我想跳过阅读中无用的部分,只从…
sys_open 的 ptrace %edx 不一致
我正在尝试使用 ptrace 从 sys_open 系统调用中获取文件名。我获得了文件路径指针,并且能够从该地址获取正确的数据,但是,我需要一种方法来知道要获…
Linux:通过 ptrace() 执行系统调用
嘿 :) 我目前正在为 x86/x64 Linux 开发一个内存黑客库。 我挣扎的重点是实现某种远程系统调用执行。 这是我的代码,当我尝试执行有效的系统调用时…
ptrace 附加到 vsftpd 挂起
我正在尝试 ptrace linux 上的 vsftpd 服务器进程,以便在 vsftpd 进程进行系统调用时能够获得控制权。我启动 vsftpd 进程并将此进程 ID 作为命令行传…
Linux ptrace 怎么会不安全或包含竞争条件?
我想通过 ptrace()ing 我启动的进程及其所有子进程将创建的进程(包括孙子进程等)来实现沙箱。 ptrace() 父进程,即主管。将是一个简单的 C 或 Pytho…
在 ptrace 时如何在调试器中获取信号详细信息?
我有一个调试器,正在从 linux 移植到 *bsd。目前,我正在开发 OpenBSD 版本。 在某些情况下,我想知道所传递信号的详细信息。例如,假设发送了 SIGSE…
ptrace 多线程应用程序
我有一个类似“调试器”的应用程序,名为hyper-ptrace。它启动 user_appl3,它是带有 NPTL 的多线程。 hyper-ptrace的主循环是: wait3(&status, F…
struct reg 和 struct user_regs_struc 之间的区别?
Linux 64 位机器上的 struct reg 和 struct user_regs_struc 有什么区别?…
64位Linux上程序/指令指针(RIP)和基址/帧指针(RBP)之间的关系
我需要一些帮助来检索 Linux 64 位 机器上调用堆栈的指令指针 (RIP)。我可以使用 ptrace 遍历堆栈并检索所有帧/基指针(RBP)值。但由于我想要IP值,R…
外部程序中引起 SIGSEGV 的指令地址
我想获取导致外部程序发生 SIGSEGV 的指令地址。我尝试使用 ptrace 来实现此目的,但我从内核空间获取 EIP(可能是默认信号处理程序?)。 GDB如何获…
检测信号发送者(linux、ptrace)
我可以区分直接传递到进程的信号和通过调试器传递的信号吗? 情况 1: $ ./process1 process1 (not ptraced) //set up handler alarm(5) .... //signa…