如何應用安卓APK文件進行解包打包和修改
如何應用安卓APK文件進行解包打包和修改
不需要解包跟打包,直接修改就可以,修改的的方法。
如下參考:
1.將需要修改的apk包**到100apktool的路徑中。
注意:您需要將文件名更改為123apk,如下圖。
2.打開程序apktool。cmd,如下圖。
3.顯示主界面有詳細說明。我們只需要解壓和壓縮,如下圖。
4.輸入1并按回車,首先解壓縮,然后在當前路徑下生成APK文件跟蹤文件夾,如下圖所示。
5.在APK文件夾中輸入specialzhidao,修改內容。添加資源文件(圖像),如下圖。
6.輸入3并按回車進行封裝和數(shù)字簽名,如下圖。
7.如果返回到Apktools/Apk/build路徑,您將看到簽名的通用Apk包,如下圖。
[轉載]新手必學:如何解包apk得到里面的源代碼!
準備的工具除了jdk還有以下內容(在Google官網都有):把apktool-install-windows-2.1_r01-1.zip,dex2jar-0.0.7-SNAPSHOT.zip解壓到一個盤的根目錄下(這里我選擇H盤),同時把AXMLPrinter2.jar,apktool.jar和你想解包的apk軟件也放在同一個目錄下,然后“運行–cmd”打開控制臺,輸入cd /d h : /進入H盤的根目錄然后輸入以下內容(控制臺不要關,為了后面方便):其中apktool.jar是解包工具,d表示解包,memo.apk是我要解包的軟件,memo表示解包后輸出到這個文件夾,等待片刻,就會生成memo文件夾,打開里面會有res文件夾下的所有文件和AndroidManifest.xml,用記事本就可以查看了。
如何修改apk文件?
如何修改apk文件[apk文件修改、圖標、美化、去廣告]完全教程一、首先搭建jdk環(huán)境。下載完后,點擊安裝。
然后設置運行環(huán)境參數(shù):用鼠標右擊“我的電腦”->屬性->高級->環(huán)境變量系統(tǒng)變量->新建->變量名:JAVA_HOME 變量值:D:\\Program Files\\Java\\jdk1.7.0(這是我的安裝路徑這個不是固定的,比如你安裝到C:\\Program Files,就填C:\\Program Files\\Java\\jdk1.7.0)系統(tǒng)變量->編輯->變量名:Path 在變量值的最前面加上:%JAVA_HOME%\\bin;(若已經有Path項,無須另外新建,直接在后面加,但需用;與前面已有的項分隔開)系統(tǒng)變量->新建->變量名:CLASSPATH 變量值:.;%JAVA_HOME%\\lib;%JAVA_HOME%\\lib\\dt.jar;%JAVA_HOME%\\lib\\tools.jar;**測試下環(huán)境變量是否設置成功點開始菜單-運行-在這里輸入cmd-回車-輸入javac1.如果出現(xiàn)如下信息:用法:javac 其中,可能的選項包括:-g 生成所有調試信息-g百科:none 不生成任何調試信息-g:{lines,vars,source} 只生成某些調試信息-nowarn 不生成任何警告-verbose 輸出有關編譯器正在執(zhí)行的操作的消息-deprecation 輸出使用已過時的 API 的源位置-classpath 指定查找用戶類文件的位置-cp 指定查找用戶類文件的位置-sourcepath 指定查找輸入源文件的位置-bootclasspath 覆蓋引導類文件的位置-extdirs 覆蓋安裝的擴展目錄的位置-endorseddirs 覆蓋簽名的標準路徑的位置-d 指定存放生成的類文件的位置-encoding 指定源文件使用的字符編碼-source 提供與指定版本的源兼容性-target 生成特定 VM 版本的類文件-version 版本信息-help 輸出標準選項的提要-X 輸出非標準選項的提要-J 直接將 傳遞給運行時系統(tǒng)恭喜,你的Java環(huán)境變量配置成功了!2.如果出現(xiàn):\’javac\’ 不是內部或外部命令,也不是可運行的程序或批處理文件。
說明這Java環(huán)境變量配置出錯了,仔細檢查下吧!二、下載APKTools工具包(里面包含:APKTools反編譯工具、APKSign簽名工具)。下載Notepad代碼編輯器(可以修改**ali和xml文件)。在修改之前首先對APK文件內部結構有個了解:AndroidManifest.xml 程序全局配置文件classes.dex 這是Dalvik字節(jié)碼resources.arsc 編譯后的二進制資源文件META-INF\\ 該目錄下存放的是簽名信息res\\ 該目錄存放資源文件assets\\ 該目錄可以存放一些配置文件對應這些文件和目錄做些基本的注釋和介紹:AndroidManifest.xml該文件是每個應用程序都必須定義和包含的文件,它描述了應用程序的名字、版本、權限、引用的庫文件等等信息。需要解包后才能加以閱讀。
classes.dex文件 classes.dex是java源碼編譯后生成的java字節(jié)碼文件。dex是Dalvik VM executes的全稱,即Android Dalvik執(zhí)行程序,并非Java ME的字節(jié)碼而是Dalvik字節(jié)碼。resources.arsc 編譯后的二進制資源文件。
META-INF目錄 META-INF目錄下存放的是簽名信息,用來保證apk包的完整性和系統(tǒng)的安全。在eclipse編譯生成一個apk包時,會對所有要打包的文件做一個校驗計算,并把計算結果放在META-INF目錄下。這就保證了apk包里的文件不能被隨意替換。
比如拿到一個apk包后,如果想要替換里面的一幅圖片,一段代碼, 或一段版權信息,想直接解壓縮、替換再重新打包,基本是不可能的。如此一來就給**感染和惡意修改增加了難度,有助于保護系統(tǒng)的安全。res目錄 res目錄存放資源文件。
包括圖片,字符串等等。解包后,幾乎所有可能的修改和編輯工作基本都在這里。assets目錄assets目錄可以存放一些配置文件,這些文件的內容在程序運行過程中可以通過相關的API獲得。APK文件修改,首先要對APK文件解包(也就是反編譯),打開apktool.exe,如圖:左邊APK反編譯區(qū),選擇APK文件,選擇文件保存目錄,點反編譯APK按鈕,得到解包文件。
三、開始修改1. 如果只是對圖像進行替換,沒有必要進行解包和打包。用WinRAR打開APK文件,直接做替換就可以了。但是,如果要對文字和其它非圖像類內容進行修改,那只能通過解包了,改好后,再編譯回來,**簽名才能放進手機安裝。下面介紹幾個對APK進行解包和打包的案例。
2. **APK軟件在res文件夾中,我們可以看到有很多values-***的文件夾,這就是語言包。values是英文語言包,values-zh是**地區(qū)語言包(包含港澳臺及內地),values-zh-rCN是中文簡體語言包(只包含內地),values-zh-rTW是中文繁體語言包(港澳臺)。除此以外,其它地區(qū)的語言包都是精簡的對象,可以不過多了解。在values文件夾里,通常有arrays.xml、strings.xml等語言文件,要作**就要對這些文件進行修改。
有時也需要修改其它xml文件,一個一個地認真查看。改好后,打包,簽名,OK。3. 修改桌面圖標名稱(標簽)每一個APK文件都有一個“圖標標簽”。
將APK程序安裝進手機后,在圖標下面顯示圖標標簽文字。這個圖標標簽的內容是可以修改的。在\\res\\values下找到strings.xml,修改其中的一行:圖標標簽例如:靜音啟動同理,如果是窗口小插件,要修改widget_name。
注意:system/app下的apk不宜修改,因為要同時修改對應的odex文件。改好后,打包,簽名,OK。4. 去掉APK中的廣告有很多APK應用都帶有廣告。為了去掉程序中的廣告,要修改main.xml文件與廣告有關的內容。
在\\res目錄下找到文件main.xml。通常在\\layout目錄下,有時也被放在其它目錄下。甚至,有時不存在main.xml文件,廣告行被放在其它xml文件內。
只能細心逐個文件進行查找。無論哪一種情況,查看其內容,你會看到有一項類似的命令如下。這就是廣告顯示。 將其改為: 可以看到,關鍵是要把fill_parent改為0.0dip,把wrap_content改為0.0dip,其它保持不變即可。
這種改法就是不給廣告顯示空間,當然你就看不到廣告了。改好后,打包,簽名,OK。5. 修改顯示電池為1%精度舉個例子比如在摩托羅拉XT502上,默認顯示只有7檔: 0%,10%,20%,40%,60%,80% 和****。
通過修改framework-res.apk,可以改變顯示精度。但是在一些手機上,實踐證明**可能達?。
apktool 反編譯apk后怎么使用
1.下載反編譯工具 需要下載四個工具:dex2jar、JD-GUI、apktool、apktool-install-windows-r05-ibot dex2jar:將apk中的classes.dex轉化成Jar文件。 JD-GUI:反編譯工具,可以直接查看Jar包的源代碼。
apktool:反編譯工具,通過反編譯APK中XML文件,直接可以查看。
apktool-install-windows-r05-ibot:輔助windows批處理工具。2.解壓縮APK包 apk文件也是一種常見的zip,常用的壓縮軟件就可輕松地解壓apk文件。用壓縮軟件將apk文件中的文件解壓到一個文件夾中,得到APK中的資源包括XML文件和classes.dex文件,classes.dex就是java文件編譯再通過dx工具打包而成的。3.反編譯dex文件 解壓apk文件后,你會發(fā)現(xiàn)res目錄的圖片沒有加密,但java源碼編譯成了一個classes.dex文件,無法用普通的反編譯class文件的方法來處理,dex2jar可以將dex文件轉換成普通的jar包。
解壓下載的dex2jar,把解壓后的文件夾放到系統(tǒng)盤跟目錄中并把這個目錄加到系統(tǒng)path變量中,就可以直接用:dex2jar.bat或dex2jar.sh轉換dex文件了。 DOS行命令如下:dex2jar.bat xx\\classes.dex(xx是classes.dex文件所在的路徑)。 將在同目錄得到普通jar包:classes_dex2jar.jar,就可以用處理普通jar包的方法來反編譯這個jar包得到原文件。
4.反編譯jar包 得到jar包后,下載自已喜歡的反編譯工具,推薦使用JD-GUI,有比較簡單的圖形界面,可以反編譯單個class文件,也可以反編譯jar包,比較方便。 打開壓縮文件JD-GUI,運行jd-gui.exe,打開上面生成的jar包,即可看到源代碼了。5.反編譯xml文件 打開解壓的res\\layout目錄,有很多xml文件,如果你想看下作者是如何設計界面的,你會很失望,因為你看到的是一大堆亂碼!這個時候我們需要用到的是apktool。
具體操作方法:將下載的apktool和apktool-install-windows-r05-ibot兩個包解壓到同一個文件夾下,這個文件夾有三個文件:aapt.exe,apktool.bat,apktool.jar。把這個文件夾也放到系統(tǒng)盤的根目錄中并把這個目錄加到path變量中。以HelloWord.apk為例: 在DOS命令行中輸入:apktool d xx\\HelloWord.apk HelloWord得到HelloWord文件夾,此文件夾中的xml文件就是編譯好的可以正常查看的文件。
這樣就得到了可以得到編譯的源碼和XML資源。