安卓逆向2025 Frida学习之hook案例(一)

admin 2025年1月11日13:27:00评论9 views字数 1269阅读4分13秒阅读模式
接上节课内容:
安卓逆向2025 -- Frida学习之环境搭建
一、jadx分析源代码
将apk拖进jadx自动分析源码,点击导航,选择文本搜索
安卓逆向2025  Frida学习之hook案例(一)
搜索关键字“Login failed”,双击搜索到的节点,跳转到源代码处
安卓逆向2025  Frida学习之hook案例(一)
关键代码
if (!LoginActivity.a(obj, obj).equals(obj2)) {Toast.makeText(LoginActivity.this.mContext"Login failed."1).show();return;    }publicstaticStringa(String str, String str2) {try {SecretKeySpec secretKeySpec = newSecretKeySpec(str2.getBytes(), "HmacSHA256");Mac mac = Mac.getInstance("HmacSHA256");            mac.init(secretKeySpec);returna(mac.doFinal(str.getBytes()));        } catch (Exception e) {            e.printStackTrace();returnBuildConfig.FLAVOR;        }    } 
这里,我们先hook一下a函数,看看传进去的参数和返回值是啥,右击a函数,生成Frida代码
安卓逆向2025  Frida学习之hook案例(一)
二、编写Frida代码
1、打开webstorm,新建一个项目
安卓逆向2025  Frida学习之hook案例(一)
2、Frida代码的固定框架
functionaiyou() {Java.perform(function () {//粘贴frida代码    })}
3、粘贴后的效果
functionaiyou() {Java.perform(function () {letLoginActivity = Java.use("com.example.androiddemo.Activity.LoginActivity");LoginActivity["a"].overload('java.lang.String''java.lang.String').implementation = function (str, str2) {console.log(`LoginActivity.a is called: str=${str}, str2=${str2}`);let result = this["a"](str, str2);console.log(`LoginActivity.a result=${result}`);return result;        };    })}aiyou()//调用上面的代码
三、运行我们编写的frida代码
1、首先运行我们的frida服务端
安卓逆向2025  Frida学习之hook案例(一)
2、模拟打开样本案例,保持页面事激活状态
3、运行我们的JS代码
安卓逆向2025  Frida学习之hook案例(一)
4、进入模拟器触发按钮,直接弹出了加密后的代码
安卓逆向2025  Frida学习之hook案例(一)
5、将加密后的代码复制过去,成功过关
安卓逆向2025  Frida学习之hook案例(一)

· 今 日 推 荐 ·

安卓逆向2025  Frida学习之hook案例(一)

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

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

发表评论

匿名网友 填写信息