使用混淆器,保护你的java程序

原创 2002年12月19日 08:49:00

RetroGuard的使用方法: (转帖自 www.cnjm.net)

   RetroGuard是一个很不错的Java混淆器,而且在JBuilder7的企业版中也带了这个混淆器。
   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文件,选择要保留的类、函数、变量,完成后会自动生成“保留脚本文件”。其实通常情况下只要保留运行的起始类名称就可以了。
   如果你的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文件包了。

sun的jade

运行java setup.class按装

在F:/jade/lib下

运行java Jade +g

出现图形界面,可以进行混淆了.

常见的5种方式看保护java代码(java混淆器)

在java代码中往往包含着一些非常敏感的信息,有些关系到开发者的利益,有些可能因为使用环境不同而关系到软件用户的利益,于是,java程序是赤膊上阵还是全副武装这个现实问题就摆在了java开发人员的面前...
  • xuke6677
  • xuke6677
  • 2013年11月15日 22:55
  • 3028

通过字节码混淆来保护Python代码

Python开发者常常面临这样一个难题,即如何保护代码中的技术秘密。笔者尝试过的一些Python代码保护工具要么难以有效实现该目标,要么有效但是有着不可忽视的缺点。本文首先对常见的Python代码保护...
  • ir0nf1st
  • ir0nf1st
  • 2017年03月12日 21:47
  • 5752

Jocky混淆JAVA代码(保护你的JAVA项目)

原帖中没有给出jocky的相关jar,我从某个地方下载到了jocky的相关jar,并在项目中得到了很好的应用,在这里共享下。 一、前言 1.1 什么是Jocky?    我们知道,Jav...
  • baochanghong
  • baochanghong
  • 2016年07月13日 09:53
  • 1316

Java代码加密与反编译(一):利用混淆器工具proGuard对jar包加密

Java代码加密与反编译(一):利用混淆器工具进行加密
  • DianaCody
  • DianaCody
  • 2014年08月15日 14:52
  • 9398

共有18款Java 代码混淆和加密开源软件

http://www.oschina.net/project/tag/167/code-confusion?lang=19&sort=view Java混淆器 ProGuard ...
  • mengzhengjie
  • mengzhengjie
  • 2015年12月28日 17:07
  • 7591

java set get访问器理解

简述 java中习惯将类的成员变量属性设置为私有(private),并通过设置setXXX和getXXX方法来完成对成员变量的赋值和取值操作。在刚开始学习java时一直很疑惑为什么不将成员变量设...
  • u014677625
  • u014677625
  • 2014年12月06日 18:56
  • 3191

Dotfuscator针对C#代码混淆方法总结

前言: C#编写的代码如果不进行一定程度的混淆和加密,那么是非常容易被反编译进行破解的,特别是对于一些商业用途的C#软件来说,因为盯着的人多,更是极易被攻破。现今很多用C#编写的项目,做出的产品...
  • L_serein
  • L_serein
  • 2013年02月26日 16:29
  • 15142

高效使用Java混淆器Allatori,公司新策临时应对

很多人可能对Java混淆器可能都不太了解,包括我之前都不太了解,公司突然让用这个Java混淆器来对代码进行一点保护,我就这几天一直在摸索这个东西,我发现国内的网站对这个东西的用法真的不多,当时我是很绝...
  • qq_38961950
  • qq_38961950
  • 2017年07月06日 16:08
  • 335

java代码混淆工具Jocky的介绍

最近给的任务是代码混淆,以前没有接触过,所以只能从最基础的东西开始了解。主要应用的工具有jocky、progard、dex2jar、apktool、jd-GUI。今天简单介绍一下jocky的作用,并附...
  • Zhuang_stark
  • Zhuang_stark
  • 2017年07月24日 14:36
  • 375

java代码混淆工具jocky的使用

一、前言 1.1 什么是Jocky?    我们知道,Java是一种跨平台的编程语言,其源码(.java文件)被编译成与平台无关的字节码(.class文件),然后在运行期动态链接。这样,编译后...
  • rchm8519
  • rchm8519
  • 2014年09月25日 19:48
  • 3236
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用混淆器,保护你的java程序
举报原因:
原因补充:

(最多只允许输入30个字)