首页
论坛
专栏
课程

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

2019-8-1 11:37 2491

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

2019-8-1 11:37
2491

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://qifu.kanxue.com

最新回复 (3)
seandong 2019-8-1 13:23
2
0
https://bbs.pediy.com/thread-252769.htm 这个帖子里也提到了一个 去混淆的方法,你试一下用你这个脚本可以吗
最后于 2019-8-1 13:24 被seandong编辑 ,原因:
koflfy 1 2019-8-1 21:28
3
0
mark
情迁 2019-8-2 16:53
4
0
我测试的bytes 不行,楼上的那个也不行。 各位有更好的方案一起探讨呀,q35068264 另外楼主的这个git不能发提问么,我想问一下可以提供一下你这个demo么,我看看能再哪些demo上成功
最后于 2019-8-2 16:54 被情迁编辑 ,原因:
游客
登录 | 注册 方可回帖
返回