Java层混淆加密对抗/某个辣眼睛的APP混淆还原
2019-08-02 05:26:49 Author: bbs.pediy.com(查看原文) 阅读量:150 收藏

[原创]Java层混淆加密对抗/某个辣眼睛的APP混淆还原

16小时前 419

[原创]Java层混淆加密对抗/某个辣眼睛的APP混淆还原

0x00

拿到一个xposed模块,注册功能挺有意思的,准备分析一下。然后。


这可真是。。。 辣眼睛

文件名类命名成员名方法名,名名王八蛋

字符流调用流加密流解密流,流流恶我心

注册的分析就先放放吧,首先一股脑还原这些混淆,这里出现了名称加密和字符串加密。

0x01

对于字符串加密,之前在github找到一个还原这种混淆的工具(https://github.com/CalebFenton/dex-oracle)。


作者CalebFenton有个巧妙的想法,中间的处理环节将smali文件抽取为由符号签名和参数所组成的待执行队列,和驱动类共同制作出一个可以用于单元测试的DEX文件,然后推送到手机上通过app_process执行,最后查看返回值就可以得到解密的字符串。

原作者是基于Linux来编写一系列脚本的,楼主实际运行的时候处于Windows平台,顺便做了些兼容性处理和BUG问题修复。

https://github.com/DXCyber409/dex-oracle

①修复驱动层Exception泄露,该BUG会导致driver层轻易罢工。

②去除脚本层对运行结果的僵硬检测,该BUG会导致脚本层轻易罢工。

③增加了patch/win目录下的Windows运行小脚本。

运行dex-oracle主要的步骤:

①安装ruby,注意需要将ruby\bin加入PATH路径中。http://www.ruby-lang.org/zh_cn/downloads/

②将adb命令加入到PATH路径中,使得在命令行就可以直接adb devices

③gem install dex-oracle

可选项:

④如果你也使用Windows平台,把patch/win下的smali.bat和baksmali.bat丢到ruby/bin/目录下

⑤更新主体文件,将bin,lib,res三个文件夹复制到ruby安装目录\lib\ruby\gems\2.6.0\gems\dex-oracle-1.0.5下覆盖

dex-oracle -i com/android/system/admin/CCOIoll obad.apk,根据实际的apk修改正则参数,然后运行


嗯...现在舒服多了。

0x02

已编译好的apk中各种名称符号的改动不像在源码中集成ProGuard那么便捷,这里留个开放话题。

大家对文件名类名方法名成员名等等的混淆还原有什么看法呢?

除了ProGuard编译时混淆,有没有对生成好的APK进行外部混淆的工具?

[招聘]苏州极光无限公司!——高薪招聘逆向、移动、漏洞挖掘工程师!


文章来源: https://bbs.pediy.com/thread-253522.htm
如有侵权请联系:admin#unsafe.sh