在命令行下,如何使用JAD反编译jar文件 .

提取经过Jar2Exe编译加密的源代码 教程1 注意:本教程仅供学习交流之用,请勿用于非法用途。对于本教程带来的所有后果,作者均不承担任何法律责任。 背景:Jar2Exe是一款优秀的java源码加密软件,它能够将jar包加密为本地能够执行的exe文件,并能够附带Java语言运行时(JRE),从而免除了客户机器需要安装JRE等繁琐的步骤。本文介绍了如何从Jar2Exe编译的exe文件中提取原始的类文件。 Jar2Exe一共有三 阅读详情
 

在工作中,我们经常需要对遗留系统或其他的第三方系统进行维护,如果我们没有java源文件的情况下,一般都需要将其中的jar文件进行反编译。

 

本文将以如何用命令来反编译一个test.jar文件为例,你可以通过简单修改并将其放入到你的批处理脚本中,进行自动化反编译。

 

1)首先使用jar命令将jar文件解压缩到classes目录(假设你已经设置好了CLASSPATH等,jar.exe是放在jdk的bin目录下的)


CMD>jar -xvf test.jar -C classes

 

2)如果你没有下载过jad的软件,到http://www.kpdus.com/jad.html下载一个,并用解压缩工具将其解压缩到目录[jad_home]

 

3)然后使用jad命令对上面产生的classes目录进行反编译


CMD>[jad_home]/jad.exe -r -ff -d src -s java classes/**/*.class 

 

其中-r 表示恢复源文件的目录结构,,-ff 表示将类属性定义放在类方法定义之前, -d 表示输出目录,-s 表示文件的扩展名。

所有的java文件将会被放置到src目录下。

JAVA:解压和打包 JAR 文件的技术指南 Java JAR文件操作指南 本文介绍了Java JAR文件的基本概念和操作方式。JAR文件是基于ZIP格式的Java归档文件,包含一个特殊的META-INF/MANIFEST.MF文件。文章详细讲解了JAR文件的反编译、解压和打包方法,包括: 反编译工具(luyten、jd-gui)使用及注意事项,特别指出多线程代码可能无法反编译 两种解压方法:使用Java标准库(提供完整代码示例)和命令行工具(jar -xvf命令) 打包JAR文件方法:提供Java标准库实现代码 操作指南包含具体命令和代码示例.. 阅读详情

相关推荐

使用JAD批量反编译Java Jar包的实践指南

JAD是一个经典的Java反编译器,最早由Igor Malinichenko在1999年开发。它的出现填补了当时Java反编译工具的空白,为Java开发者提供了一种快速查看和分析.class文件的手段。由于JAD的开源和免费特性,它迅速成为了Java社区中的热门工具之一。虽然JAD已经停止更新多年,但它的基础功能和设计理念依然对现代反编译工具有着深远的影响。Eclipse 是一个开放源代码的集成开发环境,广泛应用于Java开发,它以其强大的扩展性和插件生态系统闻名。

weixin_30798867的博客 601

在命令行下,如何使用JAD反编译jar文件

