首先需要反編譯的三個軟體:
apktool:資源文件獲取;
dex2jar:源碼文件獲取;
jd-gui:源碼查看。
1. apk反編譯得到程序的源代碼、資源文件
1.1 apktool解壓得到3個文件:aapt.exe,apktool.bat,apktool.jar ,現在用weixin做實驗(這里僅是示範作用),將需要反編譯的weixin_800.apk文件放到該目錄下,打開命令行界面(運行-CMD),定位到apktool文件夾,輸入以下命令:apktool d [-s] -f weixin_800.apk -o weixin; 其中weixin_800.apk是要反編譯的apk文件名,weixin是反編譯後存放的目錄文件,此文件不需要新建,反編譯後會自動生成
1.2 打開weixin文件夾,res就是要找的資源文件,目錄結構和平時建的項目很像。
1.3 這時候打開D:apktoolweixin
esanim下a.xml看下,xml文件輕而易舉的獲取了
2. Apk反編譯得到java源代碼
2.1 解壓dex2jar和jd-gui文件;將要反編譯的APK後綴名改為.zip,並解壓,得到其中的classes.dex文件,將獲取到的classes.dex放到之前解壓出來的工具dex2jar-0.0.9.15文件夾內
2.2 在命令行下定位到dex2jar.bat所在目錄,輸入dex2jar.bat classes.dex
2.3 這個時候會發現dex2jar-0.0.9.15文件夾多了一個classes_dex2jar.jar文件
2.4 現在就可以用工具jd-gui.exe打開這個jar了
2.5 通過反編譯,可以知道別人用到了哪些庫文件,它的代碼大體是如何編寫的等等。有了思路就可以自己嘗試了。
② 誰做過反編譯提取unity資源的啊,問個問題
可以,80%以上的Unity游戲都根本沒做代碼混淆和資源加密,簡直都對不起反編譯三個字。直接拿來用就可以。
工具的話,看代碼用reflector。
資源就是打好包的assetbundle,直接用就好了
③ 如何從apk反編譯文件找到伺服器網站
使用工具包中的android-reverse-trinea\apktool-1.5.2-windows或下載最新的apktool(需同時下載apktool及對應平台的依賴包,解壓後將平台依賴包中的apktool.jar復制到apktool目錄下),在命令行運行:
apktool.batd-fxxx.apk xxx
其中d表示解包,xxx.apk為待反編譯apk路徑,xxx為目標文件夾名,(apktool不支持中文目錄),結果會再apktool.bat所在目錄下生成weixin文件夾,現在就可以正確的查看xml資源(包括res下的所有資源,如圖片、drawable、layout、value、menu等等)了,比如AndroidManifest.xml
④ apk文件反編譯後找不到可漢化的文本資源內容,請問現在的這些內容都存在於哪些位置和文件里了
估計是被加密到smali文件裡面去了,轉了好幾個進制,應該是這樣,我也在鑽研這個問題
⑤ android反編譯後代碼中的資源全是數字,又找不到R.java怎麼辦
這串數字是資源的ID。不是名稱。
⑥ 如何反編譯android的apk文件得到資源文件
那要看你反編譯的程度了。
apk反編譯有兩部分,一部分是res等xml資源文件。
用android 的apktool就可以了。
這些xml文件都可以在eclipse中直接打開。
dex文件(源代碼)需要使用dex2jar工具轉化成jar文件。
jar文件可以在eclipse查看其結構。
⑦ 怎麼查看assetbundle文件反編譯
Unity會下載Assetbundle本地中,它的工作原理是先通過(版本號和下載地址)先在本地去找看有沒有這個Assetbundle,如果有直接返回對象,如果沒有的話,在根據這個下載地址重新從伺服器或者本地下載。這里版本號起到了很重要的作用,舉個例子,同一下載地址版本號為1的時候已經下載到本地,此時將版本號的參數改成2 那麼它又會重新下載,如果還保持版本號為1那麼它會從本地讀取,因為本地已經有版本號為1的這個Assetbundle了。你不用擔心你的資源本地下載過多,也不用自己手動刪除他們,這一切的一切Unity會幫我們自動完成,它會自動刪除掉下載後最不常用的Assetbundle ,如果下次需要使用的話只要提供下載地址和版本後它會重新下載。
我們在聊聊Assetbundle 中的腳本,在移動平台下Assetbundle裡面放的腳本是不會被執行的,還記得我們打包前給兩個Prefab掛上了腳本嗎?在手機上將Assetbundle下載到本地後,載入進游戲中Prefab會自動在本地找它身上掛著的腳本,他是根據腳本的名來尋找,如果本地有這條腳本的話,Prefab會把這個腳本重新綁定在自身,並且會把打包前的參數傳遞進來。如果本地沒有,身上掛的條腳本永遠都不會被執行。
在Prefab打包前,我在編輯器上給腳本中的變數 name 賦了不同值,當Prefab重新載入游戲的時候,它身上腳本的參數也會重新輸出。
如果你的Assetbundle中的Prefab上引用的對象,那麼這樣做就會出錯了,你需要設定他們的依賴關系。或者運行時通過腳本動態的載入對象。
⑧ 救急!如何反編譯或者查看.exe的資源
反編譯的話動態跟蹤就用OLLYDBG這個軟體,只不過沒有很強的匯編功底和CRACK功底是絕對看不懂的…………
⑨ 如何從apk裡面提取全部圖片資源,包括人物動作特效等
有些APK程序里的圖標、圖片很漂亮,在使用程序時你可能會想,如果能把這些漂亮的圖標、圖片提取出來就好了,其實這是可以辦到的,提取方式:
解壓APK文件
APK程序其實就是個ZIP壓縮包,想提取其中的資源就得先用解壓縮軟體將其打開,如圖我們在APK安裝包上右鍵、打開方式、選擇壓縮軟體,我這里選擇的是RAR,如果你安裝的是其它的解壓縮軟體,選擇它即可。如果你以前沒有用壓縮軟體打開過APK文件,可以點擊選擇默認程序然後找到解壓縮軟體進行打開。
用解壓縮軟體打開APK程序後,如圖裡面有幾個文件夾,我們拖出「res」這個文件,一般APK程序的圖片資源都在這個文件中。
把「res」文件夾解壓後我們打開可以看到裡面的幾個文件夾一般程序圖標等圖片都在「drawable-hdpi」這個文件夾,打開看看,是不是有自己需要的東西,如果沒有再到其它的幾個文件夾中查找一下。APK文件里的圖片都是png格式的,可直接查看。
反編譯查找資源,程序製作時把它們編譯到了「resources.arsc」文件里我們想提取的話把APK文件進行反編譯就可以了。
關於人物動作特效,通常是由多張圖片,通過代碼去控制的,只要你得到了所有圖片,你就可以重組了