多读书多实践,勤思考善领悟

Java逆向基础之二十.ODB动态调试

本文于1985天之前发表,文中内容可能已经过时。

OmniscientDebugger ODB的使用

下载

  • github方式

https://github.com/OmniscientDebugger/LewisOmniscientDebugger/releases

  • maven中央仓库方式

http://central.maven.org/maven2/com/neuronrobotics/LewisOmniscientDebugger/1.6/LewisOmniscientDebugger-1.6.jar

使用方法

1. bat批处理方式

  • C盘根目录新建Debugger目录

  • 复制LewisOmniscientDebugger-1.6.jar到这个目录并改名为debugger.jar

  • 用winrar打开debugger.jar或解压

  • 复制Microsoft目录下的debug.bat文件到Debugger目录

  • 将要调试的jar解压到这个目录如ZKM

  • cd C:\Debugger

  • debug com.zelix.ZKM

这个在JDK1.8下启动不了,报栈帧异常

截图.png

2. java -jar方式运行

使用命令

1
java -jar LewisOmniscientDebugger-1.5.jar

这时会弹出class文件选择窗口(有文件类型过滤,只能选择后缀为class的文件),选中主类文件即可分析

QQ截图20180427094318.png

由于我本机装的JDK1.8,不想为这个工具搞成1.6,点一下Demo看一下基本界面

QQ截图20180427094756.png

有左右箭头的地方可以点击看一下栈和本地变量的变化

说明:

  1. 详情参阅《透视JAVA-反编译修补和逆向工程技术》,这里简单介绍一些

  2. ODB(即Omniscient Debugger)最新版本已经迁移到github

  3. ODB支持的最高JDK版本是1.6,用来分析新版本的jar包和类会报各种异常,从内心的角度来说还是不太想介绍这个工具的