function-interposition相关内容

OSX Mavericks 上的函数插入

我完全按照本网站上的说明进行操作 http://www.newosxbook.com/src.jl?tree=listings&file=4-5-interpose.c 这是该页面的代码 #include #include #include #include #include //对于 malloc_printf()//注意:用 GCC 编译,而不是 cc(重要)//////这是预期 ..
发布时间:2021-06-13 19:11:18 其他开发

插入OS X系统调用

我需要插入(调用我的函数而不是原始函数)一些OS X系统调用来克服一个封闭源代码软件中的缺陷. 最好,最终的解决方案可以在10.5(Leopard)及更高版本下工作,但如果论点足够强大,我 可能可以要求10.6(Snow Leopard). 最好,最终的解决方案将是可执行文件,但我可能会选择脚本. 最好,即使在目标应用程序运行后,生成的解决方案也可以插入(“窃取向量"),但是我可 ..

标准C和C ++库中的malloc函数插入

我想编写一种共享库,以便可以将其内存使用情况与链接到的应用程序隔离开来.也就是说,如果将共享库称为libmemory.so,然后调用malloc,则我希望将该内存与用于服务于应用程序中对malloc的调用的堆分开保存在单独的堆中.这个问题不是关于编写内存分配器的,而是关于将库和应用程序链接和加载在一起的. 到目前为止,我一直在试验功能插入,符号可见性和链接技巧的组合.到目前为止,由于一件事, ..

如何与两个具有许多冲突函数的共享库链接

我目前正在Linux上与两个第三方共享库(A.so和B.so)进行链接。问题是两者都与另一个库静态链接,因此从A.so和B.so获得约400个函数具有相同的名称。 当我编译并链接-lA -lB或-lB -lA时,根据顺序,函数从A或B中分别被拾取,这是由于函数中断导致的问题,代码无法运行。我想知道是否有一种方法可以将函数名绑定到它们的库,这样两个库可以被链接和使用?因为那些重叠的函数名在A和B内 ..

在Linux中功能的设置,而不对dlsym

我目前工作的一个项目,我需要跟踪的几个系统调用和低级别的功能,如 MMAP , BRK使用, SBRK 。到目前为止,我一直在做这个使用功能的设置:我写的同名因为我替换( MMAP 为例)功能的包装函数,我通过设置 LD_ preLOAD 环境变量加载它的程序。我所说的真正功能通过我和则dlsym 加载一个指针。 不幸的是,我想换的功能之一, SBRK ,在内部被则dlsym 使用,所以当我尝试 ..
发布时间:2016-08-18 13:02:40 服务器开发

如何钩我的Andr​​oid应用程序的系统调用

我要拦截connect()系统调用和使用自己定制的实现。自定义实现会做一些动作,例如打印日志为简单起见,然后再调用系统的实现。 我看着奥黛丽的博客其中的方法是修补PLT。但不幸的是这code试图在重定位表更改地址时崩溃。 goggling过了一会儿,我碰到 ..

如何勾我的Andr​​oid应用程序的系统调用(非root权限的设备)

我试图拦截非植根设备上由我的Andr​​oid应用程序的所有系统调用。 所以每次我的应用程序写入的时间/读取文件,我想拦截系统调用和加密/解密流出于安全目的。加密的部分是没有问题的,但我怎么拦截系统调用? 由于该应用程序的部分模块开发的第三方供应商,而我不能更改源$ C ​​$ C,有没有其他办法,以确保数据的安全存储。 由于我没有root访问我无法访问系统调用表的地址描述这里,我无法通过L ..