让我们打一点小主意

能否链接我们 “修改” 过的 libc?

  • 我们就不用像修改器那样 “入侵” 地址空间了
  • 程序会主动把控制流交给我们
    • “工资自动上缴老婆账号”

LD_PRELOAD: 在加载之前 preload

  • How can I hook calls to malloc and free using LD_PRELOAD?
    • 利用动态链接特性:符号先到先占坑
    • 先加载一个自己的库,占据符号

其他操作系统上的 Hooking

Windows DLL Injection

  • DLL: Dynamic Link Library
  • 理论效果与 LD_PRELOAD 类似
    • How can I use Windows API to perform DLL injection if I have administrator privilege?
    • 进程的代码和数据都受你控制,还有什么不能干的?
      • Open Question: 如何反游戏外挂?

Android

  • LSPosed (Xposed 后继项目)
  • Android App 是一个 Java 程序
    • 都是 Zygote 的后代 (改了 Zygote 就行)