java混淆器最好_使用混淆器,保护你的java程序
一起学习
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程序相关推荐
- java import自定义类_自定义类加载器-从.class和.jar中读取
一. 类加载器 JVM中的类加载器:在jvm中,存在两种类加载器, a) Boostrap ClassLoader:这个是由c++实现的,所以在方法区并没有Class对象的实例存在.用于加载JAVA_ ...
- java高深技术总结_一名25K以上的高薪Java程序员总结出的技术以及学习技能
原标题:一名25K以上的高薪Java程序员总结出的技术以及学习技能 总所周知,Java是目前使用最为广泛的网络编程语言之一. 它具有简单,面向对象,稳定,与平台无关,解释型,多线程,动态等特点. 一般 ...
- 百度java的线程技术_自我提升(基础技术篇)——java线程简介
前言:虽然自己平时都在用多线程,也能完成基本的工作需求,但总觉得,还是对线程没有一个系统的概念,所以,查阅了一些资料,理解那些大神和官方的资料,写这么一篇关于线程的文章 本来想废话一番,讲讲自己的经历 ...
- 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 ...
- java增删改查_只会增删改查的Java程序员该如何发展
首先,对于当前的Java程序员来说,要想在软件开发领域走得更远,应该做好三件事,其一是为自己设定一个主攻方向,其二是根据自身的知识基础和能力特点来制定学习计划,其三是注重行业发展趋势,积极拥抱新技术. ...
- java显示已经安装_我的世界 已经安装了java,但还是显示没有安装,怎么办
在浏览中,顺着路径"C:\\Program Files(x86)\\Java\\jre7\\bin\\\"找到里面的"java.exe"程序->然后点击& ...
- 网易 java社招面试_《最新面经》—网易Java岗社招面试经历分享
(面试题+答案领取方式:关注公众号回复[666]) 网易面试题 1. 面向对象的特点有哪些? 2. 列举几个java常用的package及其作用 3. 接口和抽象类有什么联系和区别 4. 重载和重写有 ...
- python 混淆矩阵 画图_【Python-机器学习】sciki-learn/pandas与OLS求解
引言:本文是<Python与机器学习应用--经济学视角>专栏的第一篇文章.正如专栏题目所示,笔者在介绍主流的机器学习算法的时候,会基于本人Stata/R语言以及经济学/计量经济学的背景进行 ...
- json在java代码混淆出问题_代码混淆 GSON完满解决
头疼的问题,json使用了google的gson三方包,可是混淆的时候出了问题 明明已经按照gson的官方文档,把混淆脚本加上去了,却还是出问题. 今天同事找到一篇博客,关于这个问题的: 我们是将js ...
- java抢答器代码_八路抢答器代码与说明
//功能描述: //1.接通电源后,主持人按下清零状态开关,同时宣布"开始",编号显示器显示"空值 //2.开始倒计时,抢答器工作.选手开始抢答,抢答器完成:优先判断.编 ...
最新文章
- C++中string与int\double等互转
- leetcode669. 修剪二叉搜索树
- elasticsearch java_java Elasticsearch详细介绍及使用实例分析
- PyMongo官方文档翻译——VNPY
- java官网门户源码 SSM框架 自适应-响应式 freemarker 静态模版引擎
- thymeleaf路径问题
- 学习记录:python快递价格计算器练习7.12
- SECS/GSM 测试工具
- Sublime中文显示乱码
- css3揭秘读书笔记--边框内圆角
- IP被反垃圾邮件组织列入SBL,发送邮件被退回的解决方法
- 经典运放电路详细分析(模拟电子技术)
- MATLAB寻找水仙花数字
- 关于淘淘商城的一些基本说明
- 数模算法 — 蒙特卡罗算法及Matlab案例
- uniapp微信小程序实现连接低功耗蓝牙打印功能
- 为什么有很深的windows基础还是不能动摇linux半步
- 安卓阅读器开发_别买电子阅读器:即将淘汰Kindle的5项技术
- [BAOJ3631]松鼠的新家
- 三面阿里,有惊无险成功拿到offer定级P7,只能说是真的难
热门文章
- 你问我DataX是谁?对不起,我活在Apache SeaTunnel的时代!
- android eclipse三合一,创新巅峰之作全能型Orbitrap Eclipse三合一质谱仪
- python与数据思维基础网课答案_智慧树知到_Python数据分析与数据可视化_答案免费查询...
- 善领dsa android正式版,善领DSA Android(安卓)正式版
- 51单片机流水灯程序
- 计算机控制系统编程语言有哪些,PLC编程语言有哪些种类
- 今年尾牙我们部门拍的搞笑短片,讲述项目开发的事~
- 【git学习】fatal: unable to access XXX: Failed to connect to github.com port 443: Timed out怎么解决
- 可用性和可靠性的区别
- 计算机丢失d3dx935.dll,d3dx943.dll丢失的解决方法