java转换本地代码 java 编译为本地代码

求助..... 怎么把java源码转成本地代码,其目的是为了防止反编译以便保护源码压缩,压缩,再压缩.
或者你可以理解为 加密,加密,再加密,
等你自己运行的时候,就逆向解析出来源码.
希望能帮到你!
java代码怎么转换成exe的可执行文件?想要把java生成可执行文件需要第三方软件的支持 , 不过在没有安装JDK的机器上是不可能运行JAVA程序的,哪怕是编译成为exe文件 。将Java应用程序本地编译为EXE的几种方法(推荐使用JOVE和JET) 1. 从获得一个TowerJ编译器,该编译器可以将你的CLASS文件 编译成EXE文件 。2. 利用微软的SDK-Java 4.0所提供的jexegen.exe创建EXE文件 , 这个软件可以 从微软的网站免费下载,地址如下:jexegen的语法如下: jexegen /OUT:exe_file_name /MAIN:main_class_name main_class_file_name.class [and other classes] 3. Visual Cafe提供了一个能够创建EXE文件的本地编译器 。你需要安装该光盘 上提供的EXE组件 。4. 使用InstallAnywhere创建安装盘 。5. 使用IBM AlphaWorks提供的一个高性能Java编译器 , 该编译器可以从下面的 地址获得:6. JET是一个优秀的Java语言本地编译器 。该编译器可以从这个网站获得一个 测试版本:7. Instantiations公司的JOVEJOVE公司合并了以前的SuperCede,一个优秀的本地编译器 , 现在SuperCede 已经不复存在了 。8. JToEXE Bravo Zulu Consulting, Inc开发的一款本地编译器,本来可以从该公司的 网页上免费下载的,不过目前在该公司的主页上找不到了 。希望对你有帮助!
JAVA怎么将格林威治时间转换为本地标准时间格式//首先导包
import java.txt.*;
import java.util.*;
//代码
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String date = sdf.format(new Date());//new Date(); 就是当前系统时间
//输出date为:xxxx-xx-xx xx:xx:xx
怎么防止Java开发出来的程序被别人反编译防止Java开发出来的程序被别人反编译有很多种方法 , 下面给你介绍几种:
1、隔离Java程序
最简单的方法就是让用户不能够访问到Java Class程序,这种方法是最根本的方法,具体实现有多种方式 。例如,开发人员可以将关键的Java Class放在服务器端,客户端通过访问服务器的相关接口来获得服务 , 而不是直接访问Class文件 。这样黑客就没有办法反编译Class文件 。目前,通过接口提供服务的标准和协议也越来越多,例如 HTTP、Web Service、RPC等 。但是有很多应用都不适合这种保护方式,例如对于单机运行的程序就无法隔离Java程序 。
2、对Class文件进行加密
为了防止Class文件被直接反编译 , 许多开发人员将一些关键的Class文件进行加密,例如对注册码、序列号管理相关的类等 。在使用这些被加密的类之前,程序首先需要对这些类进行解密,而后再将这些类装载到JVM当中 。这些类的解密可以由硬件完成,也可以使用软件完成 。
3、转换成本地代码
将程序转换成本地代码也是一种防止反编译的有效方法 。因为本地代码往往难以被反编译 。开发人员可以选择将整个应用程序转换成本地代码,也可以选择关键模块转换 。如果仅仅转换关键部分模块,Java程序在使用这些模块时,需要使用JNI技术进行调用 。
4、代码混淆
代码混淆是对Class文件进行重新组织和处理,使得处理后的代码与处理前代码完成相同的功能(语义) 。但是混淆后的代码很难被反编译 , 即反编译后得出的代码是非常难懂、晦涩的,因此反编译人员很难得出程序的真正语义 。从理论上来说,黑客如果有足够的时间,被混淆的代码仍然可能被破解,甚至目前有些人正在研制反混淆的工具 。但是从实际情况来看,由于混淆技术的多元化发展,混淆理论的成熟 , 经过混淆的Java代码还是能够很好地防止反编译 。

推荐阅读