`
rq2_79
  • 浏览: 240442 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

RetroGuard学习指南

    博客分类:
  • java
阅读更多
1.类包下载

http://www.retrologic.com/retroguard-download.html<o:p></o:p>

2.<o:p></o:p>RetroGuard的通用方法:

RetroGuard是一个很不错的Java混淆器。 
RetroGuard
本身是一个Java程序(一个Jar),所以要使用的话必须先安装JDK。运行前需要设置一些环境变量,除了要在PATH中包含java的执行路径以外,还要在CLASSPATH中加入D:\retroguard\RetroGuard.jar(假设你的RetroGuard.jarD:\retroguard下)。如果没有设置CLASSPATH的话也不要紧,只不过每次运行时就要通过 -classpath 加上路径参数。设置好运行环境以后还要准备好你要混淆的.jar文件包,至于如何把编译好的类打包成.jar文件就不在这里多说了。 
RetroGuard
的执行格式是: 
java RetroGuard [
输入JAR文件 [输出JAR文件 [“保留脚本文件” [日志文件]] 

其中保留脚本文件描述了那些类、函数、变量名必须保留,不能被混淆;日志文件是执行后生成的记录文件,记录的错误、混淆情况等信息。 
对于保留脚本文件可以通过一个图形界面RGgui来设置,执行命令是: 
java RGgui 
运行后,可以根据提示选择输入Jar文件,选择要保留的类、函数、变量,完成后会自动生成保留脚本文件。其实通常情况下只要保留运行的起始类名称就可以了。 
如果你的Jar包用到了第三方的函数库,比如SiemensAPI,那么就要在 -classpath 参数中指定。例如: 
java -classpath c:\siemens\smtk\6688i1_b8\lib\api.jar RetroGuard in.jar out.jar script.txt log.txt 

如果RetroGuard混淆失败,可以查看日志文件取得错误信息。 

3.RetroGuardant方法:

xml 代码
 
  1. <target name="obfuscate" depends="weaving,check.obfucated" unless="obfucate.unnecessary">  
  2.   
  3.      <java classname="RetroGuard">  
  4.   
  5.          <classpath>  
  6.   
  7.             <path refid="classpath"/>  
  8.   
  9.             <path refid="jspc.classpath"/>  
  10.   
  11.          <!---->classpath>  
  12.   
  13.          <arg value="${build.dir}/${jar.name.asset}"/>  
  14.   
  15.          <arg value="${build.dir}/${jar.name.asset.obfucated}"/>  
  16.   
  17.          <arg value="${rgs.dir}/asset_script.rgs"/>  
  18.   
  19.          <arg value="${log.dir}/log_${TODAY}_${TSTAMP}.txt"/>  
  20.   
  21.      <!---->java>  
  22.   
  23.   <!---->target> 

<o:p></o:p>

Classpath 中放入所有依赖的jar<o:p></o:p>

Arg属性依次输入需要混淆的jar包名,混淆以后的jar包名称,脚本文件,日志文件<o:p></o:p>

关于rgs的说明可参照<o:p></o:p>

http://www.retrologic.com/rg-docs-examplergs.html#attributes

分享到:
评论
3 楼 dongbiying 2011-01-20  
真让人无耐呀!你觉得是不是jar的问题呀!
2 楼 dongbiying 2011-01-20  
这个问题解决了!结果又出现了!找不到类!
1 楼 dongbiying 2011-01-20  
我对jar混淆,结果报java.lang.OutOfMemoryError:java heap space的错误!请问怎么解决呀!

相关推荐

    java混淆器 RetroGuard

    java混淆器 RetroGuard 免费提供源码 可运行jar文件 Java 代码编译后生成的 .class 中包含有源代码中的所有信息(不包括注释),尤其是在其中保存有调试信息的时候。所以一个按照正常方式编译的 Java .class 文件...

    混淆工具 retroguard

    RetroGuard是一款强大的Java字节码混淆工具,主要应用于Android开发中,用于保护应用程序的源代码安全。在Android应用开发过程中,为了防止恶意用户逆向工程分析APP,开发者通常会使用混淆工具对代码进行混淆,使得...

    retroguard.jar

    Java代码混淆器retroguard.jar

    java混淆器jocky和retroguard-v2.3.1.zip

    在压缩包"java混淆器jocky和retroguard-v2.3.1.zip"中,很可能包含了Jocky和RetroGuard的源码、文档、示例、配置文件以及相关的使用指南。使用者需要根据自身需求,配置混淆参数,然后运行混淆工具对Java类文件进行...

    java混淆器

    本文将详细介绍Java混淆器,特别是RetroGuard-v2.3.1的使用方法。 首先,让我们理解什么是Java混淆。混淆是一种优化技术,通过改变类名、方法名、变量名等标识符,使得原始代码变得难以理解和分析。这有助于防止...

    Java 代码生成工具

    Java代码生成工具是一种高效开发辅助软件,它利用数据库结构信息自动化地生成源代码,从而减少...通过学习和掌握这类工具,开发者可以更高效地应对项目需求,节省大量的编码时间,将更多精力集中在业务逻辑和创新上。

    java混淆研究报告.pdf

    参考文献提供了更多关于Jocky的配置指南(http://www.huomo.cn/developer/article-1593a.html),以及多种混淆工具的比较(http://wenku.baidu.com/view/a10bc1260722192e4536f61b.html),和Ant构建工具的介绍...

    Complete_Guide_to_J2ME_Polish

    通过《完整指南:J2ME Polish》,读者可以系统地学习到如何利用Polish技术来优化和加速J2ME应用的开发。从安装配置到构建过程的各个方面都得到了详尽的解释和示例,为开发者提供了一套完整的解决方案。无论是初学者...

    jar包压缩技术.zip

    android mail、JarProtector、javaguard-1.0beta4-bin、JMangle-master、proguard6.0.1、Retroguard-master、

    jive.chm

    混淆 1 Sun公司的混淆器JADE 2 RetroGuard的使用方法 &lt;br&gt; JVM 1 JVM之class文件结构 2 JVM 內的資料處理 &lt;br&gt; MVC Framework 1 应用Struts的网站建设 &lt;br&gt; ...

    出色的混淆器ProGuard

    除了通常的混淆外,它还能自动删除不用的类、方法和属性,而且去掉package的层次关系,混淆后的jar包的体积比retroguard的平均还要小10%左右!详细介绍及使用方法请参见:&lt;BR&gt;...

    Jive资料集

    系统设计 1 jive设计思路 2 jive的工作内幕 3 Jive源代码研究 4 Jive中的设计模式 5 jive学习笔记 &lt;br&gt; &lt;br&gt; 数据库设计 1 Jive Forums数据库说明(英文) 2 Jive KB...

    一种改进加密Java源码的方法.pdf

    这方面的研究结果很多,既有混淆器(如现在大名鼎鼎的JODE、RetroGuard),也有针对反编译器的“炸弹”(如针对反编译丁具Mocha的“炸弹”Crema和HoseMocha)。混淆器,顾名思义,就是通过模糊处理Java代码,具体地...

    yguard-2.3.0.1

    yGuard是一款专业的Java代码混淆工具,它是RetroGuard的后续版本,主要功能是对Java字节码进行混淆,以增加代码的复杂性和安全性。在软件开发过程中,尤其是涉及到商业应用或者开源项目时,保护源代码不被轻易反编译...

    软件开发中的一个重要环节―――混淆 (2004年)

    详细阐述了混淆在软件开发中的重要作用,并讨论了4种需要混淆代码的情形以及常见的混淆方法。在此基础上着重分析了Java字节码的特点,并列举了几种典型的Java字节码混淆器,具体介绍了RetroGuard混淆器的特点和用法。

    GameLoft面试题目及答案

    Proguard和RetroGuard是常用的混淆工具。 d) 状态机用于根据当前状态执行相应操作,游戏AI、动画控制等场景常见应用。 e) - J2ME:Java 用于移动设备的开发平台。 - Python:简洁易用的面向对象编程语言。 - ...

    一种改进的加密JAVA源码的方法.pdf

    市面上有许多工具支持JAVA代码的模糊处理,如JODE、RetroGuard等混淆器,以及针对特定反编译工具(如Mocha)设计的“炸弹”如Crema和HoseMocha等。 **局限性**:尽管模糊处理可以增加代码的复杂度,但这种方法并不...

    j2me 面试题 经典的

    常见的混淆工具有Proguard和RetroGuard。 d) **状态机**:状态机是一种基于状态进行决策的模型,常用于游戏AI,如角色行为、动画状态切换等。 e) **计算机名词解释** - **J2ME**:用于嵌入式设备的Java平台。 - ...

Global site tag (gtag.js) - Google Analytics