首页
论坛
专栏
课程

[原创]JEB2反混淆神器

2018-5-28 15:47 12516

[原创]JEB2反混淆神器

2018-5-28 15:47
12516

前言

好久没发帖了,这次准备分享一些JEB的使用技巧和自己在用的反混淆脚本.大神嘛就不要看啦~(注:本脚本是在JEB2.2.7上测试运行的)

反混淆脚本思路

许多APK开发商为了在崩溃时保存源文件类名、行号等信息会在APK混淆时添加以下规则保留源文件信息.


-keepattributes SourceFile,LineNumberTable

这样我们在看Smali时就能在(JEB中称为)字段中看到原始类名信息.如下图所示:

这样我们就可以在JEB2中根据每个类的原始信息进行批量重命名达到反混淆的效果,脚本地址放在我Github上

https://github.com/S3cuRiTy-Er1C/JebScripts

问题

说一下目前脚存在的问题:

因为无法获取内部类名所以无法还原内部类.

因为是全项目的重命名,根据APK类名的数量可能会有些慢大概要等几分钟,也有可能是我没优化好 O(∩_∩)O哈哈~ .但是磨刀不误砍柴工相信这个脚本会给你节省大量时间的.

最重要的一点,如果APK没有保留这些源信息时,反混淆神马的只能靠你自己啦!!毕竟这些只是辅助作用.

注意:

JEB2.2.x是默认不显示这些调试信息的可以根据以下步骤在设置中打开:Edit -> Options -> Engines -> 修改ShowDebugDirectives的值为true(点一下就好).

另外再分享个设置小技巧:JEB2在打开项目时所有包名都是打开的状态(个别包名除外 如 ,等)有时需要我们一个个手动折叠.同样可以通过以下步骤解决 Edit -> Options -> Engines -> 修改 为 .对于一些已打开的项目可以在 Project-specific页面更改

效果


注意

本脚本只为学习交流使用,不涉及任何商业用途.

以上就是这次要分享的内容,如果以上技巧或脚本有帮助到你,请你在github加个star ^_^.




[招聘]欢迎市场人员加入看雪学院团队!

最后于 2018-5-28 15:52 被壹捌捌弎编辑 ,原因:
最新回复 (27)
lfyyy 2018-5-28 18:43
2
0
挺好的,虽然一般都会把这.source也混淆掉。
葫芦娃 1 2018-5-28 21:26
3
0
而且还经常会有多个类同一个source,内部类同一个source的操作。话说jadx-gui是自带这个功能的大家是不是都不知道
wx_kx98132 2018-5-29 07:02
4
0
感谢
繁华皆成空 2018-5-29 09:51
5
0
葫芦娃 [em_39]而且还经常会有多个类同一个source,内部类同一个source的操作。话说jadx-gui是自带这个功能的大家是不是都不知道[em_21]
jadx的这个功能做的不好
iceway 2018-5-29 10:50
6
0
好东西i,感谢了
最后于 2018-5-29 10:51 被iceway编辑 ,原因:
skyun 3 2018-5-29 12:09
7
0
繁华皆成空 jadx的这个功能做的不好
还可以啦。。。。。。。。。要和你们学习。有一个充满好奇的心。充满好奇的手指
尕可 2018-5-29 13:57
8
0
很棒棒,赞一个。
eastmaster 2018-5-29 18:26
9
0
顶一个!
JKC小刀 2018-5-29 23:09
10
0
能不能说下,怎么使用呢?  渴望群主能够在来几张图,教下怎么替换  这个插件? 
Ericky 6 2018-5-30 01:52
11
0
关掉这个,-keepattributes  SourceFile,LineNumberTable
nullsksks 2018-5-30 02:01
12
0
思路清晰,赞一个
qiantang 2018-5-30 10:21
13
0
好贴,mark
聖blue 2018-5-30 23:08
14
0
人在塔在 2018-5-31 10:23
15
0
谢谢分享
leehero 2018-6-5 10:50
16
0
大部分混淆的样本都是没有source信息的……
leehero 2018-6-5 10:55
17
0
很早前有个类似的插件  https://github.com/flankerhqd/jebPlugins    sourceinfofucker
eastmaster 2018-6-6 09:20
18
0
不错,好贴!
丨一丨丫乚 2018-9-4 14:22
19
0
你好,小技巧能说明白一点吗什么改为什么啊,哪个项
wangzery 2018-11-8 16:54
20
0
丨一丨丫乚 你好,小技巧能说明白一点吗[em_4]什么改为什么啊,哪个项
直接跑脚本就行了
hhhaiai 2018-11-12 19:19
21
0
怎么用呀 不太明白
丨一丨丫乚 2018-11-29 14:55
22
0
wangzery 直接跑脚本就行了
我是说关掉默认展开的那个功能的小技巧是什么
原文
“有时需要我们一个个手动折叠.同样可以通过以下步骤解决 Edit -> Options -> Engines -> 修改 为 .”
楼主根本没说什么改成什么
miyuecao 2018-12-12 15:15
23
0
这个很不错,赞一个
aihacker 2019-2-20 14:48
24
0
直接在File -- 脚本 ---执行脚本里面运行该py,发现好坑,所有类都被命名成SourcFile,怎么回事啊
@=llfly 6天前
25
0
aihacker 直接在File -- 脚本 ---执行脚本里面运行该py,发现好坑,所有类都被命名成SourcFile,怎么回事啊
好像默认为 .source "SourceFile"  所以都被命名为SourceFile 
@=llfly 6天前
26
0
丨一丨丫乚 我是说关掉默认展开的那个功能的小技巧是什么 原文 “有时需要我们一个个手动折叠.同样可以通过以下步骤解决 Edit -> Options -> Engines -> 修改 为 . ...
将 WellKnownLibraryPackages 的值修改为 * 
winkar 5天前
27
0
proguard之类的混淆软件默认是strip掉这个信息的吧。
游客
登录 | 注册 方可回帖
返回