首页
社区
课程
招聘
[原创]JEB2反混淆神器
发表于: 2018-5-28 15:47 28082

[原创]JEB2反混淆神器

2018-5-28 15:47
28082

前言

好久没发帖了,这次准备分享一些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 ^_^.



[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

最后于 2018-5-28 15:52 被壹捌捌弎编辑 ,原因:
收藏
免费 1
支持
分享
最新回复 (27)
雪    币: 268
活跃值: (610)
能力值: ( LV3,RANK:35 )
在线值:
发帖
回帖
粉丝
2
挺好的,虽然一般都会把这.source也混淆掉。
2018-5-28 18:43
0
雪    币: 916
活跃值: (3434)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
3
而且还经常会有多个类同一个source,内部类同一个source的操作。话说jadx-gui是自带这个功能的大家是不是都不知道
2018-5-28 21:26
0
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
感谢
2018-5-29 07:02
0
雪    币: 35
活跃值: (1021)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
5
葫芦娃 [em_39]而且还经常会有多个类同一个source,内部类同一个source的操作。话说jadx-gui是自带这个功能的大家是不是都不知道[em_21]
jadx的这个功能做的不好
2018-5-29 09:51
0
雪    币: 19
活跃值: (1086)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
好东西i,感谢了
最后于 2018-5-29 10:51 被iceway编辑 ,原因:
2018-5-29 10:50
0
雪    币: 723
活跃值: (1281)
能力值: ( LV9,RANK:160 )
在线值:
发帖
回帖
粉丝
7
繁华皆成空 jadx的这个功能做的不好
还可以啦。。。。。。。。。要和你们学习。有一个充满好奇的心。充满好奇的手指
2018-5-29 12:09
0
雪    币: 19
活跃值: (321)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
很棒棒,赞一个。
2018-5-29 13:57
0
雪    币: 614
活跃值: (853)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
9
顶一个!
2018-5-29 18:26
0
雪    币: 35
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
能不能说下,怎么使用呢?  渴望群主能够在来几张图,教下怎么替换  这个插件? 
2018-5-29 23:09
0
雪    币: 1185
活跃值: (458)
能力值: ( LV13,RANK:360 )
在线值:
发帖
回帖
粉丝
11
关掉这个,-keepattributes  SourceFile,LineNumberTable
2018-5-30 01:52
0
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
思路清晰,赞一个
2018-5-30 02:01
0
雪    币: 163
活跃值: (624)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
13
好贴,mark
2018-5-30 10:21
0
雪    币: 6818
活跃值: (153)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
2018-5-30 23:08
0
雪    币: 144
活跃值: (335)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
谢谢分享
2018-5-31 10:23
0
雪    币: 774
活跃值: (958)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
大部分混淆的样本都是没有source信息的……
2018-6-5 10:50
0
雪    币: 774
活跃值: (958)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
很早前有个类似的插件  https://github.com/flankerhqd/jebPlugins    sourceinfofucker
2018-6-5 10:55
0
雪    币: 614
活跃值: (853)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
18
不错,好贴!
2018-6-6 09:20
0
雪    币: 266
活跃值: (111)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
你好,小技巧能说明白一点吗什么改为什么啊,哪个项
2018-9-4 14:22
0
雪    币: 38
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
丨一丨丫乚 你好,小技巧能说明白一点吗[em_4]什么改为什么啊,哪个项
直接跑脚本就行了
2018-11-8 16:54
0
雪    币: 2689
活跃值: (1581)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
怎么用呀 不太明白
2018-11-12 19:19
0
雪    币: 266
活跃值: (111)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
wangzery 直接跑脚本就行了
我是说关掉默认展开的那个功能的小技巧是什么
原文
“有时需要我们一个个手动折叠.同样可以通过以下步骤解决 Edit -> Options -> Engines -> 修改 为 .”
楼主根本没说什么改成什么
2018-11-29 14:55
0
雪    币: 574
活跃值: (364)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
这个很不错,赞一个
2018-12-12 15:15
0
雪    币: 1376
活跃值: (1621)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
24
直接在File -- 脚本 ---执行脚本里面运行该py,发现好坑,所有类都被命名成SourcFile,怎么回事啊
2019-2-20 14:48
0
雪    币: 248
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
25
aihacker 直接在File -- 脚本 ---执行脚本里面运行该py,发现好坑,所有类都被命名成SourcFile,怎么回事啊
好像默认为 .source "SourceFile"  所以都被命名为SourceFile 
2019-8-13 18:54
0
游客
登录 | 注册 方可回帖
返回
//