新四季網

安卓應用程式安裝包的信息獲取方法和裝置製造方法

2023-08-01 03:46:46 1

安卓應用程式安裝包的信息獲取方法和裝置製造方法
【專利摘要】本發明提供了一種安卓應用程式安裝包的信息獲取方法和裝置。所述方法包括:反編譯安卓應用程式安裝包得到相應的布局文件和字節碼文件;通過設置屏幕控制項從所述字節碼文件得到相應的編碼;根據所述編碼在所述布局文件中查找得到對應的控制項名稱。所述裝置包括:反編譯模塊,用於反編譯安卓應用程式安裝包得到相應的布局文件和字節碼文件;編碼獲取模塊,用於通過設置屏幕控制項從所述字節碼文件得到相應的編碼;查找模塊,用於根據所述編碼在所述布局文件中查找得到對應的控制項名稱。採用本發明能在無原始碼的情況下獲取控制項信息。
【專利說明】安卓應用程式安裝包的信息獲取方法和裝置
【技術領域】
[0001]本發明涉及行動裝置應用技術,特別是涉及一種安卓應用程式安裝包的信息獲取方法和裝置。
【背景技術】
[0002]隨著行動裝置的發展,行動裝置的性能越來越優越,在採用了安卓系統的行動裝置中,各種安卓應用程式安裝包被安裝於其中,以滿足用戶需求。
[0003]在眾多的安卓應用程式安裝包中,對某一安卓應用程式安裝包進行反編譯的可能性是非常高的,通過對安卓應用程式安裝包的反編譯等處理來獲取所需要的信息。然而,僅僅通過反編譯安卓應用程式安裝包所得到的布局文件是無法獲知控制項的信息的,難以實現無原始碼情況下也能獲取安卓應用程式安裝包中控制項的信息。

【發明內容】

[0004]基於此,提供一種能在無原始碼的情況下獲取控制項信息的安卓應用程式安裝包的息獲取方法。
[0005]此外,還有必要提供一種能在無原始碼的情況下獲取控制項信息的安卓應用程式安裝包的信息獲取裝置。
[0006]一種安卓應用程式安裝包的信息獲取方法,包括如下步驟:
[0007]反編譯安卓應用程式安裝包得到相應的布局文件和字節碼文件;
[0008]通過設置屏幕控制項從所述字節碼文件得到相應的編碼;
[0009]根據所述編碼在所述布局文件中查找得到對應的控制項名稱。
[0010]一種安卓應用程式安裝包的信息獲取裝置,包括:
[0011]反編譯模塊,用於反編譯安卓應用程式安裝包得到相應的布局文件和字節碼文件;
[0012]編碼獲取模塊,用於通過設置屏幕控制項從所述字節碼文件得到相應的編碼;
[0013]查找模塊,用於根據所述編碼在所述布局文件中查找得到對應的控制項名稱。
[0014]上述安卓應用程式安裝包的信息獲取方法和裝置,對安卓應用程式安裝包進行反編譯將得到布局文件和字節碼文件,通過設置屏幕控制項從字節碼文件中得到相應的編碼,進而根據該編碼查找得到控制項名稱,實現了在無原始碼的情況下也能夠獲取相應的控制項信息,大大地便得了安卓應用程式安裝包的研發。
【專利附圖】