在工作中,我们经常需要对遗留系统或其他的第三方系统进行维护,如果我们没有java源文件的情况下,一般都需要将其中的jar文件进行反编译。 本文将以如何用命令来反编译一个test.jar文件为例,你可以通过简单修改并将其放入到你的批处理脚本中,进行自动化反编译。 1)首先使用jar命令将jar文件解压缩到classes目录(假设你已经设置好了CLASSPATH等,jar.exe是放在

花果山 2万+

JAR2EXE破解版

讲JAR包转成EXE文件,可以自带JRE,不用安装JAVA环境,并可以加密。

用jad反编译整个jar包

1、首先下载jad.exe反编译工具 2、打开cmd,切换目录到jad.exe工作目录 3、将需要反编译的源码解压,举例:D:\base-common-util-3.0.0 4、执行如下编译命令,其中D:\base-common-util是反编译后的java源码目录,需先建好,D:\base-common-util-3.0.0\**\*.class 是刚才解压后的jar包中class的路径 jad -o -r -dD:\base-common-util -sjava D:\base-common-

weberhuangxingbo的博客 2242

内核工作FAST‘25 Artifact Evaluation流程记录

在我们的paper中,复现需要用到傲腾持久化内存,因此,需要AE Reviewer访问到内网服务器中。我们的思路是购买云服务器,将其作为跳板机,内网服务器通过SSH反向代理与公网服务器建立隧道,AE Reviewer通过隧道访问内网服务器。我们在AE过程中使用。然后,把一切复现需要的代码环境,在chroot里面配置完成。

不定期更新系统使用、编程小技巧,哔哩哔哩账号:https://space.bilibili.com/399455629,欢迎关注 1215

零样本缺陷检测新体验:用AnomalyGPT大模型快速搭建智能质检系统(附Win10适配指南)

本文详细介绍了如何利用AnomalyGPT大模型在Windows 10系统上快速搭建零样本工业缺陷检测系统。通过实战指南,涵盖从环境部署、模型准备到工程化落地的全过程,包括将模型封装为API服务、接入工业相机以及开发可视化监控看板,为制造业智能质检提供了一套高效、低门槛的本地部署解决方案。

weixin_29094775的博客 310

jad 反编译jar包

首先解压jar包到一个目录,比如叫input然后进入命令行输入以下命令,jad -r -d output -s java input/**/*.*意思是:将input目录以及子目录下的所有文件反编译成java扩展名的文件,所有文件输出到output目录。ps:jad的选项可以通过输入jad查看。

-==GIVING & SHARING==- 1048

基于DFT的scanshift sdc模板(DFT)

摘要:本文详细介绍了DFT测试模式下的SDC约束方法。

murphyrong的博客 889

使用jad批量反编译class文件

本文介绍如何使用 jad 反编译工具对没有源码的 jar 包进行反编译 我们进入了一家新的公司,通常会遇到接手项目过来进行编码的时候,发现之前同事写的代码有很多引用了已经导入的 jar 包中的类,这些类通常是封装好的框架,我们无法查看相关代码,因此无法了解此处代码的含义,这时我们可以通过jad反编译工具,对此jar包进行反编译,获取相关源码。 首先将jar包放在硬盘中任意文件夹

愤怒的小芃芃 878

Unity URP炫彩干涉效果:从薄膜干涉原理到Shader Graph实现

薄膜干涉是一种常见的光学现象,指光在透明薄膜上下表面反射后产生干涉,形成彩虹色条纹。其原理基于光程差导致的相长与相消干涉,不同波长的光被选择性增强或削弱。在计算机图形学中,这一物理现象被抽象为高效的数学模型,通过Shader编程实现动态色彩变化,为游戏和实时渲染带来独特的视觉表现力。技术实现上,常采用正弦函数结合噪声纹理来模拟色彩循环,利用法线与视角点积作为基础变量,加入噪声扰动模拟厚度不均,实现随视角变化的虹彩效果。在Unity URP渲染管线中,可通过Shader Graph可视化工具或手写HLSL代码

weixin_34026997的博客 296

SerDes学习笔记:均衡技术详解 01

本文系统阐述了高速SerDes链路中均衡技术的应用原理与实现方法。重点介绍了发射端预加重/FIR均衡和接收端CTLE/DFE/FFE等主流均衡方案,详细探讨了各类均衡器的频域特性、时域效果及硬件实现架构。

一只豌豆象的博客 1306

JAD反编译JAR

工作中,我们经常需要对遗留系统或其他的第三方系统进行维护,如果我们没有java源文件的情况下,一般都需要将其中的jar文件进行反编译。 本文将以如何用命令来反编译一个test.jar文件为例,你可以通过简单修改并将其放入到你的批处理脚本中,进行自动化反编译。 1)首先使用jar命令将jar文件解压缩到classes目录(假设你已经设置好了CLASSPATH等,jar.exe是放在j...

weixin_30732825的博客 173

openclaw本地模型对接

使用是官方推荐的一种集成方式,它可以简化配置过程。但由于您的系统环境和之前复杂的配置历史,我为您梳理了一个核心流程,并增加了关键的“事后检查”步骤,以确保能从根本上解决问题。

suny8的专栏 2463

Myeclipse反编译插件(jad)的安装和使用

将jadclipse_3.3.jar放到Myeclipse 安装目录下的 eclipse\plugins 下(我的目录是这样的 D:\Genuitec\MyEclipse-8.6\dropins\eclipse\plugins ,有的没有,需要自己新 建)下载对应的版本的jad.exe,然后将解压出来的jad.exe放到一个目录下(最好是JAVA_HOME\bin里边,因为jad是可以命令行执行的,这样执行的时候比较方便)jad是java的反编译工具,是命令行执行,反编译出来的源文件可读性较高。

bobo now~ 1517

为什么先进工艺需要check那么多corner?

那么hold slack = launch clock path delay + data path delay - capture_clock_path_delay = -capture_clock_path_delay,也就是说,capture clock path delay越大,hold越难满足。而且,我们在设计的时候,一般clock频率都会过约,所以是有较大的margin的。有的foundry还会对rc的取值范围进行了约束,如cworst_T,采用的是1.5 sigma的取值范围。

芯冰乐 2089

UDS诊断服务基础详解之七-31服务

本节内容主要是讲解诊断服务中的31服务,包含31服务的使用场景,请求报文格式,响应报文格式,以及举例对31服务进行相关的说明

车载网络小D的博客 5630

批量反编译jar包中的class文件

在命令行中用jad.exe工具批量反编译jar包中的所有class文件 1.说明如何批量反编译的帮助文档: http://www.udl.es/usuaris/jordim/Progs/Readme.txt 2.下载反编译工具jad.exe文件,将它设置到环境变量path,或者拷到其他已经了环境变量path的地方, 或者在cmd中转到此文件目录下。 简单的方法是

psh1234的博客 3661

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

用jad 反编译jar文件

D:>jar xvf test.jarD:>md srcD:>jad -sjava -r -dsrc -ff -8 com**/*.class

曲折旅程,艰难人生 1851

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

jad反编译

作为java开发者,有时会想看看一些三方的jar包内容,需要反编译,这时jad便派上用场。 下载地址:http://www.javadecompilers.com/jad 下载解压后包含jad.exe和Readme.txt 1. 安装 解压缩jad.zip包,并把它放在你硬盘的某个目录下。将会创建两个文件 jad.exe和readme.txt文件,不需要其他的安装文件 2. 怎样去用jad...

学习总结 1506

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

jad的使用

1.假设jad字c:\jad\jad.exe 需要反编译的文件放在d:\test.jar 用winrar把test.jar解压出来在d:\test 找到放.class文件的目录,假设为testclass 2.用如下命令 c:\jad.exe -r -ff -d src -s java testclass/**/*.class 其中-r 表示恢复源文件的目录结构(就是反编译出来的类文件目

ZHUBOYAN123的专栏 940

jad 反编译

在工作中,我们经常需要对遗留系统或其他的第三方系统进行维护,如果我们没有java源文件的情况下,一般都需要将其中的jar文件进行反编译。        本文将以如何用命令来反编译一个test.jar文件为例,你可以通过简单修改并将其放入到你的批处理脚本中,进行自动化反编译。 1)首先使用jar命令将jar文件解压缩到classes目录(假设你已经设置好了CLASSPATH等

yuxiaohui78的专栏 755

Java反编译工具Jad详解

做项目过程中需要反编译一个jar包,于是作了一些学习,记录下来。 Jad(JAva Decompiler)是一个Java的反编译器,可以通过命令行把Java的class文件反编译成源代码。 如果你在使用编写代码的时候遇到找不到源代码的第三方库,而且你又需要看看这个库的具体实现,那么你就需要使用这个东西。而且如果你是使用Eclipse的话,还有一个Eclipse插件JadClipse,J

IT忍者神龟 642
上一篇: java环境变量设置
下一篇: ProGuard使用简介
良才2015
博客等级 码龄19年 25粉丝 13原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值