如何有效的防止Java程序被反编译和破解
你顶多可以用代码扰乱工具扰乱你的代码,这样反编译的代码就难以阅读。比如可以试试用proguard来扰乱(“加密”)和反扰乱(“解密”)你的代码。
10年的汝南网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。全网整合营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整汝南建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联建站从事“汝南网站设计”,“汝南网站推广”以来,每个客户项目都认真落实执行。
java本就是开源的,你加密感觉怪怪的。想防止反编译,最简单的方法就是你可以向Jar注入无效代码。比如建一个类,建一个没有意义的方法private class Invalid{ },然后输出为jar。
针对反编译,推荐使用CBS赛博锁,通过把安全容器内嵌到操作系统中,对容器内的应用和数据进行加锁,程序和数据在容器内运行,实现最后一米数据安全,防止核心数据被泄露,防止服务器终端中病毒,防止反编译,反破解。
以下从技术角度就常见的保护措施 和常用工具来看看如何有效保护java代码: 将java包装成exe特点:将jar包装成可执行文件,便于使用,但对java程序没有任何保护。不要以为生成了exe就和普通可执行文件效果一样了。
Java项目源码为什么要做代码混淆
1、楼上只说了其一,没说其二: 混淆器的还有一个作用那就是对代码进行压缩,比如一个j2me程序打完包是400KB,使用混淆器混淆后就被压缩成100KB的文件,这对于手机这种内存空间比较宝贵的设备来说显得尤为必须。
2、不需要对源代码混淆。class有这种功能的,在J2ME中混淆是必须的,结果跟你说的一样,不过原理不是你那么走的,混淆以后的class反编译也会让人看不懂,全部变成了a,b,c,d这样的名字。
3、其中 vvv-unofb.jar 是未混淆的 jar 文件,vvv.jar 是混淆后生成的 jar 文件,vvv.rgs 是配置文件,vvv.log 是日志文件。缺省的配置文件名称为 script.rgs,缺省的日志文件名称为 retroguard.log。
4、代码混淆 代码混淆是对Class文件进行重新组织和处理,使得处理后的代码与处理前代码完成相同的功能(语义)。
5、最直接的效果是js源文件的变下了,下载源文件的速度大大缩短,相当于加载速度更快了。还有一个隐形好处是别人不能破解你的js代码,因为加密混淆的js代码十分难懂。用nodejs也可以对js加密混淆,但要用cmd命令操作。
6、java混淆器特点:使用一种或多种处理方式将class文件、java源代码进行混淆处理后生成新的class,使混淆后的代码不易被反编译,而反编译后的代码难以阅 读和理解。这类混淆器工具很多,而且也很有成效。
怎样破解被混淆的Java代码
所以理论上,混淆后的代码无法解密。但因为它的整个运算逻辑关系链是完整的,与混淆前的代码关系链是完全一致的,所以非要“破解”,只能说摸清它的逻辑关系链,人为去做的话,烧脑又复杂。
得到 classes.dex文件;直接用机器上的解压软件 打开 .apk 文件,解压出 classes.dex 文件。
一般情况下Java应用的开发者为了保护代码不被别人抄袭,在生成class文件的时候都java文件进行了混淆,这种class文件用反编译工具得到的结果很难看懂,并且不能进行编译。从研究的角度,浅析如何读懂这种反编译过来的文件。
分享标题:java代码加密混淆 java加密方法
网页网址:http://lswzjz.com/article/dcpseso.html