JDK

java混淆工具 字符串加密 程序加密 代码逻辑混淆 防止反编译

百般思念 提交于 2021-01-04 20:06:39
混淆工具使用文档 ht-confusion-project1.0.0 目 录 1.功能介绍... 1 2.安装说明... 3 2.1Window查询jdk版本(点击开始菜单,输入cmd, 输入java -version). 4 2.2Linux查看jdk版本(登录进服务器,在命令行输入java version). 4 2.3window下启动方法... 4 3.界面使用说明... 8 3.1 激活软件... 8 3.2使用软件混淆的方法... 10 4.常见问题... 14 4.1 war包怎么加密?. 14 4.2 授权可以支持几个电脑?. 16 4.3混淆错误,是否可以技术支持?. 16 5.费用及约束... 17 5.1软件分两种付费方式(¥): 17 5.2约束... 17 1.功能介绍 Java文件是目前最流行的开发语言,因采用对象模式很容易进行整合复用大规模项目开发.但是目前因反编译严重,各行业由java开发的系统很容易本反编译,模仿借鉴,核心代码很容易被盗用. 特别是涉及保密性强的行业软件. 为此本软件针对反编译问题,对class文件进行了字节码级别的混淆加密,很难被模仿复用.对java软件的起到很好的保护作用.就算是离线部署到客户端,也很难被复制. 下面通过一个案例, 查看加密后的效果 ----------------------------------------

常见的代码安全问题和安全规范

十年热恋 提交于 2021-01-04 15:00:09
一、json反序列化问题 参照这篇文章: https://www.freebuf.com/articles/web/258827.html 其实@RequestBody底层是jackson,程序员往往用@RequestBody处理fastjson的JSONObject,以方便快速解析json (起码我们公司是这样) 对应的postman的请求截图: 这种方式是没有反序列化漏洞的(编写文章时的版本为springboot2.4),但是安全人员最担心的是使用fastjson的 com.alibaba.fastjson.JSON.parse com.alibaba.fastjson.JSON.parseObject 两个函数处理json串的时候因为黑名单和白名单的编写不规范导致的安全风险 在openrasp1.3.6中覆盖了fastjson以上两个函数和jackson的一系列解析函数,所以不用过于担心反序列化安全问题 接下来我们讨论一下反序列化的安全编码规范 1)jackson的安全编码: 1)禁用enableDefaultTyping 2)禁用JsonTypeInfo 3)使用activateDefaultTyping + 白名单过滤器(白名单中的类禁止包含readObject函数) 其中activateDefaultTyping的安全编码举例如下: ObjectMapper om =

Ubuntu安装java

。_饼干妹妹 提交于 2021-01-04 11:52:33
转自: https://www.cnblogs.com/ziyue7575/p/13898610.html java8 apt安装 参考: https://www.cnblogs.com/zzy1024/p/11406269.html 若是没有配置国内镜像,就不建议尝试 sudo apt install openjdk-8-jdk 或者 sudo apt install openjdk-8-jre-headless # 这个是apt给我推荐的,貌似这个安装的依赖少 安装完之后 java -version 可以查看版本 手动安装(建议) 将Linux版的jdk的安装包配置到环境变量即可,很简单方便 oracle现在开始收费了,下载jdk8 的时候需要登录,最好下载一个jdk保存着,否则忘记账号很麻烦 获取安装包 方法1:从网上找一个jdk8的tar.gz包,上传到Ubuntu 方法2:或者从网上找到下载jdk8的Linux版本的链接,使用 wget 下载链接 ,将jdk下载到当前目录 解压安装包到指定位置 tar –xvf jdk-xxx.tar.gz –C /usr/local # 位置看个人习惯 修改配置环境 # 打开文件 sudo vim /etc/profile # 设置环境变量 JAVA_HOME=/usr/local/jdk解压的文件夹 CLASSPATH=.:$JAVA

springboot整合jsp,完成公交车站路线图

