当前位置:首页 > CTF > 正文内容

Frida hook Android-server的安装

Luz6个月前 (12-09)CTF310

什么是Frida

Frida是一个开源的,适用于开发人员、逆向工程人员和安全研究人员的动态调试工具包。是一款基于python+js 的hook框架,支持运行在Android/Linux/Windows/MacOS等各主流操作系统上,得益于基于脚本的交互方式,相比xposed等传统hook方式更加便捷。

Frida官网     Frida下载      官方Github


Frida环境搭建

  1. 安装python、pip

  2. 安装Frida模块、Frida-tools模块    

pip install frida
pip install frida-tools

image.png

image.png

   3.查看手机的架构

image.png

如图手机CPU架构为:arm64-v8a(arm64)

   4.点此下载 对应的server端

image.png

   5.adb连接安卓手机

手机打开adb调试image.png

   6.上传服务端

adb push 服务端解压后的文件夹 /data/local/tmp

  image.png

   7.赋予权限并运行

adb shell   
su   #需在手机上赋予root权限
cd /data/local/tmp
chmod 777 server文件名
./server文件名

   8.连接手机测试状态

frida-ps -U

image.png

安装完成


简单的HOOK脚本

#脚本来源于:佚名RJ 师傅,对简单的安卓RE题目具有一定的通用性

import frida, sys

jscode = '''
Java.perform(function () {
    //这里是要Hook的软件具体位置的   包名 + 类名
    var Testsig = Java.use('com.yaotong.crackme.MainActivity');
    //这里写要Hook的方法名  以及参数
    Testsig.securityCheck.implementation=function(str){
        //直接返回为true
        return true;
    };
});
'''
def on_message(message, data):    
    print(message)
process = frida.get_usb_device().attach('com.yaotong.crackme')  # 要Hook的软件包名
script = process.create_script(jscode)
script.on('message', on_message)
print('运行完毕!!!请随便输入密码进入软件。')
script.load()
sys.stdin.read()

注意事项

  1. 确保命令行中python版本与pip版本对应,frida-ps命令执行显示不是内部或外部命令时,可以尝试搜索frida目录后将目录添加到系统环境变量。

  2. 安卓手机必须root。

  3. 查看手机CPU架构的工具很多,CPU-z什么的都可以,adb shell进去 cat /proc/cpuinfo 也可以。

  4. 0202年了其实基本上都是arm64的处理器了也不用纠结的。

分享给朋友:

相关文章

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。