• frida动态插桩初探


    前言

    近期碰到了分析app的需求,就学习了一下 frida的动态插桩技术。frida是一款轻量级HOOK框架,可用于多平台上,例如android、windows、ios等。frida分为两部分,服务端运行在目标机上,通过注入进程的方式来实现劫持应用函数,另一部分运行在我们自己的控制机上。frida上层接口支持js、python、c等。

    环境配置

    安装frida模块

    pip install frida
    

    安装frida-tools模块

    pip install frida-tools
    

    通过如下命令查看模拟器架构。从 https://github.com/frida/frida/releases 可下载对应架构的 frida-server,并上传到模拟器/手机中。

    getprop ro.product.cpu.abi
    

    frida hook java层 实操

    这里拿的是一个别人写的 demo文件进行练手。实现的功能是,按了按钮就会返回一个随机数。

    用jadx反编译apk可以很容易找到如下代码,我们知道如果我们可以控制 Jniint的返回值,便可以控制打印出来的数据。

    通过如下代码便可hook其返回值为 6666。

    Java.perform(function () {
        // we create a javascript wrapper for MainActivity
        var Activity = Java.use('com.erev0s.jniapp.MainActivity');
        // replace the Jniint implementation
        Activity.Jniint.implementation = function () {
            // console.log is used to report information back to us
            console.log("[+] Hook Jniint success!");
            // return this number of our choice
            return 6666
        };
    });
    

    参考连接

    https://xz.aliyun.com/t/8211

    https://erev0s.com/blog/how-hook-android-native-methods-frida-noob-friendly/


    __EOF__

  • 本文作者: 狒猩橙
  • 本文链接: https://www.cnblogs.com/pwnfeifei/p/17759233.html
  • 关于博主: 评论和私信会在第一时间回复。或者直接私信我。
  • 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
  • 声援博主: 如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。
  • 相关阅读:
    IIS系统结构
    深度学习模型笔记
    java-net-php-python-ssm电影推荐网站计算机毕业设计程序
    【软件安装】Ubuntu18.04及20.04中安装omnet++
    Springboot操作mongodb的两种方法:MongoTemplate和MongoRepository
    C#八皇后算法:回溯法 vs 列优先法 vs 行优先法 vs 对角线优先法
    功能强大的流式文本编辑器 sed
    Azure 机器学习 - 设置 AutoML 训练时序预测模型
    在Kubernetes上安装和配置Istio:逐步指南,展示如何在Kubernetes集群中安装和配置Istio服务网格
    物联网的应用——工业自动化
  • 原文地址:https://www.cnblogs.com/pwnfeifei/p/17759233.html