安卓逆向2025 Frida学习之ollvm分析(一)

admin 2025年4月11日10:40:39评论11 views字数 1030阅读3分26秒阅读模式
可以复习一下以前的内容
安卓逆向2025 -- Frida学习之native层hook案例
安卓逆向2025 -- Frida学习之hook案例(九)
一、将apk拖入jadx分析,查看AndroidManifest文件,找到apk入口,com.example.hellojni.HelloJni
安卓逆向2025  Frida学习之ollvm分析(一)
二、进入入口函数,sign1函数在hello-jni.so文件里面
安卓逆向2025  Frida学习之ollvm分析(一)
三、将so文件拖入ida分析,三个datadiv开头的函数就是ollvm
安卓逆向2025  Frida学习之ollvm分析(一)
这个只是静态分析的时候加密了,动态调用就可以查看解密内容
四、分析动态加载函数,双击进入JNI_OnLoad
安卓逆向2025  Frida学习之ollvm分析(一)
五、查看重要的RegisterNatives函数
安卓逆向2025  Frida学习之ollvm分析(一)
六、这里没有完全识别出函数,我们需要手动修改参数类型
1、int a1换为JavaVM *vm
安卓逆向2025  Frida学习之ollvm分析(一)
2、这时识别到一个函数GetEnv,将后面v5这个参数类型改为JNIEnv*
安卓逆向2025  Frida学习之ollvm分析(一)
七、我们要动态加载的函数都在这个RegisterNatives里面的第三个参数,v6 = off_325B4,双击进入这个偏移地址,里面有两个数值,
安卓逆向2025  Frida学习之ollvm分析(一)
七、双击进入第一个偏移3405E进去,这些都是加密的数据
安卓逆向2025  Frida学习之ollvm分析(一)
八、hook这两个地址
function aiyou() {    Java.perform(function () {        var base_hellojni=Module.findBaseAddress("libhello-jni.so");        if(base_hellojni){            var addr_3405E=base_hellojni.add(0x3405E);            console.log("addr_3405E:",ptr(addr_3405E).readCString());            var addr_34070=base_hellojni.add(0x34070);            console.log("addr_34070:",ptr(addr_34070).readCString());        }        }    )}aiyou()
安卓逆向2025  Frida学习之ollvm分析(一)
运行结果正好是我们要分析的函数名称。

· 今 日 推 荐 ·

听歌有惊喜,包邮送书哦!!!欢迎私聊,vx:ivu123ivu

将下面地址复制到浏览器即可欣赏 

http://163cn.tv/DdLCYjl 

(来自@网易云音乐)

安卓逆向2025  Frida学习之ollvm分析(一)

本文内容来自网络,如有侵权请联系删除

原文始发于微信公众号(逆向有你):安卓逆向2025 -- Frida学习之ollvm分析(一)

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年4月11日10:40:39
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   安卓逆向2025 Frida学习之ollvm分析(一)https://cn-sec.com/archives/3942715.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息