墨锋
Published on 2025-03-22 / 6 Visits
0
0

[翻译]FRIDA官方文档-入门-移植

移植

架构

移植

移植Frida的第一步是设置构建系统。假设你要将Frida移植到Linux/MIPS架构。由于Frida已支持Linux,我们只需要添加特定架构的部分内容。

移植构建系统

根据不同架构,可能需要调整releng/machine_spec.py。检查生成的机器文件,如build/目录下的frida-linux-mips.txt,确保工具链配置正确。

构建frida-gum

这是最低级别的组件,也是移植工作中最需要努力的部分。构建方法如下:

 $ git clone https://github.com/frida/frida-gum.git
 $ cd frida-gum
 $ make

这一步可能不会成功,但至少能为环境设置做好准备。

代码编译成功后,接下来需要关注的是通过测试:

 $ make test

你也可以只运行单个测试,例如:

 $ FRIDA_TEST_OPTIONS="--test-args='-p /Core/Process/process_modules' -v" make test

移植frida-gum

通过复制例如gum/backend-arm64来添加gum/backend-mips目录,然后进行替换。移植的关键部分是guminterceptor-mips.cgumspinlock-mips.cgumstalker-mips.c可以作为存根保留,因为它是一个高级功能,移植起来比较复杂。

构建frida-core

frida-gum成功构建后,接下来要对frida-core进行相同的处理。

移植frida-core

这部分主要是移植注入器。实现代码在这里,推荐的方法是跟随#if X86部分来移植特定架构的内容。有关Linux注入器的详细介绍,可以查看我们的演示视频这里


原文链接:Hacking | Frida • A world-class dynamic instrumentation toolkit

翻译来源:ChatGPT


Comment