proguard混淆jar文件
Proguard是个优秀的java混淆工具,使用示例如下,一个java工程对外接口代码如下(无需混淆)
package com.ciaos.open;
import com.ciaos.inner.InnerTool;
public class OpenTool {
public static void method()
{
System.out.println("public method");
InnerTool.method();
}
}
内部调用函数如下(需要混淆)
package com.ciaos.inner;
public class InnerTool {
public static void method()
{
System.out.println("need encrypt");
}
}
我们只想在打包的jar文件中保留OpenTool.method接口,则proguard配置文件library.pro文件如下:
#
# This ProGuard configuration file illustrates how to process a program
# library, such that it remains usable as a library.
# Usage:
# java -jar proguard.jar @library.pro
# # Specify the input jars, output jars, and library jars.
# In this case, the input jar is the program library that we want to process. -injars D:\libtool.jar
-outjars D:\libtool_min.jar -libraryjars C:\Users\shipeng\AppData\Local\MyEclipse Professional 2014\binary\com.sun.java.jdk7.win32.x86_1.7.0.u45\jre\lib\rt.jar
#-libraryjars E:\Works\fastjson-1.1.34.android.jar -printmapping map\proguard.map
-overloadaggressively
-defaultpackage ''
-allowaccessmodification
-dontoptimize
-overloadaggressively
-keepattributes InnerClasses,SourceFile,LineNumberTable,Signature
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
-optimizationpasses 5
-keepattributes Exceptions
-keep public class com.ciaos.open.OpenTool
{
public *;
}
#-keep public class com.ciaos.inner.InnerTool
#{
#public *;
#}
混淆工具脚本
del "D:\libtool_min.jar"
java -jar lib/proguard.jar @library.pro
pause
更多用法参照Proguard官网,proguard也有插件集成到eclipse中。
proguard混淆jar文件的更多相关文章
- 使用ProGuard混淆JAR包
1.在Input/OutPut选项下面,add input 导入需要混淆的jar包2.点击add output,设置混淆后输出jar包的名字和路径.如下图:3.在下面的编辑区右边点击add增加要混淆的 ...
- Android项目:proguard混淆第三方jar.
1.Gson混淆 ## ---------------------------------- ## ########## Gson混淆 ########## ## ------------- ...
- Java代码加密与反编译(一):利用混淆器工具proGuard对jar包加密
Java 代码编译后生成的 .class 中包含有源代码中的所有信息(不包括注释),尤其是在其中保存有调试信息的时候.所以一个按照正常方式编译的 Java .class 文件可以非常轻易地被反编译.通 ...
- 在Eclipse上打包并使用Proguard工具混淆jar包
近期由于工作须要,学习到了Android jar包的打包与混淆. 之前觉得还是非常easy的,可是自己深入研究下,发现还是有一些东西须要注意的,并且自己也踩了一些坑,在这里写下供同僚们借鉴借鉴. 转载 ...
- 使用proguard混淆java web项目代码
1.首先下载proGuard.zip到本地: proguard4.5beta4.tar.zip解压开,2.新建文本文档,修改文件名为XXX.pro,然后复制下面内容到.pro -injars 'Y:\ ...
- 利用android proguard混淆代码
利用android proguard混淆代码 2014-02-05 17:50 1207人阅读 评论(1) 收藏 举报 网上虽然有很多相关博客,不过貌似都不是最新版的..于是百度+谷歌+github上 ...
- Android proguard (混淆)
混淆(Proguard)用法 最近项目中遇到一些混淆相关的问题,由于之前对proguard了解不多,所以每次都是面向Stackoverflow的编程.copy别人的答案内心还可以接受,但是copy了之 ...
- 利用Ant与Proguard混淆
利用Ant与Proguard混淆 摘自:https://blog.csdn.net/forlong401/article/details/22956711 2014年04月04日 20:20:21 f ...
- Android 代码混淆、Android Proguard(混淆)
Android Proguard(混淆) 混淆(Proguard)用法 最近项目中遇到一些混淆相关的问题,由于之前对proguard了解不多,所以每次都是面向Stackoverflow的编程.co ...
随机推荐
- 使用JQuery.lettering.js实现多行文本样式自定义
前几天一位在广告公司的朋友发来求助,说:“有一个项目要求实现对字符串进行动态拆分,然后对拆分出的字符分别使用不同的样式效果...”,听到这个需求,我内心有点不屑,这有何能,最多五分钟搞定啊~~ 于是我 ...
- 基于位运算符的IP和数值转换
直接上代码: $str = '192.168.2.100'; echo 'IP:',$str,'<hr />'; $int = ip_long($str); echo $int,'< ...
- 通过innerHTML简化脚本
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8&q ...
- GO语言搭建
最近对GO语言产生了浓厚的兴趣.因为GO语言不仅仅可以开发桌面.web程序,最吸引我的是安卓大有往GO语言全方位靠拢的趋势,自家的系统还是用自家的语言开发比较靠谱. 用一句话来说:Go语言是谷歌200 ...
- web.config中<customErrors>节点
错误提示: “/”应用程序中的服务器错误.------------------------------------------------------------------------------- ...
- Delphi下TLabel鼠标MouseEnter、MouseLeave更改颜色失灵
在Delphi 7下,如果想在鼠标MouseEnter.MouseLeave的时候改变TLabel自身的颜色,很多人可能会采用 Label.Color := clRed;这样的方式来实现,我当初也是一 ...
- 全排列的hash
我们经常使用的数的进制为“常数进制”,即始终逢p进1.例如,p进制数K可表示为K = a0*p^0 + a1*p^1 + a2*p^2 + ... + an*p^n (其中0 <= ai < ...
- chromedriver bug
https://github.com/FuckTheWorld/chromedriver/issues/1145 https://bugs.chromium.org/p/chromedriver/is ...
- poj2190
#include <stdio.h> #include <stdlib.h> int main() { ]; ,i; scanf("%s",arr); ;i ...
- collection系列用法-deque双向队列
deque双向队列 Deque可以从两端添加和删除元素.常用的结构,是它的简化版本. Deque支持序列的常用操作,现在举一个简单例子,你会发现其实跟平成的list没啥区别: import colle ...