首页
社区
课程
招聘
[原创]Null混淆
2018-11-8 16:16 11859

[原创]Null混淆

2018-11-8 16:16
11859

分享一套“空白混淆”


昨晚玩游戏,看见别人游戏名是空白的,自己想想能不能通过空白字符


来修改混淆proguard jar包,结果成功了,因为安卓是u8编码


也是借鉴mt作者Bin大佬的之前发的帖子基础上修改的

https://mp.weixin.qq.com/s/T8CFMjQ5_te1fIHzwzTpUg

效果图如下,可以增加xposed Hook难度(我自己测试路径 写的难受死 )


Jadx显示异常,和jadx跳转难度,如果没有反混淆基本无法分析 

也是增加了 程序的安全性  



代码效果图 



Jadx打开效果图 



代码地址

NullProguard


大家可以感受一下 ,Demo下载地址

Demo下载地址





[培训]二进制漏洞攻防(第3期);满10人开班;模糊测试与工具使用二次开发;网络协议漏洞挖掘;Linux内核漏洞挖掘与利用;AOSP漏洞挖掘与利用;代码审计。

最后于 2018-11-9 13:08 被珍惜Any编辑 ,原因:
收藏
点赞4
打赏
分享
最新回复 (20)
雪    币: 32406
活跃值: (18800)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
kanxue 8 2018-11-8 16:20
2
0
建议将内容帖到论坛上交流。
雪    币: 1938
活跃值: (12860)
能力值: ( LV9,RANK:190 )
在线值:
发帖
回帖
粉丝
珍惜Any 2 2018-11-8 17:00
3
0
kanxue 建议将内容帖到论坛上交流。
已修改 希望 上个 优秀帖子 哈哈哈 
雪    币: 1049
活跃值: (345)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
bengou 2018-11-8 17:19
4
0
这个有点变态了。。。。
雪    币: 1938
活跃值: (12860)
能力值: ( LV9,RANK:190 )
在线值:
发帖
回帖
粉丝
珍惜Any 2 2018-11-8 17:23
5
0
bengou 这个有点变态了。。。。
无视xposed Hook  
雪    币: 13
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
网络小男孩 2018-11-8 17:29
6
0
加油
雪    币: 916
活跃值: (3414)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
葫芦娃 1 2018-11-8 17:31
7
0
顶一个
雪    币: 6571
活跃值: (3823)
能力值: (RANK:200 )
在线值:
发帖
回帖
粉丝
LowRebSwrd 4 2018-11-8 17:56
8
0
不错,再把原理充实一下就好了,加油!
雪    币: 1449
活跃值: (98)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
Yougar 2018-11-8 18:22
9
0
赞,加油
雪    币: 723
活跃值: (1246)
能力值: ( LV9,RANK:160 )
在线值:
发帖
回帖
粉丝
skyun 3 2018-11-8 18:24
10
0
顶一个
雪    币: 8
活跃值: (35)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
飞龙test 2018-11-8 18:38
11
0
雪    币: 32406
活跃值: (18800)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
kanxue 8 2018-11-8 18:56
12
0
珍惜Any 已修改 希望 上个 优秀帖子 哈哈哈
简单了些,欢迎以后发更多的内容上来
雪    币: 35
活跃值: (921)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
繁华皆成空 2018-11-8 20:30
13
0
之前我再改proguard的时候碰到一个问题,就是非标准字符,在直接编译成app的时候一般没问题,但如果是module,编译出来jar给别的项目引用,此时混淆过的jar包很有可能在其他项目引用编译时报错
雪    币: 1938
活跃值: (12860)
能力值: ( LV9,RANK:190 )
在线值:
发帖
回帖
粉丝
珍惜Any 2 2018-11-8 20:34
14
0
繁华皆成空 之前我再改proguard的时候碰到一个问题,就是非标准字符,在直接编译成app的时候一般没问题,但如果是module,编译出来jar给别的项目引用,此时混淆过的jar包很有可能在其他项目引用编译时报 ...
module本质是一个 Lib 也需要 添加对应的 混淆规则
雪    币: 2719
活跃值: (1507)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
Vn小帆 2018-11-8 21:51
15
0
我比较想知道 这种混淆怎么HOOK,  0o0   同盾 就是用的这种混淆
雪    币: 1938
活跃值: (12860)
能力值: ( LV9,RANK:190 )
在线值:
发帖
回帖
粉丝
珍惜Any 2 2018-11-9 09:03
16
0
Vn小帆 我比较想知道 这种混淆怎么HOOK, 0o0 同盾 就是用的这种混淆
也需要 输入 类名 比如 0o0.o0
雪    币: 1938
活跃值: (12860)
能力值: ( LV9,RANK:190 )
在线值:
发帖
回帖
粉丝
珍惜Any 2 2018-11-9 13:09
17
0
更新了个 Demo 大家可以下载感受一下 
雪    币: 11716
活跃值: (133)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
junkboy 2018-11-9 19:13
18
1
珍惜Any 更新了个 Demo 大家可以下载感受一下

和 oO0 这种本质上是没啥大区别, 但是感觉很好玩 (主要楼主回复里说的"无视 xposed hook"吓我一跳, 我以为是利用了 xposed 的字符编码方面的 bug, 还是可以 hook 的, 就是如果不反混淆看着太费劲)

 

用 JEB2 API 可以对这些字符串进行操作然后改名, 改完名分析起来就和平时分析 oo0 差不多了, 空白确实很影响观感...

        classes = unit.getClasses()
        for c in classes:
          cname = c.getName(True)
          s_str = cname.encode('unicode-escape')
          newClassName = s_str.replace("\\u", "_u")

雪    币: 1938
活跃值: (12860)
能力值: ( LV9,RANK:190 )
在线值:
发帖
回帖
粉丝
珍惜Any 2 2018-11-10 15:19
19
0
junkboy 和 oO0 这种本质上是没啥大区别, 但是感觉很好玩 (主要楼主回复里说的"无视 xposed hook"吓我一跳, 我以为是利用了 xposed 的字符编码方面的 bug, 还 ...
哈哈哈 我自己hook写的和难受 也是增加 容错率
雪    币: 24
活跃值: (68)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
fooree 2018-11-20 18:51
20
0
按照楼主的思路,改写了proguard.obfuscate.SimpleNameFactory类,使用了一些未定义的不可见的字符代替26个字母,可能是因为我PC环境的问题,反编译效果没有楼主的看起来爽,完全是一片空白,我这边字符全部显示为小方块□(当然了,效果是一样的恶心)
jadx显示如下

jeb显示如下

雪    币: 19
活跃值: (1056)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
iceway 2019-8-17 21:43
21
0
一个反混淆插件搞定的事情,弄这些有个什么用?跟改成ABC有什么不一样?
游客
登录 | 注册 方可回帖
返回