当前位置: 首页 > news >正文

使用Oolong对class文件反编译的简单教程 for Win10

步骤一

下载Oolong.jar文件

https://wwi.lanzous.com/iuRp7nm0cli

下载后将Oolong.jar放到jdk的lib目录下,同时添加环境变量的CLASSPATH,添加一条Oolong.jar的路径地址。

我这里lib路径为:

D:\Java\jdk1.8.0_101\lib

环境变量设置的路径地址就是

%JAVA_HOME%\lib\Oolong.jar

JAVA_HOME之前安装java的时候就配置好了,D:\Java\jdk1.8.0_101

步骤二

编译.java源代码文件成.class文件

假设是HelloWorld.class文件,执行

java COM.sootNsmoke.oolong.Gnoloo HelloWorld.class

如果提示没有找到主类,说明classpath设置错误。

步骤三

在该目录下会产生一个HelloWorld.j文件,用文本编辑器打开该文件可以看到如下内容:

.source HelloWorld.java
.class public super jpbirdy/HelloWorld
.super java/lang/Object
 
 
.method public <init> ()V
.limit stack 1
.limit locals 1
.var 0 is this Ljpbirdy/HelloWorld; from l0 to l5
.line 6
l0:    aload_0
l1:    invokespecial java/lang/Object/<init> ()V
l4:    return
 
.end method
 
.method public static main ([Ljava/lang/String;)V
.limit stack 2
.limit locals 1
.var 0 is args [Ljava/lang/String; from l0 to l9
.line 10
l0:    getstatic java/lang/System/out Ljava/io/PrintStream;
l3:    ldc "Hello World!"
l5:    invokevirtual java/io/PrintStream/println (Ljava/lang/String;)V
.line 11
l8:    return
 
.end method
 
b  

相关文章:

  • 查看java class文件的字节码
  • springMVC使用return redirect 而不是 return viewName的作用
  • mac meta键是什么
  • redis列表列出所有
  • sismember缩写
  • scard缩写
  • zrevrange缩写
  • 农业银行查询开户支行的方法
  • 深入剖析Tomcat 中英文 文字pdf+源代码
  • 正则表达式 匹配32位字符
  • 谷歌浏览器安装代理插件后Fiddler无法监听到
  • 只能采用某个特定的被适配类 解释
  • Shenandoah收集器三个并发阶段工作过程图
  • 易语言显示js时间格式
  • Cannot resolve MVC view
  • 30秒的PHP代码片段(1)数组 - Array
  • hadoop入门学习教程--DKHadoop完整安装步骤
  • KMP算法及优化
  • mysql_config not found
  • MySQL用户中的%到底包不包括localhost?
  • PHP面试之三:MySQL数据库
  • SQLServer之创建数据库快照
  • uva 10370 Above Average
  • Vue2.x学习三:事件处理生命周期钩子
  • 基于web的全景—— Pannellum小试
  • ​【已解决】npm install​卡主不动的情况
  • #我与Java虚拟机的故事#连载04:一本让自己没面子的书
  • %3cli%3e连接html页面,html+canvas实现屏幕截取
  • (07)Hive——窗口函数详解
  • (14)目标检测_SSD训练代码基于pytorch搭建代码
  • (delphi11最新学习资料) Object Pascal 学习笔记---第7章第3节(封装和窗体)
  • (poj1.2.1)1970(筛选法模拟)
  • (超简单)使用vuepress搭建自己的博客并部署到github pages上
  • (六)c52学习之旅-独立按键
  • (论文阅读30/100)Convolutional Pose Machines
  • (三)mysql_MYSQL(三)
  • (十八)用JAVA编写MP3解码器——迷你播放器
  • (转)JVM内存分配 -Xms128m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=512m
  • (转)项目管理杂谈-我所期望的新人
  • ******之网络***——物理***
  • .net core使用ef 6
  • .NET Micro Framework初体验(二)
  • .NET 发展历程
  • .net 前台table如何加一列下拉框_如何用Word编辑参考文献
  • .net 受管制代码
  • .NET/C# 在代码中测量代码执行耗时的建议(比较系统性能计数器和系统时间)
  • .NET国产化改造探索(三)、银河麒麟安装.NET 8环境
  • .NET设计模式(7):创建型模式专题总结(Creational Pattern)
  • .考试倒计时43天!来提分啦!
  • @RequestParam @RequestBody @PathVariable 等参数绑定注解详解
  • @德人合科技——天锐绿盾 | 图纸加密软件有哪些功能呢?
  • [120_移动开发Android]008_android开发之Pull操作xml文件
  • [Android]How to use FFmpeg to decode Android f...
  • [GN] 设计模式——面向对象设计原则概述
  • [HackMyVM]靶场Boxing