
正文
java代码免反编译,java反编译jar包
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
如何有效的防止Java程序被反编译和破解
针对反编译,推荐使用CBS赛博锁,通过把安全容器内嵌到操作系统中,对容器内的应用和数据进行加锁,程序和数据在容器内运行,实现最后一米数据安全,防止核心数据被泄露,防止服务器终端中病毒,防止反编译,反破解。
关键代码使用jni调用本地代码,用c或者c++编写,因此相对比较难于反编译 2 混淆java代码。混淆是不改变代码逻辑的情况下,增加无用代码,或者重命名,使反编译后的源代码难于看懂。
那么怎么增加反编译的难度(阅读难度),那么可以采用多层继承(实现)方式来解决,这样即使反编译出来的代码,可读性太差,复用性太差了。Java数据加密:我们一般用校验性加密,常用的是MD5,优点是速度快,数据占用空间小。
如果只是为了使用和发布方便,不需要保护java代码,使用这些工具是很好的选择。
无法防止。.class文件的标准是公开的,无法防止别人反编译你的代码。你顶多可以用代码扰乱工具扰乱你的代码,这样反编译的代码就难以阅读。比如可以试试用proguard来扰乱(“加密”)和反扰乱(“解密”)你的代码。
相关问答
Q1: 如何防止java文件被反编译
1、想防止反编译,最简单的方法就是你可以向Jar注入无效代码。比如建一个类,建一个没有意义的方法private class Invalid{ },然后输出为jar。
2、关键代码使用jni调用本地代码,用c或者c++编写,因此相对比较难于反编译 2 混淆java代码。混淆是不改变代码逻辑的情况下,增加无用代码,或者重命名,使反编译后的源代码难于看懂。
3、如果只是为了使用和发布方便,不需要保护java代码,使用这些工具是很好的选择。
4、很久前做过一个项目,用很复杂的算法加密 class文件,然后在虚拟机载入前调用解密程序。用的是 jvmti。这样可以防止class loader被反编译导致加解密算法泄漏,应该算比较好的一种解决方案了。
Q2: 如何防止代码被反编译
转换成本地代码 将程序转换成本地代码也是一种防止反编译的有效方法。因为本地代码往往难以被反编译。开发人员可以选择将整个应用程序转换成本地代码,也可以选择关键模块转换。
方法一:防止 Ildasm.exe(MSIL 反汇编程序) 反汇编程序集 方法很简单在项目文件AssemblyInfo.cs中增加SuppressIldasm属性。
第一种是对代码进行混淆,诸如混淆软件CodeGuard、CryptoObfuscator、de4dot 第二种是对Assembly-CSharp.dll进行加密后,重新对mono进行编译。Virbox Protector直接进行加壳后,无需手动编译mono,能防止反编译。
为防止这类反向工程的威胁,最有效的办法是模糊。模糊工具运用各种手段达到这一目标,但主要的途径是让变量名字不再具有指示其作用的能力、加密字符串和文字、插入各种欺骗指令使反编译得到的代码不可再编译。
针对代码反编译,推荐使用CBS赛博锁,通过把安全容器内嵌到操作系统中,对容器内的应用和数据进行加锁,程序和数据在容器内运行,实现最后一米数据安全,防止核心数据被泄露,防止服务器终端中病毒,防止反编译,反破解。
我使用的方法是利用加壳工具:virbox Protector Standalone。直接进行加壳。高级混淆、虚拟化代码、智能压缩等加密策略。如果要授权控制,可使用许可版本的virbox Protector。
Q3: 如何防止class被反编译,の颐堑闹恫
关键代码使用jni调用本地代码,用c或者c++编写,因此相对比较难于反编译 2 混淆java代码。混淆是不改变代码逻辑的情况下,增加无用代码,或者重命名,使反编译后的源代码难于看懂。
可以使用代码混淆是对Class文件进行重新组织和处理,使得处理后的代码与处理前代码完成相同的功能(语义)。但是混淆后的代码很难被反编译,即反编译后得出的代码是非常难懂、晦涩的,因此反编译人员很难得出程序的真正语义。
关于java代码免反编译和java反编译jar包的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。






