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

[原创]Null混淆

2018-11-8 16:16
12679

分享一套“空白混淆”


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


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


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

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

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


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

也是增加了 程序的安全性  



代码效果图 



[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

最后于 2018-11-9 13:08 被珍惜Any编辑 ,原因:
收藏
免费 4
支持
分享
最新回复 (20)
雪    币: 47147
活跃值: (20450)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
2
建议将内容帖到论坛上交流。
2018-11-8 16:20
0
雪    币: 3368
活跃值: (14038)
能力值: ( LV9,RANK:230 )
在线值:
发帖
回帖
粉丝
3
kanxue 建议将内容帖到论坛上交流。
已修改 希望 上个 优秀帖子 哈哈哈 
2018-11-8 17:00
0
雪    币: 1039
活跃值: (355)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
这个有点变态了。。。。
2018-11-8 17:19
0
雪    币: 3368
活跃值: (14038)
能力值: ( LV9,RANK:230 )
在线值:
发帖
回帖
粉丝
5
bengou 这个有点变态了。。。。
无视xposed Hook  
2018-11-8 17:23
0
雪    币: 13
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
加油
2018-11-8 17:29
0
雪    币: 916
活跃值: (3434)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
7
顶一个
2018-11-8 17:31
0
雪    币: 6573
活跃值: (3893)
能力值: (RANK:200 )
在线值:
发帖
回帖
粉丝
8
不错,再把原理充实一下就好了,加油!
2018-11-8 17:56
0
雪    币: 1449
活跃值: (128)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
9
赞,加油
2018-11-8 18:22
0
雪    币: 729
活跃值: (1306)
能力值: ( LV9,RANK:160 )
在线值:
发帖
回帖
粉丝
10
顶一个
2018-11-8 18:24
0
雪    币: 8
活跃值: (35)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
2018-11-8 18:38
0
雪    币: 47147
活跃值: (20450)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
12
珍惜Any 已修改 希望 上个 优秀帖子 哈哈哈
简单了些,欢迎以后发更多的内容上来
2018-11-8 18:56
0
雪    币: 25
活跃值: (1111)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
13
之前我再改proguard的时候碰到一个问题,就是非标准字符,在直接编译成app的时候一般没问题,但如果是module,编译出来jar给别的项目引用,此时混淆过的jar包很有可能在其他项目引用编译时报错
2018-11-8 20:30
0
雪    币: 3368
活跃值: (14038)
能力值: ( LV9,RANK:230 )
在线值:
发帖
回帖
粉丝
14
繁华皆成空 之前我再改proguard的时候碰到一个问题,就是非标准字符,在直接编译成app的时候一般没问题,但如果是module,编译出来jar给别的项目引用,此时混淆过的jar包很有可能在其他项目引用编译时报 ...
module本质是一个 Lib 也需要 添加对应的 混淆规则
2018-11-8 20:34
0
雪    币: 2719
活跃值: (1595)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
15
我比较想知道 这种混淆怎么HOOK,  0o0   同盾 就是用的这种混淆
2018-11-8 21:51
0
雪    币: 3368
活跃值: (14038)
能力值: ( LV9,RANK:230 )
在线值:
发帖
回帖
粉丝
16
Vn小帆 我比较想知道 这种混淆怎么HOOK, 0o0 同盾 就是用的这种混淆
也需要 输入 类名 比如 0o0.o0
2018-11-9 09:03
0
雪    币: 3368
活跃值: (14038)
能力值: ( LV9,RANK:230 )
在线值:
发帖
回帖
粉丝
17
更新了个 Demo 大家可以下载感受一下 
2018-11-9 13:09
0
雪    币: 11716
活跃值: (133)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
珍惜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")

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

jeb显示如下

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