atitit.商业版 源码保护 与 java本地原生代码转换 的方案总结

1. 为什么虚拟机语言容易被反编译 1

2. 源码泄露的问题问题 1

3. Excelsior JET 1

4. gcj.的流程 2

5. classloader方案,,还凑后 2

6. 制作伪exe,其实和上一种做法是一样的,只不过做成exe,调用系统的java.exe来运行它,这样的工具有nativeJ,exe4j等 3

7. 其他 3

1. 为什么虚拟机语言容易被反编译

,但虚拟机的中间语言由于带了大量的“元数据”信息,所以也极容易被反编译。

就我所知,目前把Java程序编译成本机可执行程序的方法有两种,一种是GCJ,免费的,一种是Excelsior JET,商业的

2. 源码泄露的问题问题

中间语言如此容易被反编译,有许多可怕之处。

1.      知识产权

2.       源代码泄漏,被竞争对手拿去和你竞争(这种事很多)

就我知道的都有几起,不过不方便说出来。

他们从客户那里想办法copy回一份别的公司的产品,然后反编译后,改改图片,图片以及版权信息和注册信息,就拿出去卖了。

被别人植入恶意程序,后果得由作者或开发商承担

3. Excelsior JET

Excelsior JET无非就是用自己的Runtime来代替JRE,只是比JRE更加灵活,根据Java程序具体的依赖来生成对应的Runtime。其实这个Runtime也挺大的,通常10M左右,不过比起JRE,那要小很多了

就我的感觉,Excelsior JET比GCJ更加灵活,也更好用,毕竟是商业版的东西

把JAVA代码编译成本机程序的弊端也是有的,那意味着你将无法在线升级,GCJ也许可以,但是Excelsior JET是绝对不行的,这是因为它最后一步要对所有DLL进行链接,如果更换了DLL文件,它会检测出来并报错。

attilax note::jeig biz ver d ,website sheo down d deush tried ver d ,cant use ..

作者:: 老哇的爪子 Attilax 艾龙,  EMAIL:1466519819@qq.com

转载请注明来源: http://blog.csdn.net/attilax

4. gcj.的流程

可以把普通的Java程序做成真正的exe,也就是单一个exe就可以在没有安装JVM的机器上运行。这样的工具常见的有JET和gcj.前者是收费的,而且做出来的exe还是需要一堆dll。推荐使用gcj.他有windows和Linux 版,直接下载zip包,不需要安装,里面有不少例子,一些build的批处理文件。从原理来说gcj自己实现了JVM规范,也就是你编写一个 HelloWorld.java,其中的main方法为System.out.println("foo");

当使用gcj把它做成exe(大约2M),运行这个exe时,会启动里面的一个小型jvm,在这上面跑HelloWorld

5. classloader方案,,还凑后

6. 制作伪exe,其实和上一种做法是一样的,只不过做成exe,调用系统的java.exe来运行它,这样的工具有nativeJ,exe4j等

7. 其他

【Java开源打包工具】

IzPack 是一个 Java 安装程序制作工具,能够制作一些简单的安装程序。制作出来的安装程序能在 Unix-like, MacOS X, Windows 等系统平台上运行。

使用JSmooth将做好的JAR包装成EXE。

launch4j是Java应用程序的Windows本地可执行文件 (.exe) 封装器。提供了本地弹出屏幕,应用程序图标,JRE搜索或使用绑定的JRE,启动失败反馈,传递命令行参数,ant脚本。

VAInstall是多平台的安装程序。你要包装起来的软件可以是可执行的 java class, Windows .EXE, Linux 可执行档,或者是 UNIX shell 档案。使用者可以选择四种安装的介面,graphic, xtra, text 或是 ansi。VAInstall 只需要很少的空间,他不会使用任何大的暂存档案,而且还可以很容易使用反安装功能。

Toolshed是一个既小又简单的JAVA安装制作工具。

