![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux hook
linuxheik
这个作者很懒,什么都没留下…
展开
-
ELF的GOT和PLT以及PIC
ELF的GOT和PLT以及PIC发表回复全局偏移表(GOT)和过程链接表(PLT)ELF 格式的共享库使用 PIC 技术使代码和数据的引用与地址无关,程序可以被加载到地址空间的任意位置。PIC 在代码中的跳转和分支指令不使用绝对地址。PIC 在 ELF 可执行映像的数据段中建立一个存放所有全局变量指针的全局偏移量表 GOT对于模块外部引用的全局变量和全局转载 2013-04-25 16:24:46 · 1153 阅读 · 0 评论 -
gdb反汇编
gdb反汇编好吧,我承认我对gdb只是一知半解,学无止境 1、disassemble反汇编命令:disassemble 是以反汇编清单的形式输出内存的内容,表示的格式由命令set disassembly-flavor确定1.1不带参数默认的反汇编范围是 所选择帧的pc附近的函数1.2单个参数 就是pc, 当然也可以是函数名,因为函转载 2013-12-24 15:08:21 · 5156 阅读 · 0 评论 -
testdbg-测试调试器
testdbg-测试调试器2011-02-24 14:07:00标签:测试 休闲 调试器 职场 testdbg原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://baidutech.blog.51cto.com/4114344/743464导读你想要在没有源代码的情况下调试一个C/C++程转载 2013-07-22 18:00:10 · 834 阅读 · 0 评论 -
Linux系统对IO端口和IO内存的管理
http://blog.csdn.net/ce123_zhouwei/article/details/7204458Linux系统对IO端口和IO内存的管理一、I/O端口 端口(port)是接口电路中能被CPU直接访问的寄存器的地址。几乎每一种外设都是通过读写设备上的寄存器来进行的。CPU通过这些地址即端口向接口电路中的寄存器发送命令,读取状态和传送数据。外设寄存转载 2014-02-23 10:26:48 · 769 阅读 · 0 评论 -
BLCR
摘要:介绍了利用blcr对android启动速度进行优化的原理、实施步骤和注意点,在虚拟机上验证获得缩短10秒以上启动时间。关键词:blcr android 启动速度 zygote 类加载引言 随着google的android操作系统在手机、平板电脑等领域大量使用,android的启动速度慢也成为许多使用者抱怨的缺点。相比手机这类平时较少开关机的设备,平板电脑在实际使用转载 2014-02-14 11:26:20 · 1256 阅读 · 0 评论 -
dup and dup2的剖析
dup and dup2的剖析dup和dup2都可用来复制一个现存的文件描述符,使两个文件描述符指向同一个file结构体。如果两个文件描述符指向同一个file结构体,File Status Flag和读写位置只保存一份在file结构体中,并且file结构体的引用计数是2。如果两次open同一文件得到两个文件描述符,则每个描述符对应一个不同的file结构体,可以有不同的File St转载 2014-03-05 20:01:04 · 584 阅读 · 0 评论 -
Linux中ELF格式文件介绍
ELF(Executable and Linkable Format)即可执行连接文件格式,是一种比较复杂的文件格式,但其应用广泛。与linux下的其他可执行文件(a.out,cof)相比,它对节的定义和gnu工具链对它的支持使它十分灵活,它保存的足够了系统相关信息使它能支持不同平台上的交叉编译和交叉链接,可移植性很强.同时它在执行中支持动态链接共享库。 通过本文,可以大致了解Linux系转载 2015-10-17 11:09:55 · 623 阅读 · 0 评论 -
加密so文件中指定的函数
加密so文件中指定的函数作者: 0n1y3nd丶 分类: 逆向学习 发布时间: 2014-09-04 22:24 ė 61条评论前言 上一篇文章中详细分析了对so文件中自定义section的加密,这一篇来分析下对so文件中自定义函数的加密 原文地址:http://bbs.pediy.com/showthread.php?t=191649转载 2015-10-17 11:12:41 · 1976 阅读 · 0 评论 -
Detours x64
发信人: flier (小海 [渴望并不存在的完美]), 信区: MSDN标 题: Detours x64 [Draft]发信站: 水木社区 (Fri Aug 3 01:01:07 2007), 站内该死的路径依赖,为了折腾另外一个问题,不得不先把这个搞定 :SDetours我就不介绍了,MSR放出的2.1 Express版本不支持64位而据某人发邮件问,要1000转载 2015-10-19 21:15:49 · 1829 阅读 · 0 评论 -
Linux 平台一种进程代码注入方法
Linux 平台一种进程代码注入方法Posted on 2012年06月7日用于在目标程序的 main 函数执行前完成一些操作 特定情况下用来调试还是不错的。源代码/* fakemain.c * Heiher */ #include #define __USE_GNU#include static void do_som转载 2013-04-27 16:08:17 · 1416 阅读 · 0 评论 -
hook
我们hook的就是第18行(0042EC7B)那句代码,setHookBytes构建了一个5字节的call语句,0xe8为CALL指令的机器码,后面4个字节是CALL的偏移量(目标地址 - 当前地址 - CALL指令占用的5个字节)。 Inline Hook 之(监视任意函数)分类: 汇编语言 C/C++ inline汇编转载 2015-10-19 19:20:00 · 1009 阅读 · 0 评论 -
hook leaveq retq
Linux中的局部变量和栈 2015-01-08 13:52:05分类: LINUX本文主要关注Linux环境中局部变量存放的位置,以及栈中的数据分布。一、问题:1、局部变量存放在栈中,动态分配的内存存放在堆中,看似一个基本常识,但事实真是如此么?2、栈中的数据是临时的,当函数退出时会自动释放,也是一个基本常识,但这是如何做到的呢?3、栈中的具体转载 2015-10-20 14:35:33 · 2571 阅读 · 0 评论 -
向正在运行的Linux应用程序注入代码
小编的话:感谢0×80的认真翻译,辛苦:) ,各位同学,不要吝惜你的顶和评论哦!原作者:Gregory Shpitalnik翻译:0×801、简介假设Linux上正在运行某程序,像Unix守护程序等,我们不想终止该程序,但是同时又需要更新程序的功能。首先映入脑海的可能是更新程序中一些已知函数,添加额外的功能,这样就不会影响到程序已有的功能,且不用终止程序。考虑向转载 2016-04-18 19:11:49 · 592 阅读 · 0 评论 -
Linux System Calls Hooking Method Summary LD_PRELOAD
Linux System Calls Hooking Method Summary相关学习资料http://xiaonieblog.com/?post=121http://hbprotoss.github.io/posts/li-yong-ld_preloadjin-xing-hook.htmlhttp://www.catonmat.net/blog/simple-转载 2016-04-18 19:23:24 · 1703 阅读 · 0 评论 -
linux 下hook函数
hook在windows下可以说是知名度相当高的一种"高级“技术想在linux下面实现像windows下的那种hook的功能,不过网上的资料很少(LD_PRELOAD 也可以做类似的事)自己研究了下,写了个类似功能的函数思想很简单,就在运行时把一个函数的入口改成jmp到另一个地址点击(此处)折叠或打开#include iostream>#转载 2016-04-18 19:26:00 · 5214 阅读 · 1 评论 -
Linux下Hook一个共享库函数
有时程序员需要完成这类任务:假如你有一个二进制版的系统,例如现在流行的android,你需要为这个系统开发一个软件。这个软件牵涉到系统行为,因此需要对系统做修改。然而你并没有这个系统的所有源码( Nexus S的源码不一定与 android 官方版本一模一样),或者是你只有这个系统的头文件。当你需要修改部分系统行为的时候,你不可能用源码重新编译一个共享库来替换系统文件。此时,就需要利用 d转载 2016-04-18 19:28:02 · 3370 阅读 · 0 评论 -
dl_iterate_phdr
http://www.helplib.net/s/linux.die/65_1099/man-3-dl-iterate-phdr.shtmlhttp://linux.die.net/man/3/dl_iterate_phdrdl_iterate_phdr(3)linux man page名称dl_iterate_phdr 遍历共享对象列表staging转载 2013-12-23 11:47:57 · 5669 阅读 · 0 评论 -
在Linux程序中输出函数调用栈
在Linux程序中输出函数调用栈12/23. 2013程序发生异常时,将函数的调用栈打印出来,可以大大提高定位效率。Linux中提供了三个函数用来获取调用栈:12345678/* 获取函数调用栈 */int backtrace(void **buf转载 2013-12-28 17:03:55 · 903 阅读 · 0 评论 -
动态链接库中函数的地址确定---PLT和GOT
动态链接库中函数的地址确定---PLT和GOT 2012-09-16 20:27:42分类: C/C++ 前面写过动态链接库 延迟绑定的一篇博文,那篇文章我非常喜欢,但是当时刚搞清楚,自己写的比较凌乱,我最近学习了Ulrich Drepper的How to write share library,学习了几篇其他的讲述动态链接的文章,再次整理了这篇文章。转载 2013-04-25 16:41:06 · 2086 阅读 · 0 评论 -
Linux动态库(一)之同名符号
万事皆有缘由,还是先从我遇到的这个问题说起~~~ 问:有一个主执行程序main,其中实现了函数foo(),同时调用动态库liba.so中的函数bar(),而动态库liba.so中也实现了foo()函数,那么在执行的时候如果在bar()中调用foo()会调用到哪一个?在main()中调用呢? 直接给答案:如果是在Linux上,liba.so中的foo()函数是一个导出的(extern)”转载 2013-04-27 15:04:55 · 1265 阅读 · 0 评论 -
Linux下的 API Hook
Linux下的 API Hook2011-02-18 15:39:59标签:linux HOOK api 休闲 职场这个东西是在研究Linux下屏幕抓词的时候写的,用于观察相关API的运行情况。HookFunc 是要先执行自己的代码,再执行目标程序。HookFuncEx 是要先执行目标API,再到自己的函数中拦截结果。要点:编译不要时不要采用优化转载 2013-04-27 15:11:37 · 1100 阅读 · 0 评论 -
linux库函数劫持技术
linux库函数劫持技术 2011-12-13 22:49:23分类:原文地址:linux库函数劫持技术 作者:CUKdd众所周知,在Windows平台下可以使用挂钩(Hook)技术,将系统中的鼠标、键盘等事件拦截下来,以添加实现自己的功能。同样的,在Linux系统中也有类似的技术,都可以起到挂钩(Hook)拦截的作用。虽然可以实现拦截的功能,但是它们的转载 2013-04-27 15:20:19 · 1151 阅读 · 0 评论 -
Linux 2.6 下通过 ptrace 和 plt 实现用户态 API Hook
Linux 2.6 下通过 ptrace 和 plt 实现用户态 API Hook2011-02-18 15:56:17标签:linux ptrace 休闲 hook 职场(转载兼整理)Linux 2.6 下通过 ptrace 和 plt 实现用户态 API Hook这厮此文写的相当实用,不知道为啥不好好整理一下,得,我代劳了吧。作者:l04m33@gm翻译 2013-04-27 15:28:35 · 906 阅读 · 0 评论 -
linux内核系统调用hook
http://www.linuxforu.com/2011/08/lets-hook-a-library-function/我以前利用0x80中断程序找到system_call然后找到 sys_call_table的方法,现在试下hook系统调用sys_mkdir来阻止创建目录小试牛刀。#include #include #include #include #inclu转载 2013-04-27 15:43:18 · 1231 阅读 · 0 评论 -
linux hook
http://www.codeproject.com/Articles/33340/Code-Injection-into-Running-Linux-Application原创 2013-04-19 17:33:15 · 774 阅读 · 0 评论 -
https://code.google.com/p/baiduhook/
https://code.google.com/p/baiduhook/转载 2013-05-23 14:27:12 · 1689 阅读 · 0 评论 -
用gdb+nm调试php c extension程序
用gdb+nm调试php c extension程序最近在写Beanstalkd的php c extension客户端程序,写程序离不开调试,下面把调试中碰到的问题和解决方法和大家分享一下。.so写好了是给php脚本调用的,如果php脚本执行崩掉了,.so也只能在进程中饮恨而终,这时候php脚本调试经常用的echo, print_r, var_dump都派不上用场了。即使能打印转载 2013-05-23 14:37:53 · 762 阅读 · 0 评论 -
gdb动态库延迟断点及线程/进程创建相关事件处理(上)
gdb动态库延迟断点及线程/进程创建相关事件处理(上) 2012-04-25 22:57:29| 分类: gdb源代码分析|字号 订阅一、gdb对共享库符号的支持当使用gdb调试一些动态链接生成的可执行文件时,我们可能会有意或者无意的在一些不存在的函数上打断点,此时gdb并不是提示错误,而是提示是否在之后加载的动态库中添加该断点,也就是pending断点转载 2013-05-23 14:38:52 · 1355 阅读 · 0 评论 -
重定向已经运行进程的标准输出到文件的办法(通过ptrace注入代码到其他进程并运行)
重定向已经运行进程的标准输出到文件的办法(通过ptrace注入代码到其他进程并运行)上次看到CSDN里面有人问这个问题,我觉得用ptrace这个系统调用是可以实现的。前两天在IBM developworks看到中兴工程师写的一篇文章是用ptrace来挂钩系统调用然后获取已运行进程的网络包的,他文章里面把程序之间通讯用的网络包分离出来然后在wireshrark中分析。通过这篇文档转载 2013-05-23 16:51:45 · 1366 阅读 · 0 评论 -
Playing with ptrace, Part II
Playing with ptrace, Part IIFrom Issue #104December 2002Dec 01, 2002 By Pradeep Padala inSysAdminIn Part II of his series on ptrace, Pradeep tackles the more a转载 2013-05-23 16:53:05 · 595 阅读 · 0 评论 -
动态加载so
so动态加载库 Hotpatch empast发布于 2012-11-08 | 183次阅读 字号: 大 中 小 (网友评论 0 条) 我要评论Hotpatch 是一个允许正在运行的进程动态加载一个 so 库的 C 库,类似于 Win32 上的 CreateRemoteThread() API。和其他现有的动态加载方案相转载 2013-05-30 17:41:55 · 731 阅读 · 0 评论 -
C/C++宏定义的可变参数详细解析
C/C++宏定义的可变参数详细解析发布:jingxian 字体:[增加 减小] 类型:转载在1999年版本的ISO C 标准中,宏可以象函数一样,定义时可以带有可变参数。宏的语法和函数的语法类似编写代码的过程中,经常会输出一些调试信息到屏幕上,一般会调用printf这类的函数。但是当调试解决之后,我们需要手工将这些地方转载 2013-09-23 17:32:45 · 573 阅读 · 0 评论 -
top查询机器情况
top命令 是Linux下常用的性能 分析工具 ,能够实时显示系统 中各个进程的资源占用状况,类似于Windows的任务管理 器。下面详细介绍它的使用方法。top - 02:53:32 up 16 days, 6:34, 17 users, load average: 0.24, 0.21, 0.24Tasks: 481 total, 3 running, 474 sleepi转载 2017-07-21 22:40:11 · 359 阅读 · 0 评论