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