一起学习

RetroGuard的使用方法:

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

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

下载本文示例代码

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

阅读(21) | 评论(0) | 转发(0) |

java混淆器最好_使用混淆器,保护你的java程序相关推荐

  1. java import自定义类_自定义类加载器-从.class和.jar中读取

    一. 类加载器 JVM中的类加载器:在jvm中,存在两种类加载器, a) Boostrap ClassLoader:这个是由c++实现的,所以在方法区并没有Class对象的实例存在.用于加载JAVA_ ...

  2. java高深技术总结_一名25K以上的高薪Java程序员总结出的技术以及学习技能

    原标题:一名25K以上的高薪Java程序员总结出的技术以及学习技能 总所周知,Java是目前使用最为广泛的网络编程语言之一. 它具有简单,面向对象,稳定,与平台无关,解释型,多线程,动态等特点. 一般 ...

  3. 百度java的线程技术_自我提升(基础技术篇)——java线程简介

    前言:虽然自己平时都在用多线程,也能完成基本的工作需求,但总觉得,还是对线程没有一个系统的概念,所以,查阅了一些资料,理解那些大神和官方的资料,写这么一篇关于线程的文章 本来想废话一番,讲讲自己的经历 ...

  4. java se13安装教程_在Linux发行版中安装Java 13/OpenJDK 13的方法

    本文介绍在Linux发行版Ubuntu 18.04/16.04.Debian 10/9.CentOS 7/8.Fedora 31/30/29中安装Java 13/OpenJDK 13.Java SE ...

  5. java增删改查_只会增删改查的Java程序员该如何发展

    首先,对于当前的Java程序员来说,要想在软件开发领域走得更远,应该做好三件事,其一是为自己设定一个主攻方向,其二是根据自身的知识基础和能力特点来制定学习计划,其三是注重行业发展趋势,积极拥抱新技术. ...

  6. java显示已经安装_我的世界 已经安装了java,但还是显示没有安装,怎么办

    在浏览中,顺着路径"C:\\Program Files(x86)\\Java\\jre7\\bin\\\"找到里面的"java.exe"程序->然后点击& ...

  7. 网易 java社招面试_《最新面经》—网易Java岗社招面试经历分享

    (面试题+答案领取方式:关注公众号回复[666]) 网易面试题 1. 面向对象的特点有哪些? 2. 列举几个java常用的package及其作用 3. 接口和抽象类有什么联系和区别 4. 重载和重写有 ...

  8. python 混淆矩阵 画图_【Python-机器学习】sciki-learn/pandas与OLS求解

    引言:本文是<Python与机器学习应用--经济学视角>专栏的第一篇文章.正如专栏题目所示,笔者在介绍主流的机器学习算法的时候,会基于本人Stata/R语言以及经济学/计量经济学的背景进行 ...

  9. json在java代码混淆出问题_代码混淆 GSON完满解决

    头疼的问题,json使用了google的gson三方包,可是混淆的时候出了问题 明明已经按照gson的官方文档,把混淆脚本加上去了,却还是出问题. 今天同事找到一篇博客,关于这个问题的: 我们是将js ...

  10. java抢答器代码_八路抢答器代码与说明

    //功能描述: //1.接通电源后,主持人按下清零状态开关,同时宣布"开始",编号显示器显示"空值 //2.开始倒计时,抢答器工作.选手开始抢答,抢答器完成:优先判断.编 ...

最新文章

  1. C++中string与int\double等互转
  2. leetcode669. 修剪二叉搜索树
  3. elasticsearch java_java Elasticsearch详细介绍及使用实例分析
  4. PyMongo官方文档翻译——VNPY
  5. java官网门户源码 SSM框架 自适应-响应式 freemarker 静态模版引擎
  6. thymeleaf路径问题
  7. 学习记录:python快递价格计算器练习7.12
  8. SECS/GSM 测试工具
  9. Sublime中文显示乱码
  10. css3揭秘读书笔记--边框内圆角
  11. IP被反垃圾邮件组织列入SBL,发送邮件被退回的解决方法
  12. 经典运放电路详细分析(模拟电子技术)
  13. MATLAB寻找水仙花数字
  14. 关于淘淘商城的一些基本说明
  15. 数模算法 — 蒙特卡罗算法及Matlab案例
  16. uniapp微信小程序实现连接低功耗蓝牙打印功能
  17. 为什么有很深的windows基础还是不能动摇linux半步
  18. 安卓阅读器开发_别买电子阅读器:即将淘汰Kindle的5项技术
  19. [BAOJ3631]松鼠的新家
  20. 三面阿里,有惊无险成功拿到offer定级P7,只能说是真的难

热门文章

  1. 你问我DataX是谁?对不起,我活在Apache SeaTunnel的时代!
  2. android eclipse三合一,创新巅峰之作全能型Orbitrap Eclipse三合一质谱仪
  3. python与数据思维基础网课答案_智慧树知到_Python数据分析与数据可视化_答案免费查询...
  4. 善领dsa android正式版,善领DSA Android(安卓)正式版
  5. 51单片机流水灯程序
  6. 计算机控制系统编程语言有哪些,PLC编程语言有哪些种类
  7. 今年尾牙我们部门拍的搞笑短片,讲述项目开发的事~
  8. 【git学习】fatal: unable to access XXX: Failed to connect to github.com port 443: Timed out怎么解决
  9. 可用性和可靠性的区别
  10. 计算机丢失d3dx935.dll,d3dx943.dll丢失的解决方法