无源码情况下动态调试混淆的java程序
? ? 逆向工程JAVA通常是非常簡單的,因?yàn)閮?yōu)秀的JAVA二進(jìn)制反編譯器已經(jīng)存在多年。類似于jd-gui工具和恢復(fù)java二進(jìn)制文件源代碼功能也做的非常出色的。在這種情況下我們需要?jiǎng)討B(tài)調(diào)試java反編譯java程序的情況下,可以從反編譯導(dǎo)出然后導(dǎo)入java IDE如Eclipse作為一個(gè)新的java項(xiàng)目的一部分,然后通過IDE動(dòng)態(tài)調(diào)試它,然而,這一切都基于沒有混淆java字節(jié)碼,因?yàn)榇蠖鄶?shù)java ide不會編譯原jvm指令,也不會允許在沒有源碼的情況下一步一步運(yùn)行這些指令。
? ? 要解決這個(gè)問題最好的方式是能以圖形化的方式去調(diào)試java字節(jié)碼,接下來我們將一步一步來演示如何搭建java調(diào)試環(huán)境。
? ??
????1.安裝java jdk
? ? 在我之前的文章有講,不清楚的朋友可以看這里?
? ? 2.安裝Eclipse
? ? 安裝Eclipse一定要記住一點(diǎn),下載的版本一定要注意插件支持的版本,不然會安裝失敗,這里我們安裝keplersr1的java版本,具體在這里
? ? 3.安裝插件
? ? 運(yùn)行Eclipse菜單help->Eclipse Marketplace,然后在搜索欄輸入"Dr.Garbage",點(diǎn)擊GO
????
????4. 導(dǎo)入即將要分析的jar包
? ? 一旦Eclipse工程重啟,點(diǎn)擊菜單FILE->New->Java Project,創(chuàng)建你自己所屬工程
????
? ? 在java屬性窗口,點(diǎn)擊Libraries選項(xiàng)卡, 點(diǎn)擊Add External JARs按鈕,選擇一個(gè)你想調(diào)試的jar包,添加到j(luò)ava工程編譯路徑里面,如下圖:
????
? ? 一旦添加成功,則點(diǎn)擊Finish。
? ? 5.以字節(jié)碼可視化的方式打開jar包
? ? 在Pakcet Explorer選項(xiàng)卡里,展開工程相關(guān)libraries,找到你的jar文件。右鍵點(diǎn)擊哪些你想調(diào)試的類,選擇Open with Bytecode Visualizer。
????
? ? 6.設(shè)置斷點(diǎn)
? ? 現(xiàn)在java 字節(jié)碼已經(jīng)可視化,現(xiàn)在雙擊設(shè)置斷點(diǎn)到你想調(diào)試的函數(shù)位置
????
? ? 7.開始動(dòng)態(tài)調(diào)試java字節(jié)碼
? ??
總結(jié)
以上是生活随笔為你收集整理的无源码情况下动态调试混淆的java程序的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CRC32算法实现
- 下一篇: Guice之Servlet基础