首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏技术进阶之路

    Jar 加密

    Jar 加密 一、分类 主流的加密方式有两种: 字节码混淆 字节码转换 1.1 字节码混淆 字节码混淆就是对类名、字段名、方法名进行替换,让其变得无意义,使其他人反编译后很难读懂,但并不影响逻辑。 出现这个错误的原因是JDK9往后引入了Java Platform Module System(模块化)的概念,每个模块都是强封装的,而我们启动JAR需要用到反射去访问目标类,这里提示没有权限;那我们只能在命令里增加参数 /encrypted.jar 3.4 拓展 如果觉得以上加密操作很麻烦,还需要编写单元测试,XJar还提供了maven插件,可以在打包的同时对jar进行加密。 四、ClassFinal实践 4.1 功能特性 无需修改原项目代码,只要把编译好的 jar/war 用本工具加密即可 加密后的 jar 可直接使用命令运行 支持加密 WEB-INF/lib 或 BOOT-INF 参数说明 -file 加密jar/war完整路径 -packages 加密名(可为空,多个用","分割) -libjars jar/warlib下要加密jar文件名(

    5.4K40编辑于 2023-04-16
  • 来自专栏鳄鱼儿的技术分享

    Java源码混淆,jar加密,禁止反编译jar

    这是我参与「掘金日新计划 · 10 月更文挑战」的第32天,点击查看活动详情 对jar加密 使用 XJar 对jar进行加密。 "); } } 其中/path/to/read/ 待加密jar路径, password加密密码, /path/to/save/加密jar输出路径。 具体方法详细介绍 方法名称 参数列表 是否必选 方法说明 from (String jar) 二选一 指定待加密JAR路径 from (File jar) 指定待加密JAR文件 use (String 的正则路径表达式 to (String xJar) 二选一 指定加密JAR输出路径, 并执行加密. to (File xJar) 指定加密JAR输出文件, 并执行加密. /xjar java -Xms256m -Xmx1024m -jar /path/to/encrypted.jar ☘️加密后反编译jar效果 待补充插件方式生成加密jar, Github:xjar-maven-plugin

    2.2K10编辑于 2024-05-22
  • 来自专栏HUC思梦的java专栏

    实用的jar加密方案

    如果你想要防止别人反编译做逆向工程,那么对jar进行一次加密就是一项很重要的工作了。 如何对jar进行加密呢? 其实没有想象中的那么困难,有一款开源工具已经提供了较为完善的加密方案,这款开源工具的名字叫做xjar。 接下来我们就看一下使用xjar工具给jar加密有多么的容易。 执行后就会得到两个文件:一个是xjar.go的go源文件,一个是你项目的xjar,也就是加密后的jar。 运行加密后的jar 运行加密后的jar是需要先编译xjar.go源文件生成jar启动器的。编译方式如下: go build . 之后使用如下命令即可运行加密后的jar: ./xjar.exe java -jar ./**.xjar 可以看出,只是在使用java -jar的前边加上启动器即可,还是很方便的。

    5.8K30发布于 2021-06-11
  • 来自专栏从零开始学自动化测试

    Python 如何正确调用 jar 加密,得到加密值?

    前言 在做接口自动化的时候,经常会遇到一些参数是需要加密的,比如密码参数。 加密规则一般开发也不愿意告诉你,会直接给你一个jar,让你调用jar得到加密值,在jmeter上是可以直接引用jar的,但python调用jar会有点麻烦。 加密jar 以最简单的md5加密jar为例 java引用方法 import com.iyunwen.crypto.Encrypto; String password = "admin"; Mademd5 # 关闭JVM jpype.shutdownJVM() 运行后能正确打印出”hello world”,说明环境安装没问题了 调用加密jar jpype.JClass方法导入需要调用的class import 有多个的时候 当导入的jar只有一个的时候,用上面的方法进行了,如果有多个jar需要导入,先合并jar 合并 JAR 分为 2 步: 解压 JAR 合并所有源码 安装 JDK 之后,通过 jar

    1.5K30发布于 2021-08-20
  • 来自专栏代码混淆

    java 代码混淆 class字符串加密 jarwar加密 支持JDK16

    为此本软件针对反编译问题,对class文件进行了字节码级别的混淆加密,很难被模仿复用.对java软件的起到很好的保护作用.就算是离线部署到客户端,也很难被复制.下面通过一个案例,查看加密后的效果图片-- 或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用压缩软件打开

    1.8K20编辑于 2022-07-11
  • 来自专栏Java基础

    Jar 命令打包 jar

    activation.jar (加入了Class-Path: mail.jar activation.jar,用空格分隔两个jar) 这样我们仍然可以使用和上例中相同的命令来执行该程序: java ========== 各部分解释: Manifest-Version MF文件版本号 Main-Class 包含main方法的类 Class-Path 执行这个jar时的ClassPath 5. jar内有些配置文件想放在jar外面,比如文件config.properties:如果这个文件是以路径方式载入的,比如new file(". /config/config.properties"),那么将config.properties放在jar相同目录下的config目录下即可,也就是说“./”路径等价于jar所在目录;如果这个文件是以 /config/”,然后把配置文件都放在jar相同目录下的config目录下。

    6.4K30发布于 2019-07-01
  • 来自专栏翎野君

    jar

    1.引入一些jar之后,有的时候可能会看不到源码,因为这是所属于不同的 jar 就是一堆.class文件, 源代码编译出来的, 可以直接运行的 java doc就是这个源文件中的doc 文档注释 , 包括字段, 方法等注释 sources 就是源代码 另外在Maven本地仓库里面每个Jar都对应一个sha1文件,spring-boot-1.5.3.RELEASE-sources.jar.sha1 是spring-boot-1.5.3.RELEASE-sources.jar的校验文件。

    1.7K10编辑于 2023-05-12
  • 来自专栏全栈程序员必看

    用docker部署jar_warjar部署区别

    # demo-0.0.1-SNAPSHOT.jar 就是你上传的jar,替换为jar的名称 # demo.jar 是你将该jar重新命名为什么名称,在容器中运行 # expose 该容器暴露的端口是多少 ,就是jar在容器中以多少端口运行 # entrypoint 容器启动之后执行的命令,java -jar demo.jar 即启动jar 4. 不用每次发布需要重新构建docker容器,只需要替换宿主机中的jar即可 1. 在服务器中拉取jdk1.8的镜像 docker pull jdk8 2. # -Duser.timezone 是设置时区 # jdk8 /usr/bin/java -jar 是执行 java jar的命令 # /jar/demo-1.0.jar 是需要运行的 jar的位置在容器中的什么位置,/jar 下面 上面就是两种部署jar的方式,并且还可以更方便的部署~~,就是使用maven插件,一键直接部署,后续可以继续再写~~ 版权声明:本文内容由互联网用户自发贡献

    2.8K60编辑于 2022-11-02
  • 来自专栏开发经验

    Spring Boot项目Jar加密:防止反编译的安全实践

    本文将探讨在Spring Boot项目中对Jar进行加密,以防止反编译的安全实践。 2. 背景 Java应用程序通常打包成可执行的Jar文件,其中包含了项目的所有源代码和资源。 加密工具 除了混淆之外,还可以考虑使用专门的Jar加密工具,将Jar文件进行加密。 3.2.1 示例:使用JCryptor对Jar进行加密 JCryptor 是一个Java库,提供了对文件进行加密和解密的功能。 加密后的Jar的运行 在使用加密工具对Jar进行加密后,我们需要确保应用程序能够正常运行。这就需要在应用启动时进行解密操作。 希望本文对你在项目中使用Spring Boot进行Jar加密有所帮助。----

    2.8K10编辑于 2023-12-29
  • 来自专栏技术博客文章

    修改 jar

    作者在这里提供2种方法,有一种方法是我工作的老大给的建议 1:我的思路 image.png 新建一个类和jar类的方法一模一样,因为自己的代码的优先级高于maven依赖的版本 参考网址:https > <property name="reportParser" ref="ureport.reportParser"></property> </bean> 之前的calss为jar 里类的reference。 image.png 抱着好奇的心态run了一下,可以,这时开始头脑一片问号 @Autowired注解是根据byType进行加载的 这明显我的type是DesignerServletActionAdapter,jar 的是DesignServletAction,这类型都不同,是怎么替换的啊!

    5.2K20编辑于 2021-12-21
  • 来自专栏图像识别与深度学习

    Android Studio下打jar及使用jar

    7,命令成功执行,如下图 8,打包产生的jar,如下图: 产生的mySdk.jar在mylibrary\build\libs下 9,打包过程中出错处理 Error:(1, 1) 错误: 非法字符: ' 1,本项目中使用jar 2,其他项目中使用jar (1)新建项目 新建项目 (2)把jar复制到项目的lib目录下 (3)在jar包上右键Add as Libary 帮你自动添加 (4) 用Android Studio打Jar Android Studio生成和使用jar的方法(打开架构师的大门) Android Studio中如何打JAR Android Studio实现代码混淆 的方法 - vurtne_ye的专栏 - 博客频道 - CSDN.NET 写个android代码封装jar然后代码混淆的笔记 - 推酷 ProguardGui进行jar代码混淆(android - CSDN.NET Android APK及JAR的代码混淆_百度文库 Android项目将生成的jar混淆 - 推酷 Gradle混淆+打包Jar基础 - 小书包 - 博客园 android

    6.4K50发布于 2018-05-22
  • 来自专栏全栈程序员必看

    windows 运行jar 生成日志_jar双击运行

    set SERVICE_NAME=%1 @rem 运行的服务jar目录路径 set SERVICE_JAR_DIR=D:\MyWorks\IdeaProgramFiles\LjdProgramFiles 的jdk路径 此方式可以适用没有配置java_home 变量的,或是需要指定版本的Jdk set JAVA_RUN_DIR=D:\MySofts\MyTools\jdk-11.0.2\bin\java 可以使用 javaw.exe 做 # ljd-stream-msvs.jar 是需要运行的jar,可以放绝对路径的jar 例如:D:\usr\javaFiles\ljd-stream-msvs.jar start javaw -jar ljd-stream-msvs.jar b. \startup.cmd ==> 运行项目的bat脚本路径 ljd-stream-msvs ===> 项目jar的名称 CreateObject("Wscript.Shell").run ".

    4K40编辑于 2022-11-09
  • 来自专栏全栈程序员必看

    【Maven学习】Maven打包生成普通jar、可运行jar、包含所有依赖的jar

    使用maven构建工具可以将工程打包生成普通的jar、可运行的jar,也可以将所有依赖一起打包生成jar; 一、普通的jar 普通的jar只包含工程源码编译出的class文件以及资源文件,而不包含任何依赖 ;同时还包括pom文件,说明该的依赖信息; 在工程pom文件下这样写,可生成普通的jar: <packaging>jar<packaging> 或者,不写,因为packaging默认打包类型为jar 二、包含所有依赖的jar 普通的jar,只在pom文件中包含依赖信息,而不包含真正的依赖,但同时maven也可以打包生成包含所有依赖的jar文件,可参考本博客文章 Maven打包生成包含所有依赖的 jar 三、可运行jar 可运行的jar,除包含工程源码编译结果外,还包括所有依赖,可利用java -jar 命令直接运行。 (所有的依赖jar直接变成了class) 使用maven生成可运行jar,可参考本博客文章 maven打包生成可执行jar文件。

    8.2K20编辑于 2022-09-02
  • 来自专栏Mokwing

    性能测试(3):JMeter对jar调用以及加密参数传递

    JMeter对jar调用以及加密参数传递 前言 实现 1、生成jar 2、jar存放位置 3、JMeter参数设置 前言 JMeter在请求时,肯定会需要参数传递,参数值如果不变动或者不需要加解密这些操作 先说一下我这个接口大概的需求: 1、该接口主要实现获取出符合要求的二维码链接; 2、请求参数通过RSA加密,需要生成符合要求的RSA加密值; 3、不知道加密具体机制,但是有源码可以直接调用。 实现 1、生成jar 这一步很重要,如果自己熟悉java,则需要自己读懂开发的java代码,提取出我们需要的方法,对其进行修改,并且进行打包。如果不行,则可以找开发帮忙。 2、jar存放位置 将打包好后的jar放入JMeter安装目录ext目录中,例如: D:\Tools\Apache\Jmeter\lib\ext 注意: 1、jar是完全可以正常运行,检测方法根据自己而定 ,一般为 java -jar jar名称; 2、有其他依赖的jar,需要一起放入。

    2.5K30发布于 2020-09-08
  • 来自专栏全栈程序员必看

    java jar与war_jar和war的区别,java jar和war部署的区别介绍「建议收藏」

    很多人都在想jar和war部署究竟哪个好呢?jar和war这两者之间的区别又是怎样的?有着什么不同?带着这些问题下面就一起来了解一下吧。 1、jar和war概念介绍 最首先的话,我们还是要来对jar以及war的概念进行一个简单的了解,首先是jar。 什么是jar? 2、目录结构 jar当中的com里面放的是class文件,配置文件,可是没有静态资源的文件,大部分的JAR里面,含有一个META-INF目录,它是用来存储和扩展的配置数据的,例如,安全性和版本信息。 3、jar和war的不同之处 (1)war和项目的文件结构保持一致,而jar却不一样; (2)jar里面没有静态资源的文件; 4、jar和war部署项目的区别 部署普通的spring项目用 war即可; jar和war的一些相关知识就给你介绍到这里啦!

    4K11编辑于 2022-08-31
  • 来自专栏全栈程序员必看

    jar 与 war 区别

    jar 与 zip 异同 jar 主要用途 2. war war 部署优势 开发阶段不适合使用 war 的原因 部署 war 到 tomcat 3. jar vs. war SpringBoot 打包方式区别 SpringBoot 适宜打成 war 的场景 ---- 1. jar JAR(Java Archive),是与平台无关的文件格式。 其实可以对比一下:jar 与 rar ,j 可以理解成 java。 jar 其实就是 java 项目压缩,是通过 java 程序压缩产生的压缩jar 是通过 JavaSE 程序打成的jar 与 zip 异同 jar 文件格式以流行的 zip 文件格式为基础。 将 jar 引入到自己的项目中,就可以直接使用这些 jar 中的类和属性(从前这些 jar 都会被扔到 lib/ 目录下)。 2. war war 就是 web 项目压缩

    2.2K10编辑于 2022-08-25
  • 来自专栏全栈程序员必看

    运行jar的命令_命令行打jar

    怎么在命令行工具中运行jar呢? 找到jar的位置 选中文件所在位置导航栏 并输入cmd 然后enter 此时进入命令行工具 输入Java -jar HelloWord.jar(注意空格) 输入完Java -jar 之后可以按 tab键找到jar名字 enter 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。

    4.1K20编辑于 2022-11-09
  • 来自专栏全栈程序员必看

    tomcat部署warjar

    在tomcat根目录下部署war,通过http://ip:port的方式访问 网上说的方法很多,这里记录一下自己的经过实践检验的一种方法。 例如下面写的是webapps,那就在webapps/ROOT/路径下解压你的war。 HTTP/1.1" connectionTimeout="20000" redirectPort="8443" useBodyEncodingForURI="true" /> 20180504更新 部署jar 应用,可以写一个shell脚本 nohup /opt/jdk1.7.0_76/bin/java -jar -Xms1024m -Xmx1024m -Dspring.profiles.active=test Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=10086 /XXX/test.jar

    4.6K30编辑于 2022-09-05
  • 来自专栏快乐阿超

    引入本地jar

    ——歌德 对于本地jar,如何让它加入我们的项目并使用maven的GAV管理起来呢 其实很简单 需要在当前项目根路径(在pom.xml的那层)使用 mvn install:install-file -Dfile=[本地jar路径] -DgroupId=[自定义groupId] -DartifactId=[自定义artifactId] -Dversion=[自定义version] -Dpackaging =jar 例如 mvn install:install-file -Dfile=D:\file\files\Onest-S3-java-SDK.jar -DgroupId=com.move -DartifactId =moveOss -Dversion=1.0 -Dpackaging=jar 再使用我们定义的GAV引入,这样就可以使用我们本地jar了 <!

    1.2K10编辑于 2022-08-16
  • 来自专栏数据结构和算法

    python调用jar

    jpype 调用 jar 环境:python 3.6.8 + jpype1 0.6.3 + jdk 1.8 “”" 基本的开发流程如下: ①、使用jpype开启jvm ②、加载java类 ③、调用java方法 ④、关闭jvm(不是真正意义上的关闭,卸载之前加载的类) “”" ①、使用jpype开启虚拟机(在开启jvm之前要加载类路径) 加载刚才打包的jar文件 path = r"C :\Users\Administrator\Desktop\xxx.jar" jarpath = os.path.join(os.path.abspath(‘views’), path) 获取jvm.dll

    54900编辑于 2023-11-30
领券