限于喜欢 提交于 2021-01-04 10:41:00
点赞再看,养成习惯 开发环境: jdk 8 intellij idea tomcat 8 mysql 5.7 maven 3.6 所用技术: springboot jsp 数据静态初始化 项目介绍 使用springboot整合jsp,在后端写入公交路线名称和详细站点,前端页面可条件查询具体的内容,如公交路线,公交名称,车俩信息等。 运行效果 前台用户端: 路线选择 路线详情 数据准备: BusData.txt 准备工作: pom.xml加入jsp模板引擎支持: <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId> <scope>provided</scope> </dependency> springboot配置jsp spring.mvc.view.prefix=/ spring.mvc.view.suffix=.jsp 重要代码: bus数据初始化 @PostConstruct private void initBusData(){ try{ File file = new File(BusMap.getClass().getResource("/").getPath()); FileReader fileReader = new

【Elastic】SpringBoot快速集成ES

不羁的心 提交于 2021-01-04 02:57:00
Elastic Search 的底层是开源库 Lucene。但是Lucene的使用门槛比较高,必须自己写代码去调用它的接口。而Elastic Search的出现正是为了解决了这个问题,它是 Lucene 的封装,提供了 REST API 的操作接口,我们可以开箱即用。 环境 JDK版本:8 SpringBoot:2.x ES版本:7.1.1 依赖 <!-- 集成es client,并排除低版本依赖(5.6) --> < dependency > < groupId > org.elasticsearch.client </ groupId > < artifactId > elasticsearch-rest-high-level-client </ artifactId > < version > 7.1.1 </ version > < exclusions > < exclusion > < groupId > org.elasticsearch </ groupId > < artifactId > elasticsearch </ artifactId > </ exclusion > < exclusion > < groupId > org.elasticsearch.client </ groupId > < artifactId > elasticsearch

Java多线程的可见性与有序性

空扰寡人 提交于 2021-01-03 17:39:29
多线程的可见性 一个线程对共享变量值的修改,能够及时的被其他线程看到。 共享变量 如果一个变量在多个线程的工作内存中都存在副本,那么这个变量就是这几个线程的共享变量。 Java内存模型 JMM(Java Memory Model,简称JMM)描述了Java程序中各种变量(线程共享变量)的访问规则,以及在JVM中将变量存储到内存和从内存中读取出变量这样的底层细节。它遵循四个原则: 所有的变量都存储在主内存中 每个线程都有自己独立的工作内存,里面保存该线程使用到的变量的副本(主内存中该变量的一份拷贝) 线程对共享变量的所有操作都必须在自己的工作内存中进行,不能直接从主内存中读写 不同线程之间无法直接访问其他线程工作内存中的变量,线程间变量的传递需要通过主内存来完成 共享变量可见性实现的原理 线程1对共享变量的修改要想被线程2及时看到,必须经过如下2个步骤: 把工作内存1中更新过的共享变量刷新到主内存中 将主内存中最新的共享变量的值更新到工作内存2中 Java的内存模型: Java语言层面支持的可见性实现方式有以下两种: synchronized volatile synchronized JMM关于synchronized的规定: 线程解锁前,必须把共享变量的最新值刷新到主内存中 线程加锁时,将清空工作内存中存储的共享变量的值,从而使用共享变量时,必须从主内存中重新读取最新的值。(注意

13.智能快递柜(对接流程)

|▌冷眼眸甩不掉的悲伤 提交于 2021-01-03 14:37:12
1.智能快递柜(开篇) 2.智能快递柜(终端篇) 3.智能快递柜(通信篇-HTTP) 4.智能快递柜(通信篇-SOCKET) 5.智能快递柜(通信篇-Server程序) 6.智能快递柜(平台篇) 7.智能快递柜(APP及微信公众号) 8.智能快递柜SDK(联网型锁板) 9.智能快递柜SDK(串口型锁板) 10.智能快递柜(源码下载) 11.智能快递柜(用户寄件) 12.智能快递柜(其他功能) 13.智能快递柜(对接流程) 本次文档更新时间:2020-01-15 业务流程 搜索公众号: 好邻宝 或 HLBBOX 快递柜客户端安装部署 一. 平台信息配置 http:/49.235.38.131:8500 用户名: guest 密码: guest@box 1. 设备管理 1.1 添加设备(设备管理->添加设备) 逾期时间:用户需要支付逾期费用才能取件 超期时间:超过指定时间,微信通知快递员取回 封顶金额:逾期费用最高值 收益设定%:用户寄件,运营者所收取的提成 运营者:收取快递员寄件,用户逾期费用,用户寄件提成 AppId+AppSecret+BatchId:短信平台信息(短信平台分账户功能) 1.2 配置快递负责人配置(设备管理->快递负责人) 功能:用户寄件存件成功后,微信通知指定快递员取件 2. 添加格口 下载 格口信息配置表 设备管理 -> 格口管理 -> 选择 boxTest

深入拆解Java虚拟机视频教程

不羁的心 提交于 2021-01-03 14:19:34
目录: 第1节说在前面的话 00:05:07分钟 | 第3节环境搭建以及jdk,jre,jvm的关系 00:20:48分钟 | 第5节jvm再体验-jvm可视化监控工具 00:21:17分钟 | 第7节Java的发展历史00:27:24分钟 | 第9节Java技术体系00:08:46分钟 | 第11节lanmbda表达式简介00:07:02分钟 | 第13节Java虚拟机-ExactVM00:03:35分钟 | 第15节Java虚拟机-kvm00:03:04分钟 | 第17节Java虚拟机-j900:04:23分钟 | 第19节Java虚拟机-MicrosoftJVM00:03:57分钟 | 第21节Java虚拟机-TaobaoVM00:03:06分钟 | 第23节Java内存区域-Java虚拟机栈00:12:04分钟 | 第25节Java内存区域-本地方法栈00:02:39分钟 | 第27节Java内存区域-方法区00:06:32分钟 | 第29节对象在内存中的布局-对象的创建00:21:19分钟 | 第31节深入理解对象的访问定位00:08:01分钟 | 第33节垃圾回收-判断对象是否存活算法-引用计数法详解00:14:08分钟 | 第35节垃圾回收算法-标记清除算法00:04:36分钟 | 第37节垃圾回收算法-标记整理算法和分代收集算法00:05:24分钟 |

Java教程(一)---JDK和Maven安装配置

落爺英雄遲暮 提交于 2021-01-03 12:52:50
安装配置Java环境 下载地址 Java 8u271 根据自己的电脑下载 可以查看我的电脑属性 可以看移步这个 安装配置教程 也可以看这里的 打开exe安装包 这里可以更改路径 然后安装即可 如果有jre(有的安装包不带)那就选择相同路径即可 没有就不用管 安装就好 选择你要安装的路径即可安装 验证安装 打开控制台 winodws下可以 win+r 输入 java 安装成功 如果安装完成却验证失败 手动配置环境变量 找到java安装地址 新建系统环境变量 然后找到path (环境变量) 新建 %JAVA_HOME%\bin 安装Maven 下载Maven 下载地址 maven 下载后解压 然后在Path中 新增一个 输入%MAVEN_HOME%\bin 验证安装 打开控制台 winodws下可以 win+r 输入mvn -v 如果显示以下信息就是安装完成 后续会推出 每个平台的详细搭建过程 前端:js入门 vue入门 vue开发小程序 等 后端: java入门 springboot入门等 服务器:mysql入门 服务器简单指令 云服务器运行项目 python:推荐 不温卜火 一定要看哦 一些插件的使用等 大学之道亦在自身,努力学习,热血青春 如果对编程感兴趣可以加入我们的qq群一起交流:974178910 有问题可以下方留言,看到了会回复哦 来源: oschina 链接:

拜托,学妹,别再问我怎么自学 Java 了!和盘托出

旧巷老猫 提交于 2021-01-03 11:38:58
假如有那么残酷的一天,我不小心喝错了一瓶药,一下子抹掉了我这十多年的编程经验,把我变成了一只小白。我想自学 Java,并且想要找到一份工作,我预计需要 6 个月的时间,前提条件是每天都处于高效率的学习状态当中,并且每天的学习时间至少在 12 个小时以上。 即便是这样,我敢肯定,找到的工作肯定不会太好,勉强能够维持生活吧,毕竟是零基础入门啊。 如果想更进一步,真正成为一名不可或缺的高级 Java 工程师,时间需要更久,两年、三年、五年,直到秃的那天。 想着想着,我就觉得有必要为那一天做点准备,以备不时之需。 (无中生妹。。。。。。) 01、第一个阶段,环境和工具准备 准备一台电脑,要能联网 下载、安装 JDK,配置 Java 开发环境 下载、配置 Maven 下载、安装 IntelliJ IDEA 准备一个 GitHub 仓库(或者码云),管理 Java 源代码 Java 是一门计算机编程语言,学它的话,连台电脑都没有,学个屁。我有个亲戚家的孩子想学编程,就只看书,家里连台电脑都不配,说什么“先打好理论基础,再实操”,我真的是有点醉。 有了电脑,还得联网,自学的过程中肯定会遇到很多问题,遇到问题的时候先问搜索引擎,推荐谷歌和必应;实在没有答案的话,也可以来找我,申请加入技术交流群,问问群里面的大佬们。 既然要学 Java,JDK 是必须要先安装的,否则 Java 程序就没法编译和执行