无源码情况下动态调试混淆的java程序

时间:2024-05-31 12:13:14

    ****JAVA通常是非常简单的,因为优秀的JAVA二进制反编译器已经存在多年。类似于jd-gui工具和恢复java二进制文件源代码功能也做的非常出色的。在这种情况下我们需要动态调试java反编译java程序的情况下,可以从反编译导出然后导入java IDE如Eclipse作为一个新的java项目的一部分,然后通过IDE动态调试它,然而,这一切都基于没有混淆java字节码,因为大多数java ide不会编译原jvm指令,也不会允许在没有源码的情况下一步一步运行这些指令。

    要解决这个问题最好的方式是能以图形化的方式去调试java字节码,接下来我们将一步一步来演示如何搭建java调试环境。

    

    1.安装java jdk

    在我之前的文章有讲,不清楚的朋友可以看这里 


    2.安装Eclipse

    安装Eclipse一定要记住一点,下载的版本一定要注意插件支持的版本,不然会安装失败,这里我们安装keplersr1的java版本,具体在这里


    3.安装插件

    运行Eclipse菜单help->Eclipse Marketplace,然后在搜索栏输入"Dr.Garbage",点击GO

无源码情况下动态调试混淆的java程序

    

    4. 导入即将要分析的jar包

    一旦Eclipse工程重启,点击菜单FILE->New->Java Project,创建你自己所属工程

    无源码情况下动态调试混淆的java程序

    在java属性窗口,点击Libraries选项卡, 点击Add External JARs按钮,选择一个你想调试的jar包,添加到java工程编译路径里面,如下图:

    无源码情况下动态调试混淆的java程序

    一旦添加成功,则点击Finish。


    5.以字节码可视化的方式打开jar包

    在Pakcet Explorer选项卡里,展开工程相关libraries,找到你的jar文件。右键点击哪些你想调试的类,选择Open with Bytecode Visualizer。

    无源码情况下动态调试混淆的java程序


    6.设置断点

    现在java 字节码已经可视化,现在双击设置断点到你想调试的函数位置

    无源码情况下动态调试混淆的java程序


    7.开始动态调试java字节码

    无源码情况下动态调试混淆的java程序

无源码情况下动态调试混淆的java程序