在做一个库,目的是想改变malloc
的行为,从 stack 上预先分配好的一大段内存处获取、释放内存。因为想做到对于下游应用基本透明(不需要LD_PRELOAD
等操作),所以需要劫持malloc
。
我目前的做法是定义了一个jmp
结构,存储了一系列的汇编代码,作用为跳转到我自己的fake_malloc
处。如果下游程序要求劫持malloc
,我就把malloc
函数所在内存地址页属性更改为可写,将我的汇编代码覆盖到 glibc 的malloc
地址处。
但是问题是除了我没别人能维护这段代码,搞得怨声载道。请问还有没有别的简单一点的方法来更改malloc
的属性?并且能够恢复
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.