• 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 许可协议。转载请注明出处!
  • 声援博主: 如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。
  • 相关阅读:
    平衡搜索树——红黑树小记
    未pip设置国内镜像
    Spring_IOC
    ORA-38824无法手工修改存储过程的问题
    csv2geojson
    Intellij插件之ExtensionPoints
    .NET周报 【3月第4期 2023-03-24】
    Linux系统下centos中在线添加硬盘后不重启在线扩容linux系统目录不重启系统
    [极客大挑战 2019]RCE ME 1
    最高可达100倍压缩!钒星北斗开放平台:渐进式图片压缩库,实现北斗三号RDSS短报文图片传输
  • 原文地址:https://www.cnblogs.com/pwnfeifei/p/17759233.html