jad反编译工具笔记

文章目录

        • 下载
      • 反编译
    • 其他
      • 官网地址
      • 命令参数

反编译是有些应用场景的。
方法也不只一种。
1、jad.exe实现反编译。
2、阿里arthas监控工具带。
3、idea直接打开.class文件就是反编译(是不是很方便)。

这里只说jad.exe这种。

下载

官网下载地址(这是jad158g.win版本):
https://varaneckas.com/jad/jad158g.win.zip

解压,放到文件夹中,可以放到java同目录,便于寻找。

然后配置环境变量。path中添加jad.exe所在的文件路径即可。
如: D:\Program Files\jad\jad158g.win

反编译

打开cmd,输入:jad 看是否有正确返回

反编译:jad ./demo.class
会在同目录生成demo.jad(注:扩展名默认是.jad)
可以通过-s(-s - output file extension (default: .jad))指定扩展名。

jad -sjava ./demo.class

注: 不要用-sJava(网上看有写作大写的Java的,是不对的)。

其他

官网地址

https://varaneckas.com/jad/

选最上面的版本就行,个人选的是这个。
Jad 1.5.8g for Windows 9x/NT/2000 on Intel platform (238600 bytes).

命令参数

直接复制一份了,也不翻译,就是为了看着方便。

PS C:\Users\PC\Desktop> jad
Jad v1.5.8g. Copyright 2001 Pavel Kouznetsov (jad@kpdus.com).
Usage:    jad [option(s)] <filename(s)>
Options: -a       - generate JVM instructions as comments (annotate)-af      - output fully qualified names when annotating-b       - generate redundant braces (braces)-clear   - clear all prefixes, including the default ones-d <dir> - directory for output files-dead    - try to decompile dead parts of code (if there are any)-dis     - disassembler only (disassembler)-f       - generate fully qualified names (fullnames)-ff      - output fields before methods (fieldsfirst)-i       - print default initializers for fields (definits)-l<num>  - split strings into pieces of max <num> chars (splitstr)-lnc     - output original line numbers as comments (lnc)-lradix<num>- display long integers using the specified radix-nl      - split strings on newline characters (splitstr)-noconv  - don't convert Java identifiers into valid ones (noconv)-nocast  - don't generate auxiliary casts-noclass - don't convert .class operators-nocode  - don't generate the source code for methods-noctor  - suppress the empty constructors-nodos   - turn off check for class files written in DOS mode-nofd    - don't disambiguate fields with the same names (nofldis)-noinner - turn off the support of inner classes-nolvt   - ignore Local Variable Table entries (nolvt)-nonlb   - don't insert a newline before opening brace (nonlb)-o       - overwrite output files without confirmation-p       - send all output to STDOUT (for piping)-pa <pfx>- prefix for all packages in generated source files-pc <pfx>- prefix for classes with numerical names (default: _cls)-pe <pfx>- prefix for unused exception names (default: _ex)-pf <pfx>- prefix for fields with numerical names (default: _fld)-pi<num> - pack imports into one line using .* (packimports)-pl <pfx>- prefix for locals with numerical names (default: _lcl)-pm <pfx>- prefix for methods with numerical names (default: _mth)-pp <pfx>- prefix for method parms with numerical names (default:_prm)-pv<num> - pack fields with the same types into one line (packfields)-r       - restore package directory structure-radix<num>- display integers using the specified radix (8, 10, or 16)-s <ext> - output file extension (default: .jad)-safe    - generate additional casts to disambiguate methods/fields-space   - output space between keyword (if, while, etc) and expression-stat    - show the total number of processed classes/methods/fields-t<num>  - use <num> spaces for indentation (default: 4)-t       - use tabs instead of spaces for indentation-v       - show method names while decompiling-8       - convert Unicode strings into ANSI strings (ansi)-&       - redirect STDERR to STDOUT

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/36681.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring Boot项目如何配置跨域

1、通过SpringSecurity进行配置 2、前端跨域配置&#xff1a;proxy配置项用于设置代理规则&#xff0c;用于前端开发中与后端API交互时使用。

ROS2自定义接口Python实现机器人移动

1.创建机器人节点接口 cd chapt3_ws/ ros2 pkg create example_interfaces_rclpy --build-type ament_python --dependencies rclpy example_ros2_interfaces --destination-directory src --node-name example_interfaces_robot_02 --maintainer-name "Joe Chen" …

Java 基本数据类型【基础篇】

目录 Java 数据类型基本数据类型整数类型【byte、short、int、long】浮点类型【float、double】布尔类型【boolean】字符类型【char】 引用数据类型 Java 数据类型 Java 语言支持的数据类型分为两种&#xff1a;基本数据类型 和 引用数据类型。其数据类型结构如下图所示&#x…

24年hvv前夕,微步也要收费了,情报共享会在今年结束么?

一个人走的很快&#xff0c;但一群人才能走的更远。吉祥同学学安全https://mp.weixin.qq.com/s?__bizMzkwNjY1Mzc0Nw&mid2247483727&idx1&sndb05d8c1115a4539716eddd9fde4e5c9&scene21#wechat_redirect这个星球&#x1f517;里面已经沉淀了&#xff1a; 《Ja…

【高考志愿】信息与通信工程

目录 一、专业介绍 1.1 专业概述 1.2 学科设置 1.3 课程设置 二、培养目标 三、就业前景 四、志愿填报建议 五、信息与通信工程专业排名 信息与通信工程是一门具有深度与广度的综合性工程学科&#xff0c;它不仅涵盖了信息的传输、处理以及通信系统设计与优化的各个方面…

SQL CASE WHEN语句的使用技巧

