社区
Java
帖子详情
如何使用Java混淆器RetroGuard?急!急!急!
ty58801283
2005-08-31 05:37:15
我从JBuilder9的企业版中找到了RetroGuard v1.1的RetroGuard.jar,如何使用RetroGuard.jar对java源代码进行混淆,据说有两种方法,一是用jdk,加载RetroGuard.jar,在Dos下进行混淆,二是用JBuilder加载RetroGuard.jar,请问如何加载(两种方法都需要)?如何使用?请帮忙!
...全文
185
4
打赏
收藏
如何使用Java混淆器RetroGuard?急!急!急!
我从JBuilder9的企业版中找到了RetroGuard v1.1的RetroGuard.jar,如何使用RetroGuard.jar对java源代码进行混淆,据说有两种方法,一是用jdk,加载RetroGuard.jar,在Dos下进行混淆,二是用JBuilder加载RetroGuard.jar,请问如何加载(两种方法都需要)?如何使用?请帮忙!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
mxlmwl
2005-09-20
打赏
举报
回复
RetroGuard是一个很不错的Java混淆器,而且在JBuilder7的企业版中也带了这个混淆器。
下载地址有:
http://retrologic.com/retroguard-download.html
http://www.jfind.com/listings/475.shtml#
RetroGuard本身是一个Java程序(一个Jar包),所以要使用的话必须先安装JDK。运行前需要设置一些环境变量,除了要在PATH中包含java的执行路径以外,还要在CLASSPATH中加入D:\retroguard\RetroGuard.jar(假设你的RetroGuard.jar在D:\retroguard下)。如果没有设置CLASSPATH的话也不要紧,只不过每次运行时就要通过 -classpath 加上路径参数。设置好运行环境以后还要准备好你要混淆的.jar文件包,至于如何把编译好的类打包成.jar文件就不在这里多说了。
RetroGuard的执行格式是:
java RetroGuard [输入JAR文件 [输出JAR文件 [“保留脚本文件” [日志文件>
其中“保留脚本文件”描述了那些类、函数、变量名必须保留,不能被混淆;日志文件是执行后生成的记录文件,记录的错误、混淆情况等信息。
对于“保留脚本文件”可以通过一个图形界面RGgui来设置,执行命令是:
java RGgui
运行后,可以根据提示选择输入Jar文件,选择要保留的类、函数、变量,完成后会自动生成“保留脚本文件”。其实通常情况下只要保留运行的起始类名称就可以了。
假设我人不希望my.Main(my是包名,Main是其下的一个类)及其内部属于public权限的方法被混淆,那么我们会撰写一个名为script.rgs的控制文件,内容如下:
.class my/Main public
写好控制文件后,重新执行指令:
java -classpath retroguard.jar RetroGuard MyGUI.jar MyGUI2.jar script.rgs
如果你的Jar包用到了第三方的函数库,比如Siemens的API,那么就要在 -classpath 参数中指定。例如:
java -classpath c:\siemens\smtk\6688i1_b8\lib\api.jar RetroGuard in.jar out.jar script.txt log.txt
如果RetroGuard混淆失败,可以查看日志文件取得错误信息。
这里我发现一个问题,就是遇到有类似 ...$$1.class 这样的文件,RetroGuard会提示出错,后来我修改了他的源代码,直接跳过了对这种文件的处理。
JBuilder7中RetroGuard的设置和用法:
JBuilder7的企业版中带了RetroGuard v1.1,再JBuilder7安装路径下的retroguard-v1.1目录中。在JBuilder7中可以直接调用RetroGuard。设置的方法如下:
点菜单Tools -> Configure Obfuscators配置混淆器,点左下角的New...新建一个混淆器,选择RetroGuard的路径,完成配置。使用起来要通过Archive Builder,点菜单Wizards -> Archive Builder...,Archive type选择MIDlet(这里仅仅介绍针对J2ME应用),然后根据提示一步一步往下设置,到达第9步也就是混淆器设置的时候,选中obfuscate the contents of the archive,Obfuscator选择混淆器,Use the classes specified blow下面添加要保留的类(默认保留起始执行类),结束设置。
这样当每次编译的时候,就会自动生成混淆过的Jar文件包了。
mxlmwl
2005-09-20
打赏
举报
回复
啊,小颖还有混淆器吗?我倒不知道,地址是多少,贴出来看看,偶想试一下。
追求自由
2005-09-18
打赏
举报
回复
不好意思,是jade。
追求自由
2005-09-18
打赏
举报
回复
哪你就运行一下啊,应该有帮助信息吧,命令行下应该有输入参数的说明吧?
我用过小颖来混淆,效果还不错,操作也不难,可以试试。
java
混淆
器
Re
tro
Guard
java
混淆
器
Re
tro
Guard
免费提供源码 可运行jar文件
Java
代码编译后生成的 .class 中包含有源代码中的所有信息(不包括注释),尤其是在其中保存有调试信息的时候。所以一个按照正常方式编译的
Java
.class 文件可以非常轻易地被反编译。反编译工具有很多种,其中非常强大的一种是 jad。 为了避免出现这种情况,保护开发者的劳动,又有一种叫做
Java
混淆
器
的工具被开发出来。
Java
混淆
器
的作用是对编译好的代码进行
混淆
,使得其无法被反编译或者反编译后的代码混乱难懂。
Java
混淆
器
也有很多种,其中比较强大的一种是 Re
tro
Guard
(只说比较强大是因为我对其功效还是有些怀疑的)。 这里我介绍一下 Re
tro
Guard
的
使用
方法。 将下载的 .tar.gz 或者 .zip 文件解压。有用的只有 re
tro
guard
.jar 一个文件,其它的是源代码和文档。 Re
tro
Guard
是针对 jar 文件做
混淆
的。
使用
之前需要先配置一下。可以手工编辑配置文件,更好的方法是
使用
Re
tro
Guard
提供的 GUI 工具来生成配置文件。
使用
方法如下:
java
-classpath re
tro
guard
.jar;xxx.jar;yyy.zip;... RGgui 然后在 GUI 的 Wizard 中设置各个参数。上面的 -classpath 中应该列出要
混淆
的 jar 所依赖的所有的包。 RGgui 的详细
使用
方法可以看 Re
tro
Guard
的文档 docs.html。 配置文件生成后,就可以运行 Re
tro
Guard
进行
混淆
了。
使用
方法如下:
java
-classpath xxx.jar;yyy.zip;... Re
tro
Guard
vvv-unofb.jar vvv.jar vvv.rgs vvv.log 其中 vvv-unofb.jar 是未
混淆
的 jar 文件,vvv.jar 是
混淆
后生成的 jar 文件,vvv.rgs 是配置文件,vvv.log 是日志文件。缺省的配置文件名称为 script.rgs,缺省的日志文件名称为 re
tro
guard
.log。 在生成配置文件时需要注意的是: 1、所有 public 的类名、方法名、变量名应该全部保留。因为所有设置为 public 的内容代表了整个包对外表现的接口。若某个内容不想为外界访问,就不应该设置为 public 的。 2、若包中某个类
使用
了
java
.lang.Class 或者
java
.lang.ClassLoader 中的某个方法加载了一个类,若这个类在包外,不需要特别处理;若这个类在包内,则需要保留这个类的类名,否则
混淆
后会找不到这个类。 3、在包中的所有调试信息(源文件名、行号、变量/参数信息等等)应全部删除。 Re
tro
Guard
还有一种打 patch 的所谓“增量式
混淆
”的
使用
方法。方法的要点是把上一次
混淆
生成的 log 文件作为下一次
混淆
的配置文件,这样就可以生成一个仅包含修改的 patch jar。在
使用
的时候把这个 path jar 放在 CLASSPATH 的上一次
混淆
jar 之前。这种增量式
混淆
有两种方法: 1、每个 patch jar 仅包含上一个版本
混淆
以来发生的变化,这样每个 patch jar 会很小,但是 CLASSPATH 会越来越长。 2、每个 patch jar 包含上一个主要版本(2.0、3.0、4.0)
混淆
以来发生的变化,这样两个主要版本间的 patch jar 会越来越大。但是 CLASSPATH 只需做很小的变化。
混淆
工具 re
tro
guard
re
tro
guard
java
混淆
器
jocky和re
tro
guard
-v2.3.1.zip
防止class文件被反编译,保护知识产权
java
混淆
器
java
混淆
器
以及
使用
方法re
tro
guard
-v2.3.1
re
tro
guard
.jar
Java
代码
混淆
器
re
tro
guard
.jar
Java
51,397
社区成员
85,846
社区内容
发帖
与我相关
我的任务
Java
Java相关技术讨论
复制链接
扫一扫
分享
社区描述
Java相关技术讨论
java
spring boot
spring cloud
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章