【附圖說明】
[0015]圖1為一個實施例中安卓應用程式安裝包的信息獲取方法的流程圖;
[0016]圖2為另一個實施例中安卓應用程式安裝包的信息獲取方法的流程圖;
[0017]圖3為一個實施例中安卓應用程式安裝包的信息獲取裝置的結構示意圖;
[0018]圖4為另一個實施例中安卓應用程式安裝包的信息獲取裝置的結構示意圖。【具體實施方式】
[0019]如圖1所示,在一個實施例中,一種安卓應用程式安裝包的信息獲取方法,包括如下步驟:
[0020]步驟S110,反編譯安卓應用程式安裝包得到相應的布局文件和字節碼文件。
[0021]本實施例中,安卓應用程式安裝包用於為行動裝置提供相應的安卓應用程式,以便於為用戶在行動裝置的使用提供各種功能,其中,安卓應用程式安裝包為後綴為apk的文件,簡稱 apk (Android Package, Android 安裝包)。
[0022]對安卓應用程式安裝包進行反編譯,將得到相應的布局文件和若干個字節碼文件,其中,布局文件為XML (extensible Markup Language,可擴展標識語言)文件。
[0023]在一個實施例中,上述步驟SllO的具體過程為:通過命令行運行平臺中運行的命令運行反編譯工具,並通過反編譯工具對安卓應用程式安裝包進行反編譯,得到安卓應用程式安裝包對應的布局文件和字節碼文件。
[0024]本實施例中,命令行運行平臺用於運行命令,以實現相應的功能,其中,命令行運行平臺可以是CMD (co_and)組件,相應的,所運行的命令也將為CMD命令。CMD組件也稱命令提示符窗口,是windows系統所提供的組件,用於實現用戶與windows系統之間的溝通和交流。
[0025]通過在命令行運行平臺中運行相應命令,以定位反編譯工具所在的文件夾,進而利用反編譯命令使得反編譯工具對應安卓應用程式安裝包進行反編譯,其中,反編譯工具可以是ApkTool,對於CMD組件而目,反編譯命令可以是「apktool dl23.apk」,在這一反編譯命令中,apktool為反編譯工具,d為反編譯參數,123.apk為進行反編譯的安卓應用程式安裝包。
[0026]如圖2所示,在一個實施例中,上述步驟SllO之後還包括如下步驟:
[0027]步驟S210,檢查安卓應用程式安裝包是否存放於反編譯工具所在的文件夾,若是,則進入步驟S110,若否,則進入步驟S230。
[0028]本實施例中,反編譯工具所在的文件夾為反編譯工具對安卓應用程式安裝包進行反編譯時的工作文件夾。對反編譯工具所在的文件夾進行檢查,以判斷即將進行反編譯的安卓應用程式安裝包是否存放於反編譯工具所在的文件夾中,若是,則可直接進行反編譯,若即將進行反編譯的安卓應用程式安裝包並未存入於反編譯工具所在的文件夾中,則需要提取安卓應用程式安裝包,並複製到反編譯工具所在的文件夾中。
[0029]步驟S230,提取安卓應用程式安裝包並複製到反編譯工具所在的文件夾中。
[0030]步驟S130,通過設置屏幕控制項從字節碼文件得到相應的編碼。
[0031]本實施例中,設置屏幕控制項,即SetCountView,用於設置圖形界面中布局所使用的資源,字節碼文件中記錄了十六進位編碼所代表的控制項標識,因此,可通過設置屏幕控制項從字節碼文件中提取得到相應的編碼。
[0032]在一個實施例中,上述步驟S130的具體過程為:開啟字節碼文件,通過安卓應用程式安裝包中活動組件的設置屏幕控制項從開啟的字節碼文件中提取十六進位編碼。
[0033]本實施例中,字節碼文件是對安卓應用程式安裝包中的java文件進行反編譯後得到的,通常為smali文件。獲取安卓應用程式安裝包中任一活動組件,並通過該活動組件中的設置屏幕控制項對字節碼文件進行十六進位編碼的提取。
[0034]步驟S150,根據編碼在布局文件中查找得到對應的控制項名稱。
[0035]本實施例中,由於布局文件和字節碼文件中的格式以及編碼方式各不相同,因此,需要經由通過字節碼文件所得到的編碼在布局文件中進行查找,以得到與提取的編碼相同的控制項標識,進而得到控制項標識所對應的控制項名稱。
[0036]在一個實施例中,上述步驟S150的具體過程為:根據十六進位編碼在布局文件中進行查找,以得到布局文件中控制項標識與十六進位編碼相一致的條目,從查找得到的條目中提取出控制項名稱。
[0037]本實施例中,布局文件中包含了若干個條目,其中,每一條目都將記錄了控制項標識以及該控制項標識所對應的控制項名稱,因此,根據十六進位編碼在布局文件中進行查找,可得到包含了十六進位編碼的條目,進而得到這一十六進位編碼所對應的控制項名稱。
[0038]上述安卓應用程式安裝包的信息獲取方法能夠高效地在較為複雜的文件中分析得到字節碼文件所包含的控制項信息,即控制項標識和控制項名稱,大大的方便了安卓應用程式的反編譯過程。
[0039]如圖3所示,在一個實施例中,一種安卓應用程式安裝包的信息獲取裝置,包括反編譯模塊110、編碼獲取模塊130和查找模塊150。
[0040]反編譯模塊110,用於反編譯安卓應用程式安裝包得到相應的布局文件和字節碼文件。
[0041]本實施例中,安卓應用程式安裝包用於為行動裝置提供相應的安卓應用程式,以便於為用戶在行動裝置的使用提供各種功能,其中,安卓應用程式安裝包為後綴為apk的文件,簡稱apk。
[0042]反編譯模塊110對安卓應用程式安裝包進行反編譯,將得到相應的布局文件和若干個字節碼文件,其中,布局文件為XML文件。
[0043]在一個實施例中,上述反編譯模塊110還用於通過命令行運行平臺中運行的命令運行反編譯工具,並通過反編譯工具對安卓應用程式安裝包進行反編譯,得到安卓應用程式安裝包對應的布局文件和字節碼文件。
[0044]本實施例中,命令行運行平臺用於運行命令,以實現相應的功能,其中,命令行運行平臺可以是CMD組件,相應的,所運行的命令也將為CMD命令。CMD組件也稱命令提示符窗口,是windows系統所提供的組件,用於實現用戶與windows系統之間的溝通和交流。
[0045]反編譯模塊110通過在命令行運行平臺中運行相應命令,以定位反編譯工具所在的文件夾,進而利用反編譯命令使得反編譯工具對應安卓應用程式安裝包進行反編譯,其中,反編譯工具可以是ApkTool,對於CMD組件而目,反編譯命令可以是「apktool dl23.apk」,在這一反編譯命令中,apktool為反編譯工具,d為反編譯參數,123.apk為進行反編譯的安卓應用程式安裝包。
[0046]如圖4所示,在一個實施例中,上述安卓應用程式安裝包的信息獲取裝置還包括檢查模塊210和複製模塊230。
[0047]檢查模塊210,用於檢查安卓應用程式安裝包是否存放於反編譯工具所在的文件夾,若是,則通知反編譯模塊110,若否,則通知複製模塊230。
[0048]本實施例中,反編譯工具所在的文件夾為反編譯工具對安卓應用程式安裝包進行反編譯時的工作文件夾。檢查模塊210對反編譯工具所在的文件夾進行檢查,以判斷即將進行反編譯的安卓應用程式安裝包是否存放於反編譯工具所在的文件夾中,若是,則可通知反編譯模塊110直接進行反編譯,若即將進行反編譯的安卓應用程式安裝包並未存入於反編譯工具所在的文件夾中,則需要通知複製模塊230提取安卓應用程式安裝包,並複製到反編譯工具所在的文件夾中。
[0049]複製模塊230,用於提取安卓應用程式安裝包並複製到反編譯工具所在的文件夾中。
[0050]編碼獲取模塊130,用於通過設置屏幕控制項從字節碼文件得到相應的編碼。
[0051]本實施例中,設置屏幕控制項,即SetCountView,用於設置圖形界面中布局所使用的資源,字節碼文件中記錄了十六進位編碼所代表的控制項標識,因此,編碼獲取模塊130可通過設置屏幕控制項從字節碼文件中提取得到相應的編碼。
[0052]在一個實施例中,上述編碼獲取模塊130還用於開啟字節碼文件,通過安卓應用程式安裝包中活動組件的設置屏幕控制項從開啟的字節碼文件中提取十六進位編碼。
[0053]本實施例中,字節碼文件是對安卓應用程式安裝包中的java文件進行反編譯後得到的,通常為smali文件。編碼獲取模塊130獲取安卓應用程式安裝包中任一活動組件,並通過該活動組件中的設置屏幕控制項對字節碼文件進行十六進位編碼的提取。
[0054]查找模塊150,用於根據編碼在布局文件中查找得到對應的控制項名稱。
[0055]本實施例中,由於布局文件和字節碼文件中的格式以及編碼方式各不相同,因此,查找模塊150需要經由通過字節碼文件所得到的編碼在布局文件中進行查找,以得到與提取的編碼相同的控制項標識,進而得到控制項標識所對應的控制項名稱。
[0056]在一個實施例中,上述查找模塊150還用於根據十六進位編碼在布局文件中進行查找,以得到布局文件中控制項標識與十六進位編碼相一致的條目,從查找得到的條目中提取出控制項名稱。
[0057]本實施例中,布局文件中包含了若干個條目,其中,每一條目都將記錄了控制項標識以及該控制項標識所對應的控制項名稱,因此,查找模塊150根據十六進位編碼在布局文件中進行查找,可得到包含了十六進位編碼的條目,進而得到這一十六進位編碼所對應的控制項名稱。
[0058]上述安卓應用程式安裝包的信息獲取裝置能夠高效地在較為複雜的文件中分析得到字節碼文件所包含的控制項信息,即控制項標識和控制項名稱,大大的方便了安卓應用程式的反編譯過程。
[0059]上述安卓應用程式安裝包的信息獲取方法和裝置,對安卓應用程式安裝包進行反編譯將得到布局文件和字節碼文件,通過設置屏幕控制項從字節碼文件中得到相應的編碼,進而根據該編碼查找得到控制項名稱,實現了在無原始碼的情況下也能夠獲取相應的控制項信息,大大地便得了安卓應用程式安裝包的研發。
[0060]本領域普通技術人員可以理解實現上述實施例方法中的全部或部分流程,是可以通過電腦程式來指令相關的硬體來完成,所述的程序可存儲於一計算機可讀取存儲介質中,該程序在執行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質可為磁碟、光碟、只讀存儲記憶體(Read-Only Memory, ROM)或隨機存儲記憶體(Random AccessMemory, RAM)等。[0061]以上所述實施例僅表達了本發明的幾種實施方式,其描述較為具體和詳細,但並不能因此而理解為對本發明專利範圍的限制。應當指出的是,對於本領域的普通技術人員來說,在不脫離本發明構思的前提下,還可以做出若干變形和改進,這些都屬於本發明的保護範圍。因此,本發明專利的保護範圍應以所附權利要求為準。
【權利要求】
1.一種安卓應用程式安裝包的信息獲取方法,包括如下步驟: 反編譯安卓應用程式安裝包得到相應的布局文件和字節碼文件; 通過設置屏幕控制項從所述字節碼文件得到相應的編碼; 根據所述編碼在所述布局文件中查找得到對應的控制項名稱。
2.根據權利要求1所述的安卓應用程式安裝包的信息獲取方法,其特徵在於,所述反編譯安卓應用程式安裝包得到相應的布局文件和字節碼文件的步驟包括: 通過命令行運行平臺中運行的命令運行反編譯工具,並通過所述反編譯工具對安卓應用程式安裝包進行反編譯,得到所述安卓應用程式安裝包對應的布局文件和字節碼文件。
3.根據權利要求2所述的安卓應用程式安裝包的信息獲取方法,其特徵在於,所述反編譯安卓應用程式安裝包得到相應的布局文件和字節碼文件的步驟之後還包括: 檢查所述安卓應用程式安裝包是否存放於所述反編譯工具所在的文件夾,若是,則進入所述反編譯安卓應用程式安裝包得到相應的布局文件和字節碼文件的步驟,若否,則 提取安卓應用程式安裝包並複製到所述反編譯工具所在的文件夾中。
4.根據權利要求1所述的安卓應用程式安裝包的信息獲取方法,其特徵在於,所述通過所述設置屏幕控制項從所述字節碼文件得到相應的編碼的步驟包括: 開啟所述字節碼文件,通過所述安卓應用程式安裝包中活動組件的設置屏幕控制項從所述開啟的字節碼文件中提取十六進位編碼。
5.根據權利要求4所述的安卓應用程式安裝包的信息獲取方法,其特徵在於,所述根據所述編碼在所述布局文件中查找得到對應的控制項名稱的步驟包括: 根據所述十六進位編碼在所述布局文件中進行查找,以得到布局文件中控制項標識與十六進位編碼相一致的條目,從查找得到的條目中提取出控制項名稱。
6.一種安卓應用程式安裝包的信息獲取裝置,其特徵在於,包括: 反編譯模塊,用於反編譯安卓應用程式安裝包得到相應的布局文件和字節碼文件; 編碼獲取模塊,用於通過設置屏幕控制項從所述字節碼文件得到相應的編碼; 查找模塊,用於根據所述編碼在所述布局文件中查找得到對應的控制項名稱。
7.根據權利要求6所述的安卓應用程式安裝包的信息獲取裝置,其特徵在於,所述反編譯模塊還用於通過命令行運行平臺中運行的命令運行反編譯工具,並通過所述反編譯工具對安卓應用程式安裝包進行反編譯,得到安卓應用程式安裝包對應的布局文件和字節碼文件。
8.根據權利要求7所述的安卓應用程式安裝包的信息獲取裝置,其特徵在於,所述裝置還包括: 檢查模塊,用於檢查所述安卓應用程式安裝包是否存放於所述反編譯工具所在的文件夾,若是,則通知反編譯模塊,若否,則通知複製模塊; 所述複製模塊用於提取安卓應用程式安裝包並複製到所述反編譯工具所在的文件夾中。
9.根據權利要求8所述的安卓應用程式安裝包的信息獲取裝置,其特徵在於,所述編碼獲取模塊還用於開啟所述字節碼文件,通過所述安卓應用程式安裝包中活動組件的設置屏幕控制項從所述開啟的字節碼文件中提取十六進位編碼。
10.根據權利要求9所述的安卓應用程式安裝包的信息獲取裝置,其特徵在於,所述查找模塊還用於根據所述十六進位編碼在所述布局文件中進行查找,以得到布局文件中控制項標識與十六進位編碼相一致的條目, 從查找得到的條目中提取出控制項名稱。
【文檔編號】G06F9/44GK103970514SQ201310032157
【公開日】2014年8月6日 申請日期:2013年1月28日 優先權日:2013年1月28日
【發明者】徐錚 申請人:騰訊科技(深圳)有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