问题标签 [ptrace]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1311 浏览

c++ - Linux:通过 ptrace() 执行系统调用

嘿 :) 我目前正在为 x86/x64 Linux 开发一个 memoryhacking 库。我努力的重点是实现某种远程系统调用执行。

这是我的代码,当我尝试执行有效的系统调用时,它只会使另一个进程崩溃。

(我在代码中使用的所有函数都是 ptrace 的包装器)您可以在这里找到完整的代码:http ://code.google.com/p/ethonmem/source/browse/

有人能够检测到我的错误吗?谢谢 :) 问候,弗洛里安

0 投票
2 回答
279 浏览

c++ - 监控程序的读/写路径的程序?

我试图为一个大学项目制作一个程序,但我陷入了困境:

您将如何监控程序写入或读取的文件?我希望有他们的路径名。

为了让问题更清楚,这里有一个例子:

考虑我们要监控的程序是 a.exe,a.exe 首先打开与 a.exe 位于同一文件夹中的名为“a1”的文件,然后打开另一个名为“a2”的文件。

程序必须给出“a1”和“a2”文件的相对或绝对路径,无论它们是否被打开以进行读/写..

如何在 C++ 中实现它?

编辑:是否可以将对 a1 和 a2 文件的调用转移到另一个路径?EDIT2:好的,让我这样说:我已将 firefox.exe 从 C:\program 文件移动到 D:\,现在当我运行 firefox.exe 时它不会工作,因为它适用于 C 中的许多文件:\program 文件,firefox.exe 将使用相对路径来访问文件。我打算做的是捕获对 firefox.exe 工作文件的调用,然后将调用定向到程序文件文件夹。如果我说清楚了,请告诉我..

0 投票
2 回答
390 浏览

objective-c - 将 ptrace 函数重命名为别的?如何?

在代码中,我会使用

#include <sys/types.h>

#include <sys/ptrace.h>

ptrace(PT_DENY_ATTACH, 0, 0, 0);

拒绝附加到该过程。我想知道是否有办法将“ptrace()”重命名为不太明显的名称。我尝试将 ptrace.h 复制到我自己的头文件中并将 int ptrace 更改为其他内容,但这只是失败并出现未定义的符号错误。而且我找不到对该函数的任何其他引用:\

在此先感谢您提供的任何信息。

0 投票
1 回答
675 浏览

c - 如何使用 ptrace 跟踪程序执行?

我一直在尝试使用系统调用“ptrace”(使用 PTRACE_SINGLESTEP 宏)来跟踪简单应用程序的执行。

在记录程序的执行时,我想跳过阅读中无用的部分,只关注我的应用程序的“主要”部分。因为每当我启动我的跟踪器时,我都会得到大约 10 万个执行步骤。

亲切

0 投票
1 回答
1617 浏览

c - pt_regs 和 user_struct_regs 的区别

最近我一直在搞乱 ptrace 和 registers ,我想知道 pt_regs 和 user_struct_regs 就内容而言是否有区别。更具体地说,它们是否都拥有相同的内容(寄存器值),但只是拥有不同的命名成员来保存它。

我注意到有些架构包含 user_struct_regs,而其他架构(例如 arm)则没有。

0 投票
3 回答
1761 浏览

strace - strace/ltrace 输出不一致的信息

strace pwd

ltrace pwd

为什么第一个参数NULLltrace

似乎 strace/ltrace 都使用ptrace系统调用,但为什么它们得到不同的信息?

0 投票
2 回答
1731 浏览

c - 在启动时停止子进程

我正在尝试实现一个检查点功能来检查一个进程。我通过分叉一个子进程来做到这一点。但是我需要在启动时暂停子进程。稍后,我们可以通过取消暂停子进程并使父进程自行终止来从检查点重新启动。

这是我编写的代码checkpoint以及restart_from_checkpoint如何调用它们的示例。

我不知道如何在调用后停止子进程ptrace(PTRACE_TRACEME,0,0,0)。其次,我不知道如何在让子进程继续的同时杀死父进程restart_from_checkpoint

最好的办法是可以使用一个参数ptrace来停止分叉进程,然后从PTRACE_CONT. 不幸的是,PTRACE_TRACEME 只在exec函数调用处停止。

0 投票
3 回答
1371 浏览

c - Solaris 中的 ptrace

我正在尝试将使用从 linux 的程序移植ptrace到 solaris,但没有运气,因为它抱怨sys/ptrace.h找不到。知道如何移植吗?

0 投票
2 回答
493 浏览

elf - ELF x86 可执行入口点

其中 debuggedfile 是指向 int 入口点所在偏移量的 elf 文件的流。当我使用 ptrace(PTRACE_PEEKTEXT, 0, entrypoint, 0) 它返回 -1

0 投票
2 回答
359 浏览

c - 使用 ptrace 获取和设置多个线程的 CPU 寄存器

我有兴趣在另一个监控进程的监督下运行多线程应用程序。监控进程应该能够获取和设置被监控应用程序中所有线程的 CPU 寄存器。我知道如何为单线程应用程序执行此操作。但我很想知道如何为多线程应用程序扩展它。