导航:首页 > 源码编译 > java编译混淆器

java编译混淆器

发布时间:2022-02-14 22:36:51

㈠ 什么是java混淆编译

由于Java程序运行时是动态连接的,因此编译成的目标文件中包含有符号表, 使得Java程序很轻易被反编译,混淆器可以打乱class文件中的符号信息,使反向工程变得非常困难。

㈡ javacompile混淆器怎么混淆后的class文件还是可以被反编译出来呢求高手指点....

混淆的作用并不是使class文件不能被反编译
混淆的作用是使反编译的代码更难让人阅读,比如一些计算金钱的敏感逻辑里有如下的代码(新金额=旧金额*某个倍率):
double newMoney=oldMoney*rate;
如果这样的代码直接编译成class文件,别人反编译这个class文件就能很清楚的看到金钱的计算关系,混淆后代码可能就变成这样的了:
double a=b*c;
这样的代码别人即使反编译了,也是很难看懂其中的逻辑关系的

㈢ Java混淆器

名称 性质
DashO最贵, 一般都是大公司采用。

ZKM 可试用,最多同时混淆五个档案,商业版不便宜。

JBuilder 购买 JBuilder 时会内附

JAX 可试用,商业版价格中等

RetroGuard OpenSource

㈣ JAVA 有对源代码进行混淆的混淆器么

不需要对源代码混淆。class有这种功能的,在J2ME中混淆是必须的,结果跟你说的一样,不过原理不是你那么走的,混淆以后的class反编译也会让人看不懂,全部变成了a,b,c,d这样的名字。

㈤ 有没有 Java 代码混淆工具,不是混淆 jar 包,是混淆代码

Java代码混淆就像男女在一起分不出来一样,这样男女就变成Java的使用者----伟大的Java程序员

㈥ (java混淆器)java混淆器ProGuard的图形界面怎么配置参数

proguard 配置简介
参数: -include {filename} 从给定的文件中读取配置参数 -basedirectory {directoryname} 指定基础目录为以后相对的档案名称 -injars {class_path} 指定要处理的应用程序jar,war,ear和目录 -outjars {class_path} 指定处理完后要输出的jar,war,ear和目录的名称 -libraryjars {classpath} 指定要处理的应用程序jar,war,ear和目录所需要的程序库文件 - 指定不去忽略非公共的库类。 - 指定不去忽略包可见的库类的成员。 保留选项 -keep {Modifier} {class_specification} 保护指定的类文件和类的成员 -keepclassmembers {modifier} {class_specification} 保护指定类的成员,如果此类受到保护他们会保护的更好 -keepclasseswithmembers {class_specification} 保护指定的类和类的成员,但条件是所有指定的类和类成员是要存在。 -keepnames {class_specification} 保护指定的类和类的成员的名称(如果他们不会压缩步骤中删除) -keepclassmembernames {class_specification} 保护指定的类的成员的名称(如果他们不会压缩步骤中删除) -keepclasseswithmembernames {class_specification} 保护指定的类和类的成员的名称,如果所有指定的类成员出席(在压缩步骤之后) -printseeds {filename} 列出类和类的成员-keep选项的清单,标准输出到给定的文件 压缩 -dontshrink 不压缩输入的类文件 -printusage {filename} -whyareyoukeeping {class_specification} 优化 -dontoptimize 不优化输入的类文件 -assumenosideeffects {class_specification} 优化时假设指定的方法,没有任何副作用 -allowaccessmodification 优化时允许访问并修改有修饰符的类和类的成员 混淆 -dontobfuscate 不混淆输入的类文件 -printmapping {filename} -applymapping {filename} 重用映射增加混淆 -obfuscationdictionary {filename} 使用给定文件中的关键字作为要混淆方法的名称 -overloadaggressively 混淆时应用侵入式重载 -useuniqueclassmembernames 确定统一的混淆类的成员名称来增加混淆 -flattenpackagehierarchy {package_name} 重新包装所有重命名的包并放在给定的单一包中 -repackageclass {package_name} 重新包装所有重命名的类文件中放在给定的单一包中 -dontusemixedcaseclassnames 混淆时不会产生形形色色的类名 -keepattributes {attribute_name,...} 保护给定的可选属性,例如LineNumberTable, LocalVariableTable, SourceFile, Deprecated, Synthetic, Signature, and InnerClasses. -renamesourcefileattribute {string} 设置源文件中给定的字符串常量

㈦ java反编译器是什么,干什么用的;混淆器是什么,有什么用

反编译器就是将.class文件变回原来的java源程序文件
不会冲突

混淆器可以打乱class文件中的符号信息,使反向工程变得非常困难。

㈧ java混淆器是做什么的

楼上只说了其一,没说其二: 混淆器的还有一个作用那就是对代码进行压缩,比如一个j2me程序打完包是400KB,使用混淆器混淆后就被压缩成100KB的文件,这对于手机这种内存空间比较宝贵的设备来说显得尤为必须。

㈨ 编写java混淆工具要多长时间

看复杂度及算法

这样的东西都有现成的,自己来实现挺鸡肋的。

㈩ Java有哪些有效的代码混淆工具

ProGuard 是一个免费的 Java类文件的压缩,优化,混肴器。它删除没有用的类,字段,方法与属性。使字节码最大程度地优化,使用简短且无意义的名字来重命名类、字段和方法 。eclipse已经把Proguard集成在一起了。

阅读全文

与java编译混淆器相关的资料

热点内容
超准macd副图源码 浏览:6
好脾气的程序员 浏览:661
macppt压缩软件 浏览:131
公众号推广系统源码 浏览:62
程序员作息安排 浏览:621
如何在本地登录服务器 浏览:334
喵吧app怎么使用 浏览:751
家庭服务器如何连wifi 浏览:205
新闻推荐系统源码 浏览:225
php中文星号 浏览:503
服务器4盘是什么意思 浏览:596
如何重启或关闭服务器 浏览:350
pdf文档加水印 浏览:838
机构抢筹指标公式源码 浏览:268
linux脚本awk 浏览:560
程序员怎么跟领导提升 浏览:77
pdf怎么生成目录 浏览:389
如何保护自己的服务器 浏览:70
html5上传图片压缩 浏览:475
支付宝账单文件如何解压 浏览:861