安卓反編譯出來的代碼如何修改重新生成APK?
如果要修改源代碼,首先要拿到源代碼。
如果你能我不明白,你不明白。;對于iOS來說就不用考慮了(反編譯就是可以得到二進制文件,有興趣可以嘗試修改二進制文件)。你可以不要修改它。
對于Android來說,可以將apk反編譯回代碼,但是Android開發者通常會在發布前采取一些反反編譯措施(比如代碼混淆),所以你得到的代碼可讀性可想而知……
反編譯修改這種行為很可能構成侵權。請尊重每一位開發者,無論是出于學習目的還是其他目的。
為什么有些apk反編譯后閃退?
這種情況的可能原因:
1.可能的操作問題。您可以重啟手機或電腦。
2.可能是沒有足夠的內存來接收新信息。軟件可以用來清理垃圾,釋放內存。
3.可能是下載的軟件損壞了。原來的軟件可以卸載,然后下載并重新安裝。
4.也許日期或時間是錯誤的。你可以檢查一下日期和時間,看看是否正確。如果日期和時間不正確,將導致網絡錯誤。
5.也有可能是軟件服務器有問題,只需要一段時間就能恢復。
apk反編譯后smali文件怎么查看?
1.首先,你得下載SublimeText2。安裝后,需要為其安裝一個插件包。3.點擊立即安裝按鈕進入,然后復制相應版本下的代碼。4.打開SublimeText,按快捷鍵ctrl~,或者打開菜單欄視圖,點擊隱藏控制臺,顯示控制臺。將步驟3中復制的代碼粘貼到控制欄中,按Enter確認,然后重新打開SublimeText5,打開SublimeText。我們可以看到在Preferenc:安裝包"在彈出的框中,會彈出一個提示,然后直接輸入smali7。當你找到它,點擊線"斯馬利"直接,就安裝好了,幾分鐘就好了。可以隨意打開反編譯apk文件中的Smali文件,自帶亮點!
如何使用apktool.jar進行反編譯?
1.下載反編譯工具需要下載四個工具:dex2Jar,JD-GUI,apktool,apktool-Install-Windows-R05-ibotdex2Jar:將APK的文件轉換成jar文件。JD-GUI:反編譯工具,可以直接查看Jar包的源代碼。Apktool:反編譯工具,在apk中反編譯XML文件可以直接查看。Apk工具-安裝-windows-r05-ibot:輔助windows批處理工具。
2.解壓apk包apk文件也是常見的zip,常用的壓縮軟件可以輕松解壓APK文件。用壓縮軟件將apk文件中的文件解壓到一個文件夾中,APK的資源有XML文件和文件,用java文件編譯,用dx工具打包。
3.反編譯dex文件,解壓apk文件后,你會發現res目錄下的圖片并沒有加密,而是把java源代碼編譯成了一個文件,這是普通反編譯class文件無法處理的。dex2jar可以將dex文件轉換成普通的jar包。將下載的dex2jar解壓,將解壓后的文件夾放入系統盤和目錄中,并將此目錄添加到系統path變量中,這樣就可以直接使用或者轉換dex文件了。DOS行命令如下:(xx是文件所在的路徑)。你會得到同一個目錄下的常用jar包:classes_dex2jar.jar,所以你可以通過處理常用jar包來反編譯這個jar包得到原始文件。
4.反編譯jar包得到jar包后,下載你喜歡的反編譯工具。推薦使用JD-GUI。它有一個相對簡單的圖形界面,反編譯單個類文件或jar包很方便。打開壓縮文件JD-GUI,運行jd-gui.exe,打開上面生成的jar包查看源代碼。
5.反編譯xml文件并打開解壓縮的reslayout目錄。有許多xml文件。如果你想看看作者是怎么設計界面的,你會失望的,因為你看到的是一大堆!這個時候我們需要的是apktool。具體操作方法:將下載的apktool和apktool-install-Windows-R05-ibot解壓到同一個文件夾中,其中包含三個文件:aapt.exe,apktool.jar將此文件夾放在系統盤的根目錄下,并將此目錄添加到path變量中。以HelloWord.apk為例:輸入:apktoolDxxHelloWord。在DOS命令行apkhelloword獲取helloword文件夾,而這個文件夾中的xml文件就是可以正常查看的編譯文件。這樣就獲得了可以編譯的源代碼和XML資源。注意:文件的路徑中最好不要出現中文!