SQL CASE WHEN语句的使用技巧 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01; 在SQL查询中&#xff0c;经常需要根据不同的条件进行分支处理&#xff0c;这时就…

30 哈希的应用

位图 概念 题目 给40亿个不重复的无符号整数&#xff0c;没排过序。给一个无符号整数&#xff0c;如何判断一个数是否在这40亿个整数中 1.遍历&#xff0c;时间复杂度O(N) 2.二分查找&#xff0c;需要先排序&#xff0c;排序(N*logN)&#xff0c;二分查找&#xff0c;logN。…

2024年【焊工(初级)】考试及焊工(初级)报名考试

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 焊工&#xff08;初级&#xff09;考试是安全生产模拟考试一点通生成的&#xff0c;焊工&#xff08;初级&#xff09;证模拟考试题库是根据焊工&#xff08;初级&#xff09;最新版教材汇编出焊工&#xff08;初级&a…

C++ 史上首次超越 C,仅次于Python!【送源码】

TIOBE 公布了 2024 年 6 月的编程语言排行榜——C 史上首次超越 C&#xff0c;跃至榜二&#xff0c;仅次于 Python。 C 是一种广泛应用于嵌入式系统、游戏开发和金融交易软件等领域的语言&#xff0c;在本月成功超越了 C&#xff0c; 成为了 TIOBE 指数中新的第二名。 这是 C …

Gperftools交叉编译

Gperftools&#xff08;Google Performance Tools&#xff09;是由谷歌开发的一组性能分析工具。它包括了多个工 具&#xff0c;其中最为知名的是 tcmalloc&#xff08;Thread-Caching Malloc&#xff09;和 CPU Profiler。 相比与其他性能分析工具&#xff0c;gperftools有Pro…

四川省高等职业学校大数据技术专业建设暨专业质量监测研讨活动顺利开展

6月21日&#xff0c;省教育评估院在四川邮电职业技术学院组织开展全省高等职业学校大数据技术专业建设暨专业质量监测研讨活动。省教育评估院副院长赖长春&#xff0c;四川邮电职业技术学院党委副书记、校长冯远洪&#xff0c;四川邮电职业技术学院党委委员、副校长程德杰等出席…

鸿蒙开发设备管理:【@ohos.multimodalInput.inputConsumer (组合按键)】

组合按键 InputConsumer模块提供对按键事件的监听。 说明&#xff1a; 本模块首批接口从API version 8开始支持。后续版本的新增接口&#xff0c;采用上角标单独标记接口的起始版本。本模块接口均为系统接口&#xff0c;三方应用不支持调用。 导入模块 import inputConsumer …

36.基于多目标螳螂优化算法的微电网优化matlab

微♥关注“电击小子程高兴的MATLAB小屋”获取资源 基于螳螂优化算法的多目标优化算法 求解微电网多目标优化调度 比较不同目标函数寻优对调度结果的影响 第1种.将两个目标函数值归一化相加&#xff0c;取相加后最小的目标值的粒子&#xff0c;即寻找折衷解并画图 第2种寻找…

afterPropertiesSet方法的作用

在spring的bean的生命周期中&#xff0c;实例化->生成对象->属性填充后会进行afterPropertiesSet方法&#xff0c;这个方法可以用在一些特殊情况中&#xff0c;也就是某个对象的某个属性需要经过外界得到&#xff0c;比如说查询数据库等方式&#xff0c;这时候可以用到sp…

AI助力校园安全:EasyCVR视频智能技术在校园欺凌中的应用

一、背景分析 近年来&#xff0c;各地深入开展中小学生欺凌行为治理工作&#xff0c;但有的地方学生欺凌事件仍时有发生&#xff0c;严重损害学生身心健康&#xff0c;引发社会广泛关注。为此&#xff0c;教育部制定了《防范中小学生欺凌专项治理行动工作方案》进一步防范和遏…

在 Python 学习中,什么是变量,如何声明和使用变量?

一、什么是变量 变量是计算机编程中一个基本的概念&#xff0c;简单来说&#xff0c;变量是一个用于存储数据的命名位置。变量的值是可以变化的&#xff0c;因此被称为“变量”。在Python编程中&#xff0c;变量是用来保存数据的容器&#xff0c;可以将数据赋值给变量&#xf…

json文件 增删查改

默认收藏夹 qt操作json格式文件... 这个人的 写的很好 我的demo全是抄他的 抄了就能用 —————————— 下次有空把我的demo 传上来 在E盘的demo文件夹 json什么名字

Leetcode - 133双周赛

目录 一&#xff0c;3190. 使所有元素都可以被 3 整除的最少操作数 二&#xff0c;3191. 使二进制数组全部等于 1 的最少操作次数 I 三&#xff0c;3192. 使二进制数组全部等于 1 的最少操作次数 II 四&#xff0c;3193. 统计逆序对的数目 一&#xff0c;3190. 使所有元素都…

PyQt问题汇总(持续更新)

目录 1.抛出异常后QAppliaction自动闪退 2.Unbuntu共享文件夹自动挂载 1.抛出异常后QAppliaction自动闪退 开发阶段&#xff0c;PyQt5 QAppliaction会在遇到未捕获的异常时立即退出&#xff0c;它能够快速发现并报告错误&#xff0c;我在调用一些密码算法库的时候&#xff0…

Eureka三级缓存架构

Eureka Server缓存机制概述 Eureka是Netflix开源的服务发现框架&#xff0c;它具有高可用、可扩展、易于部署等优点&#xff0c;被广泛应用于微服务架构中。其中一个重要的组件就是Eureka Server&#xff0c;它负责维护服务注册表&#xff0c;以及向客户端提供服务注册信息。 …