无法防止。.class文件的标准是公开的,无法防止别人反编译你的代码。你顶多可以用代码扰乱工具扰乱你的代码,这样反编译的代码就难以阅读。比如可以试试用proguard来扰乱(“加密”)和反扰乱(“解密”)你的代码。
创新互联公司专注于北票企业网站建设,响应式网站开发,商城网站建设。北票网站建设公司,为北票等地区提供建站服务。全流程按需定制,专业设计,全程项目跟踪,创新互联公司专业和态度为您提供的服务
java本就是开源的,你加密感觉怪怪的。想防止反编译,最简单的方法就是你可以向Jar注入无效代码。比如建一个类,建一个没有意义的方法private class Invalid{ },然后输出为jar。
针对反编译,推荐使用CBS赛博锁,通过把安全容器内嵌到操作系统中,对容器内的应用和数据进行加锁,程序和数据在容器内运行,实现最后一米数据安全,防止核心数据被泄露,防止服务器终端中病毒,防止反编译,反破解。
以下从技术角度就常见的保护措施 和常用工具来看看如何有效保护java代码: 将java包装成exe特点:将jar包装成可执行文件,便于使用,但对java程序没有任何保护。不要以为生成了exe就和普通可执行文件效果一样了。
很久前做过一个项目,用很复杂的算法加密 class文件,然后在虚拟机载入前调用解密程序。用的是 jvmti。这样可以防止class loader被反编译导致加解密算法泄漏,应该算比较好的一种解决方案了。
你好,你可以使用一些代码混淆工具,对你的代码进行一些简单的加密。
java web项目混淆 proguard8工具,说是支持war的,可混淆过后少了classes目录了,自然成功不了。
最直接的效果是js源文件的变下了,下载源文件的速度大大缩短,相当于加载速度更快了。还有一个隐形好处是别人不能破解你的js代码,因为加密混淆的js代码十分难懂。用nodejs也可以对js加密混淆,但要用cmd命令操作。
js反混淆需要借助第三方工具:在百度搜索js混淆还原 把要还原的代码放在第一个文本框,点击js解混淆就可以了。
打开开发环境,新建一个web项目。加载JavaScript脚本引擎,在Java中加载js语句方法。执行Java后,运行JavaScriptsay函数。将java中对象作为js中的全局变量,同时将file类赋给JavaScript脚本语言,并获得其属性值。
所以理论上,混淆后的代码无法解密。但因为它的整个运算逻辑关系链是完整的,与混淆前的代码关系链是完全一致的,所以非要“破解”,只能说摸清它的逻辑关系链,人为去做的话,烧脑又复杂。
得到 classes.dex文件;直接用机器上的解压软件 打开 .apk 文件,解压出 classes.dex 文件。
即使不混淆也不可能100%的反编译。。混淆之后几乎是不可能的,或者代码没什么价值了。
proguard/mapping.txt 文件。在每次用 ProGuard 发布应用的时候, 都会在项目目录下的 proguard 目录中创建新的 mapping 文件。该文件记录了 每个类对应混淆后的类以及方法。
一般情况下Java应用的开发者为了保护代码不被别人抄袭,在生成class文件的时候都java文件进行了混淆,这种class文件用反编译工具得到的结果很难看懂,并且不能进行编译。从研究的角度,浅析如何读懂这种反编译过来的文件。