安裝Java jdk後
看安裝目錄里有沒有jad.exe,沒有要下載,一般都有的
配置Java環境變數
開始-運行-cmd-回車-進入命令行窗口:
cd+空格+class文件所在路徑:
按下面的命令進行反編譯:
例如:[2] jad -sjava example.class 回車
在目錄里可以看到example.java源文件
[1] 反編譯一個class文件:jad example.class,會生成example.jad,用文本編輯器打開就是java源代碼
[2] 指定生成源代碼的後綴名:jad -sjava example.class,生成example.java
[3] 改變生成的源代碼的名稱,可以先使用-p將反編譯後的源代碼輸出到控制台窗口,然後使用重定向,輸出到文件:jad -p example.class > myexample.java
[4] 把源代碼文件輸出到指定的目錄:jad -dnewdir -sjava example.class,在newdir目錄下生成example.java
[5] 把packages目錄下的class文件全部反編譯:jad -sjava packages/*.class
[6] 把packages目錄以及子目錄下的文件全部反編譯:jad -sjava packages/**/*.class,不過你仍然會發現所有的源代碼文件被放到了同一個文件中,沒有按照class文件的包路徑建立起路徑
[7] 把packages目錄以及子目錄下的文件全部反編譯並建立和java包一致的文件夾路徑,可以使用-r命令:jad -r -sjava packages/**/*.class
[8] 當重復使用命令反編譯時,Jad會提示「whether you want to overwrite it or not」,使用-o可以強制覆蓋舊文件
[9] 還有其他的參數可以設置生成的源代碼的格式,可以輸入jad命令查看幫助,這里有個人做了簡單的翻譯:jad命令總結
[10] 當然,你會發現有些源文件頭部有些注釋信息,不用找了,jad沒有參數可以去掉它,用別的辦法吧。
2. exe的安裝包,如何反編譯查看代碼
1、首先新建一個android項目,裡面只有一個mainactivity,而且主界面只會顯示一個字元串:你好。
2、下面,切換到這個項目生成的apk文件所在的目錄,可以看到有一個hellodemo.apk。
3、在命令行輸入:apktool
d
-r
hellodemo.apk。可以看到在當前目錄下生成了一個hellodemo文件夾。
4、進入到hellodemo\smali\com\example\hello,打開mainactivity.smali。找到:
const-string
v1,
"\u4f60\u597d",
修改為:
const-string
v1,
"hello",
5、然後在命令行輸入:apktool
b
hellodemo
hellodemo1.apk。這回重新打包成hellodemo1.apk。
6、然後給新生成的apk進行簽名。把這個apk拷貝到autosign的目錄下面,然後切換過去,在命令行輸入:java
-jar
signapk.jar
testkey.x509.pem
testkey.pk8
hellodemo1.apk
hellodemo.apk。
7、把生成的hellodemo.apk安裝到手機,可以看到主界面上已經顯示的是hello,而不再是你好。說明反編譯重新打包成功!
3. android反編譯怎麼修改游戲道具
需要的工具
jdk:必須的
baksmali:classes.dex反編譯為smali格式(文本文件,可修改)
smali:smali格式編譯打包為classes.dex
但由於smali格式類似匯編,比較難閱讀,所以用dex2jar進行輔助
dex2jar:classes.dex轉為jar包
jdgui:jar反編譯並閱讀
以上工具可以在 http://liye111111.ys168.com/ 下載
好了,順序就是把apk用zip解開,裡面的classes.dex分別用baksmali處理為smali,用dex2jar處理成jar,然後用jdgui看代碼,找好java文件中要改的位置後,在smali里找對應的位置修改,改完了用smali再編譯為classes.dex,覆蓋原來apk里的同名文件,最後重新簽名。注意安裝時要先刪除原來手機里的版本,因為簽名不同了,我第一次再這里卡了好久。
以「捕魚達人海底撈」為例
下載這個游戲的apk,fishing_joy_1.apk,和工具放在一起
用zip解開fishing_joy_1.apk
classes.dex到baksmali的同一目錄
用baksmali處理為smali
java -jar baksmali-1.2.6.jar -x classes.dex
得到out目錄,裡面是smali文件
用dex2jar處理classes.dex為jar包
dex2jar-0.0.7.10-SNAPSHOT\dex2jar.bat classes.dex
得到classes.dex.dex2jar.jar
這時我們的工作目錄下面是這樣
用jdgui打開classes.dex.dex2jar.jar
好了,可以看代碼,但還不能直接修改,需要對比著來修改smali文件
比如我們通過對比找到控制魚被打到幾率的代碼在FishLayer.smali
Java代碼
4. 電腦上的.EXE電子書怎麼反編輯
miniKillEBook可以到網路搜索下載,Q:miniKillEBook是什麼?A:這是一個專門針對基於IE內核電子書的反編譯軟體,可以在不知道電子書具體文件格式的情況下,反編譯電子書的內容。但是內部對功能進行了限制,只能反編譯HTML內容,不能反編譯電子書中的圖片、動畫、css、js、音樂等文件。反編譯結果可以是原始的HTML文件,也可以直接存為文本文件,方便轉換成PDA、手機電子書格式。如果確實需要反編譯動畫、css、js、音樂等,可以到我的網站上看我寫的《用JavaScript獲取網頁中的js、css、Flash等文件》。相關鏈接: http://nighteye74.googlepages.com/miniKillEBook.rar