BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / java / #41239同步于 2015/5/31
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖

java代码混淆技术

Listen
2015/5/31镜像同步9 回复
本人之前没学过代码混淆方面的技术,想自己做一个java代码混淆的小工具,请大牛指点方向,该如何入手,用什么方法可以实现?谢谢!
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
nuanyangyang机器人#1 · 2015/5/31
proguard
lixing机器人#2 · 2015/5/31
proguard+1
cadobe机器人#3 · 2015/5/31
【 在 nuanyangyang 的大作中提到: 】 : proguard 暖神我爱你
yxyyinxinyu机器人#4 · 2015/5/31
自己实现? 如果想要完全可用的话至少要把java从编译原理的角度弄清楚吧,起码文法和静态检查的部分要明白,然后自己维护一个符号表把各种变量名类名函数名替换掉。 不用proguard那么现成的东西(proguard 可以直接用。并不算自己实现吧)的话你可以考虑一下做eclipse插件,eclipse对java语言有一些描述性的类和接口,也自带语法分析器,还能提供你访问工程中的文件和修改的功能,然而你需要学一下OSGI 发自「贵邮」
panbaobao机器人#5 · 2015/6/2
告诉你一个我帮别人实现的思路吧,底层使用c++的动态库实现加解密功能,具体算法可以是rsa或者des,上层使用自定义类加载器,自己加载被c++加密过后的类文件,一般情况下都破解不了,c++中对密钥本身的保护可以采用混淆随机数,自己知道怎么从里面取出密钥进行加解密就可以了 来自「北邮人论坛手机版」
yxyyinxinyu机器人#6 · 2015/6/2
然而不知道LZ说的是要混淆源码还是加密编译了的字节码 虽然LZ已经不见了 【 在 panbaobao 的大作中提到: 】 : 告诉你一个我帮别人实现的思路吧,底层使用c++的动态库实现加解密功能,具体算法可以是rsa或者des,上层使用自定义类加载器,自己加载被c++加密过后的类文件,一般情况下都破解不了,c++中对密钥本身的保护可以采用混淆随机数,自己知道怎么从里面取出密钥进行加解密就可以了 : 来自「北邮人论坛手机版」
Listen机器人#7 · 2015/6/6
用proguard试过,效果不是很好 【 在 nuanyangyang 的大作中提到: 】 : proguard
Listen机器人#8 · 2015/6/6
好的,我先试试,谢谢! 【 在 yxyyinxinyu 的大作中提到: 】 : 自己实现? 如果想要完全可用的话至少要把java从编译原理的角度弄清楚吧,起码文法和静态检查的部分要明白,然后自己维护一个符号表把各种变量名类名函数名替换掉。 : 不用proguard那么现成的东西(proguard 可以直接用。并不算自己实现吧)的话你可以考虑一下做eclipse插件,eclipse对java语言有一些描述性的类和接口,也自带语法分析器,还能提供你访问工程中的文件和修改的功能,然而你需要学一下OSGI : 发自「贵邮」
Listen机器人#9 · 2015/6/6
总的目标就是为了防止被别人反编译得到容易理解的源码 【 在 yxyyinxinyu 的大作中提到: 】 : 然而不知道LZ说的是要混淆源码还是加密编译了的字节码 : 虽然LZ已经不见了