jar混淆加密(为什么要打jar包)

本文目录
- 为什么要打jar包
- 自己写了一些jar文件,想加密,该怎么办呢,并且要用到项目中,可以直接调用! 请各位高手帮帮忙
- Android项目里如何混淆自己打的jar包或者防止被反编译
- 求教Java web项目一般怎样做代码混淆或加密
- 如何把 jar 文件加密
- Android第三方类库中的jar包不被混淆
- 提供给别人使用的jar包怎么混淆
为什么要打jar包
1 单个项目的多个文件整合在一起便於管理
2 部署时不用一个文件一个文件上传,传一个ear或war即可
3 压缩作用,减小体积
4 jar中用manifest文件可以做一些依赖设置,main-class设置等等
5 jar包可以做混淆加密,防止反编译
6 jar还可封装成exe
自己写了一些jar文件,想加密,该怎么办呢,并且要用到项目中,可以直接调用! 请各位高手帮帮忙
给文件夹加密使用文件夹加密超级大师是非常简单和安全的。
一 下载安装文件夹加密超级大师。
二 安装后在需要加密的文件夹上单击右键选择加密。
三 然后在弹出的文件夹加密窗口设置密码就OK了。
你可以到百度上搜索下载文件夹加密超级大师,来解决你这文件夹怎么加密的问题。
Android项目里如何混淆自己打的jar包或者防止被反编译
我们打出的apk是混淆的,根本原因是这样的。1、代码编译成class文件2、代码打成jar包3、混淆jar包4、用jar包生成classes.dex5、resources.ap_6、生成apk以及签名只不过工具帮我们一次性全做了,如果你要写批处理来做,就要按上面的步骤来做了。 到eoeAndroid网站查看回答详情》》
求教Java web项目一般怎样做代码混淆或加密
一、java web项目混淆
***隐藏网址***
根据提示一步步完成。
把web项目打成jar包后用proguard进行混淆,然后把混淆过后的class目录替换发布包war中的对应目录,启动运行是正常的。
主要注意利用proguard生成xxx.pro文件,然后手动加工-keep class WebRoot.WEB-INFO.lib.* 等项目中不需要混淆的包和类。
二、java web项目打成.exe
没找到免费的,这搜到个收费的--Jinstall,试了下功能挺好,
可以加密、集成jdk、tomcat,如果数据库是mysql也集成,其他数据库的话要设置数据库的url.
如何把 jar 文件加密
1,打开一个要加密的文本文档。
2,确保一下里面的内容都保存好了后,关闭退出。
3,返回存放这个文本文档的地方,然后选中它,右键一下,在弹出来的列表中我们选择“重命名”选项。
4,接着就可以对这个jar档转换一下格式,比如可以把它转换成表格或者word文档,即把后缀改成“.doc”等格式,然后转换成文档后,这时就知道文档里面是加密功能的。
Android第三方类库中的jar包不被混淆
假如你的项目中有这样一个image类库, 打开image类库下的build.gradle文件,查看里面有哪些 引用包 ,如果lib里面也有包, lib中的也需要查看
假如现在,让 最后一个" compile’com.blankj:utilcode:1.9.8 ’" 不被混淆
打开图中的 External Libraries 文件, 我们导入的所有的第三方jar包都在里面
找到" compile’com.blankj:utilcode:1.9.8 ’"
查看包名,在混淆文件中添加
所有的jar包都依次写上 -keep class "jar包名" ,就ok了
--注意事项--
1.保证实体类不被混淆
2.保证第三方的jar包不被混淆,类似于,友盟,地图,等等,配置的时候,就把混淆文件也copy过来,免得再回去找
3.添加基础混淆配置,网上有很多的实例
################ 以下直接copy到 proguard-rules.pro文件中,实体类,第三方部分,需修改####################
提供给别人使用的jar包怎么混淆
1)导出jar包
如何在eclipse上android工程中导出jar包?google,baidu.bing
2)混淆jar包,打乱代码
android的jar包跟普通的java的jar包不一样,我们不想打乱一些activity或者server等跟系统打交道的代码,这是因为如果把这些也混淆了,那你还需要搞清楚混淆后这些activity变成了什么名字,然后告诉使用你这个jar包的人androidmanifest.xml中增加这些打乱了名字的activity。
混淆jar包用到的工具是proguard,可以在android SDK里面找到,如我的是在...\adt-bundle-windows-x86-20130219\sdk\tools\proguard。
运行sdk\tools\proguard\bin\proguardgui.bat,运行界面如下,如果点击next,会发现这些配置很难配(全英文,又很杂)。
其实这里直接导入一个cfg文件就可以了,单击下图右下角的Load Configuration,然后选择配置文件。
配置文件又要怎么写?找到android工程里面的proguard.cfg文件,这个文件是用来混淆apk代码的配置文件,我们现在是要混淆jar包的代码,当然不能直接用。看下面是proguard.cfg的配置,配置会保留activity和server等一些类。这些配置都是不用改的,可以直接拿来用。
?
-optimizationpasses5
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontpreverify
-verbose
-optimizations
!code/simplification/arithmetic,!field/*,!class/merging/*
-keeppublic class *extends android.app.Activity
-keeppublic class *extends android.app.Application
-keeppublic class *extends android.app.Service
-keeppublic class *extends android.content.BroadcastReceiver
-keeppublic class *extends android.content.ContentProvider
-keeppublic class *extends android.app.backup.BackupAgentHelper
-keeppublic class *extends android.preference.Preference
-keeppublic class com.android.vending.licensing.ILicensingService
-keepclasseswithmembernamesclass *
{
native 《methods》;
}
-keepclasseswithmembersclass *
{
public 《init》(android.content.Context,
android.util.AttributeSet);
}
-keepclasseswithmembersclass *
{
public 《init》(android.content.Context,
android.util.AttributeSet, int);
}
-keepclassmembersclass *extends android.app.Activity
{
public void *(android.view.View);
}
-keepclassmembersenum *
{
public static **
values();
public static **
valueOf(java.lang.String);
}
-keepclass *implements android.os.Parcelable
{
public static final android.os.Parcelable$Creator
*;
}
将上面的配置增加几行改成如下,并重新命名文件为:test.pro
?
-optimizations
!code/simplification/arithmetic,!field/*,!class/merging/*
//...begin
#混淆后的导出jar包的位置和jar包名
-outjars’E:\test_after.jar’
#原始jar包的位置和jar包名
-injars’E:\test.jar’
#jar包依赖的其他库的位置和名称
-libraryjars’E:\workspace\beautytilepuzzle\libs\alipay_msp.jar’
-libraryjars’E:\workspace\beautytilepuzzle\libs\android-support-v4.jar’
-libraryjars’E:\android\adt-bundle-windows-x86-20130219\sdk\platforms\android-10\android.jar’
#下面的Test类将不会被混淆,这样的类是需要被jar包使用者直接调用的
-keeppublic class com.example.Test
{
public 《fields》;
public 《methods》;
}
//...end
-keeppublic class *extends android.app.Activity
现在Load Configuration里选择上面test.pro,一直next,最后混淆后的jar包就是E://test_after.jar。
用winrar打开jar包,会发现除了Test.class,一些继承自activity等的class外,其他的类都被abcdefg这样的字母给混淆了。
提醒:如果你把上面配置直接拷贝过去,是会失败的,请将文件里的#号后的中文注释去掉,或者改成英文的。

更多文章:
数据库管理系统和数据库系统分别侧重(数据库,数据库管理系统,数据库系统,这三个分别是什么意思并举个实例)
2026年9月7日 17:00
springmvc的依赖(springMVC的注入方式有哪几种,这与springMVC依赖)
2026年9月7日 14:00
display flex 自动换行(overflow-y:hidden;overflow-x:auto;无效解决方法)
2026年9月7日 11:00
timestamp without time zone(Postgresql中to_date()函数使用问题)
2026年9月7日 09:40






