吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 11379|回复: 47
收起左侧

[Android 原创] 仅需10行代码,使用 Frida 完成 AutoJS脚本解密

[复制链接]
SQLite 发表于 2020-5-29 11:41
       本站 longhong 的帖子《 autojs加密脚本的解密xposed模块,支持360加固》提出了AutoJS解密的新姿势,并且用 Xposed 写出了解密插件。但我目前的手机锁了boot ,既无法安装 Xposed ,也不能使用 EDxposed ,所以我沿用了作者的思路,使用了 FrIDA 来完成解密。相比 Xposed 来讲,如果安装过 Frida 的话,操作起来可能会更简便一些。限于篇幅,本文默认你已经安装好了 Frida ,并了解它的使用。
如需 Frida 安装及操作教程,可移步https://www.52pojie.cn/thread-1167681-1-1.html(简明扼要) 或者 https://www.freebuf.com/articles/system/190565.html (内容详细)】


      如下图所示,涉及js解密的代码中,com.stardust.autojs.script.StringScriptSource 这个Java类很关键:看上去有 2 个构造函数 StringScriptSource(),这是因为其进行了“重载”,即相同的函数名,通过传入不同的参数列表来实现不同的功能。根据分析,我们重点要 Hook 第二个 StringScriptSource() 。我们写出 JS 代码,用Frida注入进去,就可获取解密后的代码了。

1.png

        话不多说,都在代码和注释里:


[JavaScript] 纯文本查看 复制代码
//用来保存解密后的js脚本 
function write_file(full_path, data) { 
    var f = new File(full_path, 'w')
    f.write(data)
    f.close()
}

Java.perform(function () {
    var ClassName = Java.use('com.stardust.autojs.script.StringScriptSource');//Hook上文所说的Java类

    // $init 表示是该类的 构造函数
    // overload("java.lang.String","java.lang.String")表示进行带两个 string 参数的重载
//第一个参数param_1是待解密的文件名,第二个参数param_2是解密后的代码,我们要的就是这个。
    ClassName.$init.overload("java.lang.String","java.lang.String").implementation=function(param_1,param_2){

//将param_2的内容写入手机内部存储,这个要根据各自的手机具体设置,我的手机的路径为/storage/emulated/0/main_dump.js
        write_file("/storage/emulated/0/main_dump.js", param_2)

        // 让函数继续其正常的工作
        var ret =  this.$init(param_1,param_2); 
        return ret;
    }
});


代码写完后保存到  D:\myhook.js ,要注意,原APK的解密函数只在程序刚开始启动的时候调用。如果APK启动之后再注入脚本,是获取不到解密的StringScriptSource()方法的。所以要再cmd窗口输入如下命令:
frida -U -l D:/myhook.js -f com.example.script --no-pause

其中-f 即spwan,在程序最先启动的时候注入。--no-pause表示是不暂停。如图:
3.png

这样就可以在手机内部存储的根目录中找到名为 main_dump.js 的解密后的脚本啦。

免费评分

参与人数 9吾爱币 +12 热心值 +8 收起 理由
qtfreet00 + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
dns2018 + 1 谢谢@Thanks!
耳食之辈 + 1 我很赞同!
洋芋粑粑 + 1 + 1 用心讨论,共获提升!
secjia + 1 + 1 鼓励转贴优秀软件安全工具和文档!
ma4907758 + 1 热心回复!
薛花樊凯 + 1 + 1 热心回复!
q13467982 + 1 用心讨论,共获提升!
蘑菇恰饭 + 1 + 1 谢谢@Thanks!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

PPZ丿皮皮智 发表于 2020-5-29 17:16
心中的影子 发表于 2020-5-29 13:14
这个软件怎么没有下载地址??求

https://lanzouj.com/id4ctbe求个评分

免费评分

参与人数 4吾爱币 +5 热心值 +3 收起 理由
志天下 + 1 用心讨论,共获提升!
潋凌努力变优秀 + 1 + 1 我很赞同!
心中的影子 + 1 + 1 热心回复!
longxing + 2 + 1 谢谢@Thanks!

查看全部评分

心中的影子 发表于 2020-5-29 13:14
青草幽幽在高原 发表于 2020-5-29 12:00
额,网上有个简陋的一键工具,了解一下...https://blog.csdn.net/A622828/article/details/106415259

这个软件怎么没有下载地址??求
quzhaojia 发表于 2020-5-29 11:53
不知道改成啥 发表于 2020-5-29 11:55
留下小脚印,以后肯定用得到。
田田爱崽崽 发表于 2020-5-29 11:59
不明觉厉
青草幽幽在高原 发表于 2020-5-29 12:00
额,网上有个简陋的一键工具,了解一下...https://blog.csdn.net/A622828/article/details/106415259
cqghost 发表于 2020-5-29 12:13
厉害了,必须顶一下
kmgril 发表于 2020-5-29 12:14
又学到一招,不错
zlf82522268 发表于 2020-5-29 12:42
JS脚本也能解密,老板牛逼
cptw 发表于 2020-5-29 12:53
又学到一招,不错
lz132 发表于 2020-5-29 13:11
嗯,成功了。。自建autojs目录,XP框架勾选模块,重启以后运行自写脚本,autojs目录多了一个main.js.js,所有源代码都出来了。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 04:27

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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