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 ...
随机推荐
- 让2个并列的div根据内容自动保持同等高度js
有左右2个并列的div,2个div都不能限定高度.左div为导航,右div为内容.如何能让左div块自动获得和右div块相等的高度? 同时,也有网友提问到“如果右块高度比左块低,会不会导致左块的内容被 ...
- Combotree,datebox 启用 禁用
combotree <input type="checkbox" id="ckMonitor"></input> <input i ...
- struts2中从数据库中读取数据,并在JSP页面中遍历保存有JavaBean对象的List对象
0x1:前言 前面搭建struts就不说了,大家都能成功完毕. 0x2:Model 这里我们须要一个Model类来接收 <span style="font-size:10px;font ...
- HDU 3468 Treasure Hunting(BFS+网络流之最大流)
题目地址:HDU 3468 这道题的关键在于能想到用网络流.然后还要想到用bfs来标记最短路中的点. 首先标记方法是,对每个集合点跑一次bfs,记录全部点到该点的最短距离.然后对于随意一对起始点来说, ...
- 关于android:screenOrientation="portrait" 横竖屏切换
当在AndroidManifest.xml文件中定义了android:screenOrientation="portrait",就表示当我们切换横竖屏的时候,屏幕的内容始终以竖屏显 ...
- 通过案例练习掌握SSH 的整合
1. SSH整合_方案01 ** 整合方案01 Struts2框架 Spring框架 在Spring框架中整合了Hibernate(JDBC亦可) 一些业务组件(Service组件)也可以放入 ...
- JDK1.7 安装加(一劳永逸的环境配置)
1.去oracl官网下载jdk http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html. ...
- SlidingMenu侧边菜单
第一步.首先在你项目中创建一个包存放侧边菜单的类:
- SQL server与Oracle触发器的创建与使用
SQL Server 1创建触发器 GO BEGIN IF (object_id('WMY', 'tr') is not null) DROP trigger WMY END; GO CREATE T ...
- JDK源码学习--String篇(-)
工作三年了,用了三年的JAVA,突然发现竟然没有好好的看下JDK的源码,整天用着的String,只是大概知道怎么回事,其中的实现逻辑却是一头雾水. 知耻而后勇,加油!!! java.lang.Stri ...