AntInstaller通过XML文件定义UI,用Ant做后台。所以ANT所能做的事情AntInstaller同样也胜任。

FreeInstaller能够把JAVA程序打包成多种平台下的应用程序比如UNIX, LINUX 和 Windows NT.

这个工具利用 ANT 来制作在 Windows, MacOS X, Unix 平台上可执行的文件,比如 exe,zip,jar。ROXES ANT Tasks 基于 GPL 发布。

Mini Installer是用来构建JAVA安装程序一个简单类包。整个过程以脚本为驱动,最后结果是一个独特的JAR文件。用户可以通过双击来执行一个类似向导的安装过程。

Antigen (Ant Installer Generator)这个工具结合一个ANT构建脚本与一个GUI来把Java文件打包成可执行的Jar文件。它的主要目的是从Ant脚本创造一个强大的图形安装工具。

Packlet是一个针对Java的简单安装工具。一个Packlet类似于一个zip或tgz文件。它把应用程序打包成一个单一的可分解的压缩文件。Packlet文件能够在任何有安装Java 2运行环境的机器上运行。

Java Service Wrapper可以把Java应用程序安装成一个Windows NT服务或Unix Daemon.它同时还为应用程序提供日记功能,灵活的配置,可靠的运行性能,按需求重新启动,简化应用程序的安装等,>

JPackIt可以把Java工程打包成一个可执行的包(如:jar,class或exe).包括所有Java应用程序资源如:代码,图片,属性文件和被引用的第三方包.>

One-JAR可以解决如何把一个依赖于多个其它jar文件的应用程序发布成一个单一的可执行Jar文件.它使用一个可定制的类装载器(classloader)来打开在主Jar中的Jar文件包. >

Autojar帮助从不同的inputs(如:自身classes,外部文档等)制作最小的 Jar文件。它从一个或多个给定的classes开始,依据字节码(bytecode)递归搜索相关联的classes,然后从input文档中提取这些 Classes,并把它们拷贝到output中. 最终的文档将只包含真正需要的classes. 因而能够保持applet的大小并降低applet的加载时间或者让应用程序独立于第三方类库。>

MJAR(Managed Jar Framework)Java软件分发/打包框架。它允许在相同VM内并行部署classloader分离的应用程序。MJAR使用Spring框架来管理内部组件。

无需JRE运行java的方法 - Programmer LaoMan=new Programmer(); - ITeye技术网站.htm

运用加密技术保护Java源代码.htm

