• 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 许可协议。转载请注明出处!
  • 声援博主: 如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。
  • 相关阅读:
    个人散户如何参与程序化交易?
    【CSDN|每日一练】硬币划分
    渗透中 POC、EXP、Payload、Shellcode 的区别
    .net core中你的MD5用对了吗?
    【自然语言处理】关系抽取 —— SIEF 概述
    windows上 Nexus 批量上传 maven依赖npm依赖
    【Arduino+ESP32专题】案例:编写Arduino类库
    Java手写红黑树应用拓展案例
    1-丁基-3-甲基咪唑醋酸盐[Bmim][Ac]|离子液体1,1,3,3,-四甲基胍乳酸盐TMGL
    浅谈安科瑞无线测温产品在埃及某房建配电项目中的应用
  • 原文地址:https://www.cnblogs.com/pwnfeifei/p/17759233.html