因此,我使用NIST提供的數據庫爲Android手機檢測惡意應用程序。主要來源/數據庫正在尋找這樣的:Android - 獲取安裝的應用程序簽名列表
"SHA-1","MD5","CRC32","FileName","FileSize","ProductCode","OpSystemCode","SpecialCode"
"0000000F8527DCCAB6642252BBCFA1B8072D33EE","68CE322D8A896B6E4E7E3F18339EC85C","E39149E4","Blended_Coolers_Vanilla_NL.png",30439,28948,"358",""
"00000091728653B7D55DF30BFAFE86C52F2F4A59","81AE5D302A0E6D33182CB69ED791181C","5594C3B0","ic_menu_notifications.png",366,31287,"358",""
"0000065F1900120613745CC5E25A57C84624DC2B","AEB7C147EF7B7CEE91807B500A378BA4","24400952","points_program_fragment.xml",1684,31743,"358",""
正如你所看到的第一列是特定應用的SHA1哈希碼。我的最終目標是讓獲取所有已安裝的應用程序簽名,即SHA1哈希碼,以便將它們與數據庫進行比較,並查看哪些應用程序有害。
我花了一些時間瀏覽網絡。我想出了我自己的應用程序的解決方案: https://gist.github.com/scottyab/b849701972d57cf9562e 但是,這返回只有您的應用程序SHA1哈希碼。
例如,通過這種方式,我可以得到所有的應用程序包名稱:
List<ApplicationInfo> packages = pm.getInstalledApplications(PackageManager.GET_META_DATA);
也許有可能獲得的所有安裝的應用程序簽名?讓我知道。
「我的最終目標是獲取所有安裝的應用程序簽名,即SHA1哈希碼」--NIST數據庫中的值不是「簽名」。根據[NIST文檔](https://www.nist.gov/software-quality-group/nsrl-introduction),它們是「文件內容的密碼哈希值(MD5和SHA-1)」。 「我爲自己的應用程序提出瞭解決方案」 - 該代碼爲公共簽名密鑰生成SHA-1哈希,而不是應用程序的SHA-1哈希。 – CommonsWare
感謝您的解釋。那麼是否有可能將文件內容導入SHA1哈希碼並將其與NIST數據庫進行比較? – Locky