
ptrace
朱乐乐在路上
Smile as always
展开
-
ptrace 捕捉系统调用 x64 version
#include #include #include #include #include //#include #include const int long_size = sizeof(long); void reverse(char *str) { int i, j; char temp; for(i = 0, j =转载 2015-01-20 12:55:15 · 660 阅读 · 0 评论 -
玩转ptrace:【Playing with ptrace, Part I】
你是否曾尝试介入系统调用的执行,是否曾尝试通过改变系统调用的参数来欺骗内核,是否曾经想过debugger是怎么停止一个正在执行的进程,并且让你控制一个进程的。 如果你在想通过负责的内核编程来完成这个工作,请三思。其实Linux已经提供了一个完成这些工作的一个优雅的方式,就是ptrace系统调用。ptrace提供了父进程观察和控制其他进程的机制。它能够检查并且改变其他进程的image和寄存翻译 2015-01-19 11:43:05 · 749 阅读 · 0 评论 -
ptrace从i386到x64
我们之前学习ptrace的材料都是i386的,常常报错error: ‘struct user_regs_struct’ has no member named ‘eip’ 这是由于包含文件的问题,在i386结构下我们包含的头文件是 在x64机器上需要进行修改,改成 在x64机器上我们看到 其实最终访问的文件是/usr/include/x86_64-linux-gnu/sys/user.原创 2015-01-20 10:31:54 · 1780 阅读 · 2 评论 -
玩转ptrace:【Playing with ptrace, Part 2】
在这篇文章的第一部分,我们了解了ptrace是怎么用来追踪系统调用并且修改系统调用参数的,在这篇文章中,我们研究更高级的技术如加入断点以及在正在运行的程序中插入代码。debuggers利用这些方法来设置断点以及运行调试handlers.与第一部分一样,我们这里讨论的都是针对i386体系结构的。 Attaching to a Running Process 在第一部分,我们在调用ptra翻译 2015-01-19 22:49:16 · 647 阅读 · 0 评论 -
如何向一个正在运行的linux应用插入代码
原文地址:http://www.codeproject.com/Articles/33340/Code-Injection-into-Running-Linux-Application 介绍 假设你的程序在linux上运行,未来的很长一段时间也不想要终止运行,例如unix守护进程。然而你想要通过一个简单的方式来升级这个程序,但是却不想要终止程序的执行。这是你想到的就是在你的程序中更新一些已知的翻译 2015-03-10 22:25:10 · 1274 阅读 · 0 评论