吾爱汇编

 找回密码
 立即注册

QQ登录

绑定QQ避免忘记帐号

查看: 1014|回复: 1

[安卓逆向图文] 安卓逆向实例 - 免费追书【Frida 全功能VIP】

[复制链接]
泄密无花 发表于 2023-5-9 18:03 | 显示全部楼层 |阅读模式

0x00 前言

摸鱼一贴


0x01 准备

免费追书:com.mianfeizs.book
下载地址:https://www.wandoujia.com/apps/7630647

0x02 逆向分析

定位方法:搜索isVip()
划重点(需要分析的方法都在这个类):com.chineseall.dbservice.entity.AccountData

1、isValidityVip
1)Java 代码
fakename.png
2)Hook 代码
fakename.png
2、isVip
1)Java 代码
fakename.png
2)Hook 代码
fakename.png
3、isCowCardVip
1)Java 代码
fakename.png
2)Hook 代码
fakename.png
4、getChargeVipDate
1)Java 代码
fakename.png
2)Hook 代码
fakename.png
5、代码原理
1)首先,使用Java.perform函数包装hook代码,确保在Java虚拟机中执行
[Java] 纯文本查看 复制代码
Java.perform()

2)然后,使用Java.use函数获取目标类的引用,替换成实际的类路径
[Java] 纯文本查看 复制代码
var clazz = Java.use("com.chineseall.dbservice.entity.AccountData");

3)接下来,使用implementation属性替换被hook函数的实现。在新的实现中,打印一条日志并将返回值result,按需求设置返回值
4)然后,打印出旧的返回值和新的返回值

6、Hook结果
fakename.png

0x03 代码优化
1、使用Java.perform函数包装hook代码,确保在Java虚拟机上下文中执行
2、使用Java.use函数获取目标类的引用,替换成实际的类路径
3、定义一个名为hooks的对象,用于存储要hook的方法和替换的返回值。对象的属性名表示要hook的方法名,属性值表示要替换的返回值
4、使用for循环遍历hooks对象,分别调用hookMethod函数进行hook
5、在hookMethod函数中,使用eval函数动态生成hook代码,并使用methodName和newValue参数替换相应的值
6、调用hookMethod函数,分别hook目标类中的方法,并将返回值替换为指定的值

[Java] 纯文本查看 复制代码
Java.perform(function() {
    var clazz = Java.use("com.chineseall.dbservice.entity.AccountData");

    var hooks = {
        "isValidityVip": true,
        "isVip": true,
        "isCowCardVip": true,
        // "getTopShieldAd": 0,
        // "getShieldAd": 0,
        // "isShieldAd" : true,
        "getChargeVipDate": 4102358400000 // 2099-12-31的时间戳
    };

    for (var methodName in hooks) {
        hookMethod(methodName, hooks[methodName]);
    }

    function hookMethod(methodName, newValue) {
        var method = "clazz." + methodName + ".implementation = function() { \
            console.log(\"" + methodName + " hooked\"); \
            console.log(\"" + methodName + " OldValue: \" + result); \
            var result = " + newValue + "; \
            console.log(\"" + methodName + " NewValue: \" + result); \
            return result; \
        }";
        eval(method);
    }
});


0x04 总结

基本上优化后代码可以作为一个通用的基础模板了,还是需要多写代码啊

评分

参与人数 10威望 +1 HB +20 THX +3 收起 理由
消逝的过去 + 2
小才不才 + 1
嗜血狂魔 + 1
虚心学习 + 1 [吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩!
magicwk + 1 [吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩!
luoyong5129 + 1
Jawon + 2
zxjzzh + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
sjtkxy + 1 + 1
Shark恒 + 1 + 10 + 1 [吾爱汇编论坛52HB.COM]-软件反汇编逆向分析,软件安全必不可少!

查看全部评分

吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
头像被屏蔽
sjtkxy 发表于 2023-5-10 05:02 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

警告:本站严惩灌水回复,尊重自己从尊重他人开始!

1层
2层

免责声明

吾爱汇编(www.52hb.com)所讨论的技术及相关工具仅限用于研究学习,皆在提高软件产品的安全性,严禁用于不良动机。任何个人、团体、组织不得将其用于非法目的,否则,一切后果自行承担。吾爱汇编不承担任何因为技术滥用所产生的连带责任。吾爱汇编内容源于网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除。如有侵权请邮件或微信与我们联系处理。

站长邮箱:SharkHeng@sina.com
站长QQ:1140549900


QQ|RSS|手机版|小黑屋|帮助|吾爱汇编 ( 京公网安备11011502005403号 , 京ICP备20003498号-6 )|网站地图

Powered by Discuz!

吾爱汇编 www.52hb.com

快速回复 返回顶部 返回列表