Linux内存替换
本栏由浅入深地详细介绍了Linux平台下,利用Ptrace函数实现对其他进程内存数据进行读取、修改等技术。
bravewinds
二次元安全狗,PMP,CISSP
展开
-
[Ptrace]Linux内存替换(六)动态链接库函数替换
本文在 Linux内存替换(四)代码注入 的基础上,介绍了代码注入替换运行程序加载的动态链接库中指定函数的方法。 网上的一种思路是利用在被注入程序中申请空间存放待注入代码,然后通过修改GOT表函数地址指针实现函数替换;本文介绍的方法利用预先构造好的函数Shellcode直接覆盖动态链接库中指定函数代码实现函数替换。原创 2015-08-19 21:30:52 · 3787 阅读 · 0 评论 -
[Ptrace]Linux内存替换(五)x86_64平台代码注入
上一节完成了x86平台的简单代码注入,本节将该过程移植到x86_64平台下测试成功。【测试环境】 CentOS 5.4 (Final)x86_64 Linux version 2.6.18-164.el5. x86_64 GCC version 4.4.2 20080704原创 2015-08-12 20:52:42 · 2036 阅读 · 0 评论 -
[Ptrace]Linux内存替换(四)代码注入
【环境】 CentOS 6.6 (Final) Linux version 2.6.32-504.el6.i686 Gcc version 4.4.7 20120313【A程序:counter.c】#include #include long long timeum(){ struct timeval tim; gettimeofday (&tim ,原创 2015-08-09 20:21:15 · 3746 阅读 · 2 评论 -
[Ptrace]Linux内存替换(三)运行控制
在上一节中利用Ptrace实现了B程序对A程序进程信息的读取,下面一个实例将实现B进程对A进程的运行控制,即利用B进程暂停A进程运行,输入任意字符后继续执行,但以下实例在恢复A进程时失败,具体原因还在探索。【环境】 CentOS 6.4 RC Linux version 2.6.32-358.el6.i686 Gcc version 4.4.7 0120313【A程序:counter.c】#i原创 2015-08-04 12:03:08 · 1927 阅读 · 1 评论 -
[Ptrace]Linux内存替换(二)信息获取
对ptrace有了初步了解后,到网上找了一个简单例程熟悉一下,实现效果为B程序附加到A程序上获取A程序EIP等相关信息后输出。【环境】 CentOS 6.4 RC Linux version 2.6.32-358.el6.i686 Gcc version 4.4.7 0120313【A程序:counter.c】#include <stdio.h>int main(){ int i;原创 2015-07-30 10:55:51 · 1620 阅读 · 0 评论 -
[Ptrace]Linux内存替换(一)函数介绍
最近对Linux下内存替换突发兴趣,遂决定实践试试。Linux下的内存替换不像Windows可以利用CreateRemoteThread那么容易,不过Linux也提供了ptrace()这么强大的API,所以为了实现内存替换,首先我要初步了解ptrace()。【形式】#include <sys/ptrace.h>int ptrace(int request, int pid, int addr, i原创 2015-07-30 09:31:49 · 2124 阅读 · 0 评论 -
[ASM]Linux x86平台汇编实例
【环境】 CentOS 6.6 (Final) Linux version 2.6.32-504.el6.i686 gcc version 4.4.7 20120313 nasm version 2.07原创 2015-08-19 20:10:03 · 882 阅读 · 0 评论 -
[LinuxC]毫秒级时间间隔计算程序实例
#include #include long long timeum(){ struct timeval tim; gettimeofday (&tim , NULL); return (long long)tim.tv_sec*1000000+tim.tv_usec;}int main(){ long long start = timeum();原创 2015-08-05 11:46:29 · 1080 阅读 · 0 评论 -
[LinuxC]加载动态链接库so程序简单实例
本实例力求最小化实现动态链接库加载,记录下来,督促自学。【测试环境】CentOS 5.4 (Final)x86_64Linux version 2.6.18-164.el5. x86_64GCC version 4.4.2 20080704原创 2015-08-13 15:21:04 · 1789 阅读 · 0 评论