CTF知识树-RE frida hook在ctf安卓逆向的简单应用

适合零基础入门的frida hook,在ctf安卓逆向里简单应用

视频

动态二进制插桩框架控制了程序的执行,就能够将插桩添加到执行程序中。我们可以在代码块之前和之后插入想要的代码,甚至也可以完全替换它们。就是钩子,在程序执行过程中钩出想要的执行操作,进行人为修改。

如果保留了相同的加密或者类似过程,可以通过hook写入密文进行解密

连接

  1. 连接模拟器 adb.exe connect 127.0.0.1:16384
    • 查看连接设备 adb.exe devices
  2. frida上传到模拟器下的/data/local/tmp目录 adb.exe push D:\ctf\TOOLS\mumu\MuMu_12\shell\frida-server-16.6.4-android-x86_64 /data/local/tmp
  3. 连接 adb.exe shell
  4. su cd /data/local/tmp/ chmod 777 frida-server-16.6.4-android-x86_64 ./frida-server-16.6.4-android-x86_64
  5. 新开窗口 转发 adb.exe forward tcp:27043 tcp:27043

frida-ps -U 查看正在运行进程

真机:frida-server-16.7.4-android-arm64

js脚本注入

-l js脚本名称,-f包名 frida -U -l D:\ctf\hook.js -f com.example.hihitt 指定包名 frida -U -n com.WM.one -l hook_getApplicationInfo.js 启动mainactivity adb shell monkey -p com.WM.one 1

另一个方式:启动应用 frida -U -F -l D:\ctf\exp.js

frida框架hook js脚本

  • vnctf2025 hook_fish
1
2
3
4
5
6
7
8
9
Java.perform(function() { 
    var MainActivity = Java.use("com.example.hihitt.MainActivity"); 
    console.log("找到类: com.example.hihitt.MainActivity"); 

    MainActivity.fish.implementation = function(a){ 
        console.log("参数为:",a); 
        this.fish(a); 
    } 
}); 
使用 Hugo 构建
主题 StackJimmy 设计