atitit.商业版 源码保护 与 java本地原生代码转换 的方案总结相关推荐

  1. 全网首发游戏陪玩系统 语音聊天系统11月商业版源码 附教程

    源码简介: 此系统源码包含详细搭建教程及素材图,附搭建教程 源码仅用于学习使用(价值15980元) 此陪玩系统源码本人亲自测试搭建并且运营了一段时间,亲测有效,下方是我测试运营的 下面开始讲讲游戏陪玩 ...

  2. 分享2018版最新AiJiaCMS爱家房产网站商业版源码,开源版本

    前言:本系统为最新版AiJiaCMS爱家房产网站商业版源码,功能全,包括: 1.单独一个新房导购中心 2.新房.二手房.出租.求购.团购.小区.家装.视频.分销多种功能信息可供客户查询 3.加入公司模 ...

  3. EduSoHo在线教育商业版源码

    EduSoHo在线教育商业版带账户充值+打折活动+学习卡+作业练习+题库增强+VIP商业插件 简介: 注意这套源码是货真价实的商业版,不是网上那种开源的阉割版.程序含带账户充值+打折活动+学习卡+作业 ...

  4. Javashop电商系统7.1.5商业版源码

    Javashop B2B2C多店铺系统 Javashop结合多年的电商开发经验推出[B2B2C多店铺系统],是目前国内最优秀的电商平台之一,系统设计为"平台自营+供应商入驻"的电商 ...

  5. H5雷霆传奇手机竖屏游戏商业版源码共两款一键服务端+教程

    相比传统页游和手游来说,手机版页游H5游戏无疑是属于比较休闲那一类的,游戏自动打怪,主体的机制是挂机放置类游戏,即使玩家的时间不多,游戏人物仍然在服务器上进行打怪练级,节省了玩家的时间.游戏的UI方面 ...

  6. Discuz招商加盟门户网站整站模板/加盟项目网站商业版源码/整站带测试数据

    ☑️ 编号:ym209 ☑️ 品牌:Discuz ☑️ 语言:php ☑️ 大小:27.8MB ☑️ 类型:招商加盟门户 ☑️ 支持:pc+wap

  7. java源码保护技术,sourceguard

    sourceguard 项目记录了本人对java源码保护的一些探索实践. 项目结构 sourceguard-repack 实现原始jar文件的解包,对目标class文件加密和还原成jar文件 sour ...

  8. java象棋人机代码_中国象棋人机对弈Java版源码

    [实例简介] 中国象棋人机对弈Java版源码,包含人工智能实现(含多个难度级别,采用α-β迭代搜索算法) [实例截图] [核心代码] 中国象棋人机对弈Java版源码 ├── boards │   ├─ ...

  9. GK309协议电子工牌数据模拟器+Socket数据发送 JAVA版-源码

    GK309协议电子工牌数据模拟器+Socket数据发送 JAVA版-源码 说明 源码 EXE执行文件 说明 单JAVA文件,直接运行main方法即可. 只做了GK309的基础位置数据模拟: 0x01 ...

  10. [附源码]计算机毕业设计JAVA动物保护网站

    [附源码]计算机毕业设计JAVA动物保护网站 项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(Intell ...

最新文章

  1. clickhouse原理解析与开发实战 pdf_重识SSM,“超高频面试点+源码解析+实战PDF”,一次性干掉全拿走...
  2. 网络编程学习笔记一:Socket编程
  3. vs2013 编译 notepad++ 源代码 2014-7-23
  4. 浏览器插件 - 通用注入模版JS
  5. Git常见指令的本质
  6. 深度解读最流行的优化算法:梯度下降
  7. OpenGL基础32:面剔除
  8. webStrom 开始你的第一个React应用
  9. 编译型语言和解释性语言,c++和python
  10. Laravel 5.4 api 允许跨域访问
  11. 浪潮之巅阅读笔记(第四版)_(第一章 帝国的余晖)
  12. Unity编辑器工具简体繁体一键转换
  13. Android半透明
  14. 语音识别算法_开源语音识别算法_语音 识别 - 云+社区 - 腾讯云
  15. 磁共振成像技术发展简史丨科学史
  16. 2022.02.10
  17. [从零开始学习FPGA编程-8]:快速入门篇 - 总体 - FPGA功能开发详细流程与关键步骤解读
  18. 9x9九宫格java_9x9九宫格数字填写规律
  19. 计算机桌面声音图标,win7桌面右下角的小喇叭音量图标不见了怎么办?
  20. 通过V90PN通讯故障实例来看线路干扰与线路错误的区别

热门文章

  1. c语言课程设计类层次图,C语言课程设计————写下流程图! 谢谢
  2. mysql与mimic安装_MIMICIII 数据库教程(4)——MIMIC数据库的安装 #丁香打卡#
  3. 25.212---复用和信道编码
  4. 网站性能测试工具 webbench 的安装和使用-linux
  5. MYSQL 表左连接 ON AND 和ON WHERE 的区别
  6. Linux服务器时间和北京标准时间自动校准命令
  7. 关于Vue vue-cli安装遇到的一些问题
  8. flex 3 学习小结2
  9. bay——RAC_ASM ORA-15001 diskgroup DATA does not exist or is not mounted.docx
  10. MyBatis映射文件4(参数获取#{}和${}/select标签详解[返回类型为list])