java混淆工具 字符串加密 程序加密 代码逻辑混淆 防止反编译
混淆工具使用文档
ht-confusion-project1.0.0
目 录
2.1Window查询jdk版本(点击开始菜单,输入cmd, 输入java -version). 4
2.2Linux查看jdk版本(登录进服务器,在命令行输入java version). 4
1.功能介绍
Java文件是目前最流行的开发语言,因采用对象模式很容易进行整合复用大规模项目开发.但是目前因反编译严重,各行业由java开发的系统很容易本反编译,模仿借鉴,核心代码很容易被盗用. 特别是涉及保密性强的行业软件. 为此本软件针对反编译问题,对class文件进行了字节码级别的混淆加密,很难被模仿复用.对java软件的起到很好的保护作用.就算是离线部署到客户端,也很难被复制.
下面通过一个案例,查看加密后的效果

----------------------------------------------------------------------------------------------------------------

2.安装说明
首先保证使用系统中(window/Linux)的JDK环境大于等于1.8,不支持1.8以下的jdk混淆
2.1Window查询jdk版本(点击开始菜单,输入cmd, 输入java -version)


2.2Linux查看jdk版本(登录进服务器,在命令行输入java version)
2.3window下启动方法
2.3.1将提供的ht-confusion-project1.0.0.zip 安装包拷贝到系统任意路径.解压

2.3.2找到ht-confusion-project1.0.0\bin\startup.bat文件双击打开(可以发送到桌面快捷方式)

2.3.3看到启动成功则表示已经安装成功

2.3.4在浏览器输入http://localhost/ 进入混淆页面

---------到此已经安装完毕---------
2.3.5如果当前不需要使用软件则点击,窗口关闭此软件,下次使用重复上述步骤

3.界面使用说明
3.1 激活软件
3.1.1激活软件使用,首先在启动应用的情况下,打开首页http://localhost/

3.1.2这是软件显示未激活, 单击导入注册码

3.1.3看到导入机器码页面,将红色的机器码注册,发给客服,客服会发送一个激活码,将激活码输入到输入框中,点击导入注册码按钮

3.1.4跳转回首页后查看已经显示已激活,表示软件已经和当前电脑绑定

--------------到此软件已经激活成功--------------
3.2使用软件混淆的方法
3.2.1此软件支持 jar包或zip包中的class文件混淆下面介绍怎么进行打包混淆.
比如当前有.jar包/.zip包

3.2.2在页面中选择<点击这里上传文件> 选择一个需要混淆的包.

3.2.3点击提交按钮

3.2.4这是显示混淆成功页面及生成路径的位置,表示当前包内的所有class文件已经混淆了

3.2.5进入生成路径查看jar包是否混淆成功

3.2.6双击打开该类,查看该类已经混淆成功了(前提电脑已经安装了反编译软件jd-gui.exe)

3.2.7可以将混淆过的包进行二次混淆增强加密效果,

----------二次加密后,混淆更复杂了,很难被反编译----------
4.常见问题
4.1 war包怎么加密?
War包因软件的复杂性,已经包括第三方jar包,配置文件等内容,所以war包加密需要将class文件拷贝出来进行混淆后,在拷贝回war中:
4.1.1比如当前有一个war包

4.1.2将war用压缩软件打开,找到要混淆的类,复制出来

4.1.3将类打成一个zip包

4.1.4将zip包进行混淆操作,右键打开混淆后的zip后发现已经混淆成功了

