Jocky 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
Jocky 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
授权协议 未知
开发语言 Java
操作系统 未知
软件类型 开源软件
开发厂商
地区 不详
提 交 者 不详
适用人群 未知
收录时间 2008-09-22

软件简介

1.1 什么是Jocky?

   我们知道,Java是一种跨平台的编程语言,其源码(.java文件)被编译成与平台无关的字节码(.class文件),然后在运行期动态链接。 这样,编译后的类文件中将包含有符号表,从而使得Java程序很容易被反编译。相信每一个Java开发人员,都曾经用过诸如Jad之类的反编译器,对Java的class 文件进行反编译,从而观察程序的结构与实现细节。如此一来,对于那些需要严格进行知识产权保护的Java应用,如何有效的保护客户的商业投资, 是开发人员经常需要面对的问题。
   于是就出现了Java混淆编译器,它的作用是打乱class文件中的符号信息,从而使反向工程变得非常困难。
   Jocky就是这样一款优秀的Java混淆编译器。

1.2 为什么需要Jocky?

   目前业界有不少商业的甚或是开源的混淆编译器,但它们普遍存在一些这样或者那样的问题。一般而言,现有的混淆器都是对编译好的 class文件进行混淆,这样就需要编译和混淆两个步骤。而事实上,并不是所有的符号都需要混淆。如果你开发的是一个类库,或者某些类需要动态装载, 那些公共API(或者说:那些被publish出来的API)就必须保留符号不变,只有这样,别人才能使用你的类库。现有的混淆器提供了GUI或脚本的方式来对那些 需要保留的符号名称进行配置,但如果程序较大时,配置工作将变得很复杂,而程序一旦修改,配置工作又要重新进行。某些混淆器能够调整字节码的顺序, 使反编译更加困难,但笔者经历过混淆之后的程序运行出错的情况。
   而Jocky与其它混淆编译器最大的不同之处在于:它是直接从源码上做文章,也就是说编译过程本身就是一个混淆过程。

1.3 Jocky是如何工作的?

   Jocky混淆编译器是在Sun JDK中提供的Java编译器(javac)的基础上完成的,修改了其中的代码生成过程,对编译器生成的中间代码进行混淆, 最后再生成class文件,这样编译和混淆只需要一个步骤就可以完成。另外可以在源程序中插入 符号保留指令 来控制哪些符号需要保留,将混淆过程与开发过程 融合在一起,不需要单独的配置。

展开阅读全文

评论 (0)

加载中
更多评论
暂无内容
发表了博客
2012/08/13 16:56

防止 apk反编译 jocky-- java混淆代码

1、下载jocky,解压后把整个文件夹复制到Eclipse的plugin目录。 2、重启Eclipse,在项目上点右键,如果出现jocky菜单,则安装成功。 3、在项目上点右键,选菜单jocky->jocky setting,弹出菜单后设置如图 2011-12-27 14:02:35 上传 下载附件 (58.21 KB) 4、点ok后,将在项目的根目录下生成一个jocky_build.xml文件,事实...

1
13
发表了博客
2018/06/13 10:54

java混淆工具Jocky和Proguard

java混淆工具有很多种,这里介绍Jocky和Proguard 一:Jocky是金蝶中间件技术领袖袁红岗先生的个人作品(旧有名称JOC)。原本是方便Apusic 应用服务器的开发,现在开放出来,供大家自由使用 ... Jocky提供了对IDE Eclipse的支持,同时,也支持在Ant中使用(事实上,在Eclipse中,也是先生成一个ant文件,然后再编译). 但是...

0
0
发表了博客
2019/06/29 11:48

Java混淆工具

因为在我们实际的开发工作中,有些程序包含了公司核心产品的代码,所以为了保护自身的知识产权,避免程序包不小心外流出去,我们有必要进行一些保护措施,在程序开发完之后,需要将程序代码进行混淆。 一:ProGu...

0
0
发表了博客
2015/12/24 14:37

Proguard 简述

前一段时间PM让我搞代码混淆,开始我一头雾水,不清楚是搞什么的。(代码混淆就是对编译的class文件中的一些处理,也就是防止class文件反编译后产生可读性很强的源文件)。 接到任务后到网上狂找这方面的东东,有以下工具(jocky,proguard,retroguard......) 我只使用了两种jocky和proguard,主要说一下proguad。下面...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了问答
2014/07/22 13:49

Jocky for Eclipse 插件执行时,控制台提示版本不兼容

最近我在找壹個 Java 代码混淆工具,用了金碟开发的组件#Jocky#,因为它有针对 Eclipse 的插件,使用非常简单,只需要在工程上点击右键即可运行。但是配置运行之后遇到壹個问题。提示版本不兼容。具体错误信息如下: [javac] cannot access java.io.IOException [javac] bad class file: D:\java\jdk1.7.0_45_x64\jr...

1
0
2014/10/29 13:55

如何保护java源码?

现在网上搜索了下有2中方案: 1.混淆:这个我试了下,用jocky混淆,但是这个工具把方法的param也混淆了,这个没法用了 2.加密:这个更麻烦,也没具体实现的例子 各位大牛帮帮忙啊,感激不尽

19
8
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
0 评论
41 收藏
分享
返回顶部
顶部