MegatronKing / StringFog

一款自动对字节码中的字符串进行加密Android插件工具
Apache License 2.0
1.67k stars 334 forks source link

3.0,目前还是能被NP管理器一键解密.. #61

Closed gaoyuoppa closed 1 year ago

gaoyuoppa commented 2 years ago

NP管理器,就是类似MT管理器的软件. 我猜测他的解密就是只要 String类型的变量或者函数,都会被这些软件调用. 有没有什么好的思路,防止被这些管理器一键反混淆呢...

MegatronKing commented 2 years ago

可以,反编译工具无非就是运行的时候执行了自动StringFogImpl.decrypt而已,但是他们的运行环境和真实应用的执行环境肯定是不一样的。你可以在decrypt函数里面加一些真实应用环境的判断,例如用Class.forName检查某些类是否能加载;反之,也可以检查某些是不是虚拟环境,返回个null啥的。这种自定义加密实现,可以参考sample2。

MegatronKing commented 2 years ago

如果有结论了,麻烦回复下,我看看能不能集成进去。

gaoyuoppa commented 2 years ago

抱歉,我目前的技术不支持我有此类操作 .........

gaoyuoppa commented 2 years ago

如果有结论了,麻烦回复下,我看看能不能集成进去。

通过自定义方法,简单的加了函数判断是可以阻止 类MT管理器的一键解密的. 测试了两款应用,均未被一键解密.

Caij commented 2 years ago

@gaoyuoppa 请教一下函数判断是什么逻辑

fh2002 commented 2 years ago

我通过2种方法实现了让它解密不了。第一种解密函数在so中,修改StringFog插件中直接把decrypt方法给抹除掉,存到其它地方,再通过热加载decrypt方法

ak47king commented 1 year ago

这个我解决了,魔改了下stringfog,考虑到性能原因直接把解密函数放到so里边了,so加载的时候校验签名,目前能防止一键脱壳

MegatronKing commented 1 year ago

防止解密的讨论移至 #88