• 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 许可协议。转载请注明出处!
  • 声援博主: 如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。
  • 相关阅读:
    光学知识整理-偏振光
    ORB-SLAM2 ---- computeOrbDescriptor函数
    Qt:多语言支持,构建全面应用程序“
    ros2官方安装教程记录解读----
    HTML网页设计制作——初音动漫(6页) dreamweaver作业静态HTML网页设计模板
    设计模式存在哪些关联关系,六种关系傻傻分不清--- UML图示详解
    konva系列教程2:绘制图形
    递归回溯实战+思想
    JVM探究
    Stable diffusion的一些参数意义及常规设置
  • 原文地址:https://www.cnblogs.com/pwnfeifei/p/17759233.html