发布给用户的是一个java工程

里面有一个包,包里有多个不能让用户查看的class文件(不能让用户轻易反编译获取源码)

现在想通过加密/混淆技术进行处理,但是,如果把这些class文件加密后,这个工程在调用这个包时想必是会出问题的。不知道有方法解决呢???

这个是不行的,java的运行jvm是需要明确的class文件的,除非你开发自己的运行环境,就可以在运行class之前进行预解析,否则很难实现。

并且,如果混淆了jar包里的class不光运行有问题,开发也会出现问题,原本明确的开放端口由于混淆了,所以会导致项目其他部分的类无法去正常调用。

有专门的class混淆器 大部分是收费的

jbuilder自带混淆器

proguard混淆效果还行

加密基本不靠谱,大部分是通过定制classloader,而必然在代码里有解密过程,真想看到源码,只需找到classloader对应的解密过程即可

1、将代码使用混淆器混淆一下,但是如果仅仅只是混淆的话,高手还是能够看得懂的,所以还需要做下面的

2、自己开发一个类加载器,对二进制码进行一下加密,加密部分使用c之类的语言开发,通过jni进行调用,这样class是没有办法反编译的。

这样两种方法并用的话,想反编译那是非常难的。

java class 加密_如何给class文件加密相关推荐

  1. 非对称加密RSA文本和Excel文件加密练习

    package com;import cn.hutool.core.codec.Base64; import cn.hutool.core.io.FileUtil; import cn.hutool. ...

  2. win11文件夹怎么加密?win11系统自带文件加密的方法步骤

    win11文件夹怎么加密?win11系统自带文件加密的方法步骤!升级Win11系统之后,因为换了新的系统,界面变了,设置改变了许多,所以很多功能不会使用了.比如今天要给大家说的,win11怎么给文件夹 ...

  3. 设计文件加密服务器,如何设计数据库文件加密系统

    据有关资料报道,计算机犯罪80%来自系统内部.实现数据库文件加密以后,各用户(或用户组)的数据用自己的密钥加密,其他用户无法对其进行解密,保护了用户的秘密.另外,数据库的备份内容也可以是密文,能够减少 ...

  4. java大文件加密速度_java版AES文件加密速度问题

    简单的一个java版的AES文件加密demo, 运行正常, 但文件一大速度就会很慢,不知道是否能优化一下,以提高增快加密的速度 或许是我的代码写法有问题, 希望各位大俠指正 import java.i ...

  5. 唐诗三百首加密软件如何使用_如何对PDF文件加密?原来PDF加密用这个软件就可以!...

    如何对PDF文件加密?如果我们想要给Word文件加密,直接在Word软件中就可以完成.那么若文件是PDF格式的,你知道该怎么操作给这PDF加密吗?要是不会的,那么一定要来学习下我的这个PDF加密方法, ...

  6. mysql连接密码加密_数据库连接用户名和密码加密

    我们的工程项目往往是使用云数据库的,连接使用账号密码就行了,但是程序里直接有密码是十分不安全的 这里我参考了别人的博客对这个问题进行解决 1. 需求背景 我们在开发应用时,需要连接数据库,一般把数据库 ...

  7. c语言文件加密大写字母,C语言 文件加密解密

    #includejiemi() { int k,l; char fn[40],fs[40]; char ch,mima[40],x; file *f1,*f2; printf("输入要解密的 ...

  8. python代码封装加密_对Python源码加密及反编译前后对比

    关于python的加密 目前软件开发商对 Python 加密时可能会有两种形式,一种是对python转成的exe进行 保护,另一种是直接对.py或者.pyc文件进行保护,下面将列举两种形式的保护流程. ...

  9. 勒索病毒服务器文件加密后缀,WannaCry勒索病毒文件加密密码结构

    引言勒索病毒Wannacry爆发已经过去一周了,由于该病毒采用加密用户文件方式进行勒索,许多朋友对该病毒文件加解密过程比较感兴趣.在已见到的病毒分析报告[1-4]中对文件加解密过程描述的比较零散.为便 ...

  10. sql server 加密_列级SQL Server加密概述

    sql server 加密 This article gives an overview of column level SQL Server encryption using examples. 本 ...

最新文章

  1. extjs中滚动条属性_十分钟快速了解 JS 中的 offset、scroll、client
  2. linux下的rman自动备份脚本,LINUX上RMAN自动备份脚本
  3. input自适应_一种Dynamic ReLU:自适应参数化ReLU(调参记录26)Cifar10~95.92%
  4. OpenCV超分辨率基准测试
  5. 用微服务和容器替换旧版Java EE应用程序服务器
  6. 小白适用的C语言数据类型转换及转换规则
  7. python游走代码_介绍一个全局最优化的方法:随机游走算法(Random Walk)
  8. 列举至少五个python内置函数和使用方法_Python内置函数 next的具体使用方法 Python中seek和next区别...
  9. .net跨防火墙链接oracle连接池链接长时间无通讯数据被断开后报错问题解决
  10. java 字符串操作_Java 字符与字符串
  11. 3.excel 生成 sql
  12. ubuntu1804下txt文件乱码问题
  13. ie11兼容性视图设置_ie11浏览器不兼容的解决办法
  14. java神雕侠侣1古墓情缘游戏攻略_神雕侠侣古墓派后期攻略讲解
  15. mac 更新13.1后使用AccessClient.app 闪退
  16. AndroidStudio模拟器全面屏皮肤
  17. 医学报告生成论文总结【4-24】
  18. js+canvas画布制作烟花
  19. 图片放大模糊怎么办?这个方法了解一下
  20. inventor安装未完成,某些产品无法安装的解决方法

热门文章

  1. secect语句报错expecting(,eof或;
  2. idea 提示Expecting newline or semicolon解决办法
  3. Git超详解七 储藏 (看不懂算我输)
  4. python中数字加引号和不加引号的区别_高考完小白自学Python,不太懂print语句中一个加引号,一个不加?...
  5. 各个国家 不同字符集的unicode 编码范围
  6. Referenced file contains errors解决
  7. 成考计算机专业难不难,成人高考计算机类难度大吗(成人大学难度)
  8. 【QT】利用QT做一个键盘检测的例子
  9. vue + Electron 制作桌面应用
  10. Rime(1):介绍与安装