Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
从一个线程跟踪另一个线程
进行实验ptrace 系统调用 我试图跟踪同一进程的另一个线程 根据手册页 跟踪器和被跟踪者都是特定的线程 而不是进程 所以我看不出它不应该工作的原因 到目前为止 我已经尝试了以下方法 use PTRACE TRACEME来自clone d
Multithreading
ptrace
有没有一种方法可以从同一进程中的另一个线程查看一个线程的寄存器内容?
假设我有一个包含三个线程的进程 A B 和 C 我想使用线程 A 暂停线程 B 检查线程 B 的寄存器值 堆栈内容 然后将线程 B 中的一些信息提供给线程 C 通过线程 A 根据this http yarchive net comp lin
c
Linux
Multithreading
pthreads
ptrace
为什么 ls 的这些指令数相差如此之大? (ptrace vs perf vs qemu)
我想统计运行 bin ls 时执行的指令总数 我使用了 3 种方法 其结果差异很大 我不知道为什么 1 使用 ptrace 进行指令计数 我编写了一段代码 调用 ls 的实例并使用 ptrace 单步执行它 include
c
Linux
qemu
perf
ptrace
使用 ptrace 解析 Call 和 Ret。
我尝试使用 ptrace 解析可执行文件中的所有 Calls 和 Rets 符合x64操作码 http ref x86asm net coder64 html 我找到了操作码呼叫 0xe8并为重试 0xc3 0xc2 0xca 0xcb 自
c
Assembly
x8664
ptrace
ptrace 在 Linux 中如何工作?
The ptrace系统调用允许父进程检查附加的子进程 例如 在 Linux 中 strace 这是通过实现ptracesystem call 可以检查子进程调用的系统调用 当附加的子进程调用系统调用时 可以通知 ptracing 父进程
c
Linux
debugging
strace
ptrace
PTRACE_SINGLESTEP是如何实现的?
据我所知 我可能是错的 没有办法只执行onex86 64 系统上的指令 也许您可以执行后跟 ud2 操作码的指令来触发信号 但是您必须担心指令会修改控制流并转到其他地方 然而 如果我理解正确的话 ptrace 系统调用有一个 SINGLES
Linux
Assembly
x86
x8664
ptrace
从套接字 fd 获取 IP 地址、端口和连接类型
我有一个跟踪网络应用程序的跟踪程序 给定一个属于被跟踪者的套接字文件描述符 跟踪器是否有可能找到它对应的IP 对于服务器来说是它绑定到的接口的IP 对于客户端来说是被绑定接口的地址 用于建立连接的接口 端口号和连接类型 是否有 libc A
Linux
Sockets
NetworkProgramming
libc
ptrace
使用 ptrace 设置 RIP 的奇怪行为
基本上我正在使用ptrace将 shell 代码注入远程进程以供执行 但我发现有关 RIP 寄存器的一些奇怪的行为 我所做的是将 shell 代码复制到程序映射的起始地址 然后我使用 ptrace 将 RIP 设置为起始地址所在的地址 然后
Linux
Assembly
ptrace
关于使用 PTRACE_SYSEMU 有什么好的指南吗?
有没有人有关于使用的任何好的解释 教程 书籍或指南PTRACE SYSEMU http www kernel org doc man pages online pages man2 ptrace 2 html 我发现有趣的是 ptrace
Linux
ptrace
修改程序文本时ptrace POKETEXT如何工作?
它是否绕过了跟踪进程的只读页面权限 还是需要临时更改权限才可写 如果是这种情况 权限更改对跟踪的进程可见吗 看着内核源代码 https git kernel org pub scm linux kernel git torvalds lin
c
Linux
x86
systemcalls
ptrace
使用 ptrace 提取系统调用名称和参数
我正在做一项必须执行的任务strace喜欢使用功能ptrace 到目前为止 我已经找到了如何提取系统调用号和返回值 如下所示 In parent process struct user regs struct regs ptrace PTR
c
unix
systemcalls
strace
ptrace
android 支持 PTRACE_SINGLESTEP 吗?
好的 这是一个简单的问题 当我使用 ptrace 系统调用时 android 支持 PTRACE SINGLESTEP 吗 当我想ptrace一个android apk程序时 我发现我无法处理SINGLESTEP跟踪 但是当我使用PTRAC
Android
Linux
ptrace
C - 获取用popen打开的进程的PID
我有一个用 C 编写的程序 它使用 popen 打开另一个程序 我想获取该程序的 pid 或某种处理程序 以便在一定时间限制后 或者在它超出某些 ram 和 stdout 限制时杀死它 我认为这必须用ptrace来完成 它需要PID 但我不
c
popen
kill
PID
ptrace
如何设置 dr7 寄存器的值以便在 x86-64 上创建硬件断点?
我正在开发一个允许使用的 绑定 库ptrace 在 OCaml 语言中 但我的问题仅涉及ptrace 所以 现在 我正在尝试编写一小段代码 以便使用以下命令在 Linux x86 64 上创建一个简单的硬件断点ptrace define D
c
Linux
x8664
breakpoints
ptrace
gdb 如何启动汇编编译的程序并一次执行一行?
Valgrind 在他们的文档页面上说了以下内容 然后 您的程序将在 Valgrind 核心提供的合成 CPU 上运行 然而GDB似乎并没有这样做 它似乎启动了一个独立执行的单独进程 据我所知 也没有c 库 这就是我所做的 使用 clang
Linux
Assembly
GDB
x8664
ptrace
编写最简单的汇编调试器
假设我有以下汇编代码 我想单步执行 globl start start nop mov 60 eax syscall 我可以附加的最简单的方法是什么ptrace要单步运行这个吗 我通常这样做gdb但很好奇如何以最原始的方式手动执行此操作 没
c
Linux
Assembly
x86
ptrace
为什么这个 ptrace 程序说 syscall returned -38?
它是一样的this one除了我正在跑步execl bin ls ls NULL 结果显然是错误的 因为每个系统调用都返回 38 user test test trace syscall 59 called with rdi 0 rsi 0
c
Linux
ptrace
如何ptrace多线程应用程序?
编辑 取得进展 我正在尝试 ptrace vsftpd 守护进程 我有以下附加到守护进程的代码 然后它成功显示第一个生成的进程的 PID 然而 对于这个生成进程的子进程 它返回的 PID 为 2 3 该程序确实捕获了生成进程的退出 这让我觉
c
Multithreading
pthreads
ptrace
Linux:有没有办法在不停止/暂停进程(SIGSTOP)的情况下使用 ptrace?
我正在尝试将程序从 Windows 移植到 Linux 当我发现没有 真实 的时候 我遇到了一个问题ReadProcessMemoryLinux 上的对应项 我寻找替代方案 然后发现ptrace 一个强大的进程调试器 我快速用 C 编写了两
c
Linux
memory
process
ptrace
访问跟踪进程的内存空间的低开销方法?
我正在寻找一种有效的方法来访问 对于读取和写入操作 我的 ptraced 子进程的内存空间 正在访问的块的大小可能从几个字节到几兆字节不等 因此使用 ptrace 调用PTRACE PEEKDATA and PTRACE POKEDATA一
Linux
ptrace