喜悦国际村's Archiver

cube316 发表于 2003-9-29 05:05 AM

请问魔王,有没有什么类可以把不同类型的类封装成一个新的类?

比如:

我有一个 String a
byte[] b

然后需要把他们“合成”一个新的类,发送到别人处后再分解成原来的那两个不同类型的类。

有这种类和方法么? :blowzy:

Vector ?? Collection  ??

最好能稍微把关键代码说一下

cube316 发表于 2003-9-30 07:33 PM

这样你是把他们作为内部成员变量来处理

我的意思是直接用JAVA中内置的类来处理。

不过牵涉到的主要就是Vector ,还有一个好像叫“JAVA2 FrameWork PlatForm”的东西,能不能讲讲?

短笛 发表于 2003-9-30 09:15 PM

Vector也可以

不过那样可读性就太差了,除了你谁也看不懂,把不同的对象塞到一个Vector里面,谁也理解不了呀。

cube316 发表于 2003-10-1 05:46 AM

哈哈,我们现在做的是安全系统,就是要别人看不懂才好呢~

只要服务器和客户端互相通信时能理解就可以了 :p

BTW,保护JAVA源代码,防止反编译的软件和方法,能不能推荐一下?

冬冬 发表于 2003-10-1 12:03 PM

什么混淆器来着

开花石头 发表于 2003-10-1 12:50 PM

RetroGuard的使用方法


--------------------------------------------------------------------------------

时间:2003-1-3 22:01:00 阅读167次
   
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文件包了。

cube316 发表于 2003-10-1 07:13 PM

我的JAVA编译后生成很多新的$$1.class ,看来麻烦了

页: [1]

Powered by Discuz! Archiver 7.0.0  © 2001-2009 Comsenz Inc.