4.1.5将zip包中的class文件 拷贝回原来war的位置.到此war混淆就成功了,可以将多个class文件打成一个zip进行加密.
上面就是混淆工具使用的全部过程,有需要的请沟通交流!
java混淆工具 字符串加密 程序加密 代码逻辑混淆 防止反编译的更多相关文章
- 对Java代码加密的两种方式,防止反编译
使用Virbox Protector对Java项目加密有两种方式,一种是对War包加密,一种是对Jar包加密.Virbox Protector支持这两种文件格式加密,可以加密用于解析class文件的j ...
- Java常用工具类之MD5加密
package com.wazn.learn.util; import java.security.MessageDigest; /** * MD5加密工具类 * <功能详细描述> * * ...
- apk反编译(7)用ProGuard混淆代码,初级防止反编译
eclipse为例 1,project.properties去掉 #proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:pro ...
- Unity3D项目程序加密-VirboxProtector加壳工具
各位Unity3D的开发者,你还为你的代码被反编译而头疼, 混淆和加密已经失效,为内存dump代码而烦恼?是否辛苦制作的游戏被盗版被抄袭而烦恼? 是否害怕算法被别人参考要把算法写成C++而费劲周折? ...
- 反编译.net下的exe程序
1. 什么叫.net平台 .NET框架是一个多语言组件开发和执行环境,它提供了一个跨语言的统一编程环境..NET框架的目的是便于开发人员更容易地建立Web应用程序和Web服务,使得Internet上的 ...
- [.NET产品源码保护].NET防止反编译(非混淆加密)
.NET产品源码保护产生的背景: .NET源码加密方案支持C#及VB.NET等语言开发的ASP.NET及WINFORM应用.利用.NET支持托管代码与非托管代码共存的特性,将C#代码经过处理放于非托管 ...
- .NET代码混淆工具NET Reactor - 初学者系列-学习者系列文章
这几天无事,除了看书,然后就倒腾原来的代码.想起.NET的代码混淆工具软件,所以今天就讲讲这个.NET代码混淆工具. .NET代码混淆工具软件,以前有了解和找过,但是当时需求不大,所以找了下就搁置了. ...
- 反编译工具 使用.NET JustDecompile来反编译你的程序代码
原文地址:http://www.it165.net/pro/html/201310/7383.html 前言 在项目的进行中有时会碰到需要去了解由第三方所开发的程序代码或者因为年久已经遗失原始码的程序 ...
- 如何保护java程序不被反编译
Java是一种 跨平台的.解释型语言 Java 源代码编译中间“字节码”存储于class文件中.Class文件是一种字节码形式的中间代码,该字节码中包括了很多源代码的信息,例如变量名.方法名 等.因此 ...
随机推荐
- 转:csdn怎么快速别人的文章
在csdn看到好的文章想转载,无奈找不到转载的功能,只能想办法了. 首先确定原文允许转载 在文章开头处一般有版权声明,如图 转载时要注明出处和作者 如何转载 用谷歌浏览器加载文章地址,打开文章 F12 ...
- PyQt(Python+Qt)学习随笔:PyQt帮助文档导入assistant后离线查阅
在按照<第15.6节 PyQt5安装与配置>完成PyQt5及PyQt5-tools的安装后,发现Qt Designer中的帮助不能使用,报错: 按照<PyQt学习随笔:Qt Desi ...
- [BJDCTF 2nd]假猪套天下第一 && [BJDCTF2020]Easy MD5
[BJDCTF 2nd]假猪套天下第一 假猪套是一个梗吗? 进入题目,是一个登录界面,输入admin的话会返回错误,登录不成功,其余用户可以正常登陆 以为是注入,简单测试了一下没有什么效果 抓包查看信 ...
- BUUOJ WEB(1)
[ACTF2020 新生赛]Include 开启环境之后点击tips 可以在url中看到格式为: ?file=flag.php 加上题目是include,可以猜测是文件包含漏洞 http://a291 ...
- Day4 Scrum 冲刺博客
线上会议: 昨天已完成的工作与今天计划完成的工作及工作中遇到的困难: 成员姓名 昨天完成工作 今天计划完成的工作 工作中遇到的困难 纪昂学 创建一个Tetromino类来作为7个经典形状的父类 绘制下 ...
- es6 数组新增方法
1.Array.from(): 这个函数的作用是将类似数组的对象转化为数组,比如DOM对象 let arrayLike = { "0":"TangSir&quo ...
- bootstrap 扩展参数
后台接受的参数形式 前端加载bootstrap时做的处理
- 模块urllib requests json xml configparser 学习笔记
发起http请求 获取返回值 返回值是字符串 第三方模块安装 pip install requests 返回值格式 xml html jaon json 功能 loads 字符串>&g ...
- JWT 原理
1.COOKIE使用和优缺点 参考博客:https://baijiahao.baidu.com/s?id=1608021814182894637&wfr=spider&for=pc 用 ...
- java中什么是对象,什么是对象引用
在Java语句中,我们都会用到"=",但是这个"="的意义大部分人都没有一个清楚明确的认知 例如:Student a = new Student(); Stud ...
