python解析AndroidManifest.xml文件


  在寫分析報告的時候需要貼上apk的權限,手動一個一個粘貼上去感覺很麻煩,於是自己寫了個腳本自動獲取權限,同時能給出相應的中文說明。不廢話了,先來介紹python的幾個函數:

  1、Python 去除字符串空格的函數為:strip()去除兩邊空格,lstrip()去除左邊空格,rstrip()去除右邊空格。    

# 例去除字符串左右空格
a = ' Python '
a = a.strip()        # 去除空格后保存變量
print a        # 輸出變量a
>> Python

  2、startswith()函數判斷文本是否以某個字符開始,endswith()函數判斷文本是否以某個字符結束。

  3、字符串查找:變量.find("要查找的內容"[,開始位置,結束位置]),開始位置和結束位置,表示要查找的范圍,為空則表示查找所有。查找到后會返回位置,位置從0開始算,如果沒找到則返回-1。在python中-1被認為是True,切記!

str = 'a,hello'
print str.find('hello')    # 在字符串str里查找字符串hello
>> 2            # 輸出結果

  本文主要用到find函數。通過查找“uses-permission”來定位權限描述所在的位置,然后通過列表的“:”操作符來截取權限信息。具體代碼如下:  

 1 #-*-coding:utf-8-*-
 2 
 3 ''' uses-permission Array '''
 4 usesPermissionArray = []
 5 ''' sdk version '''
 6 sdkVersion = ''
 7 ''' localesArray '''
 8 localesArray = []
 9 ''' icon file name '''
10 #iconFileArray = []
11 
12 f = open(r"C:\Users\***\Desktop\AndroidManifest.xml", "r+")
13 xmlinfo = f.readlines()
14 
15 for line in xmlinfo:
16     if line.find('uses-permission') > -1 :
17         usesPermissionArray.append(line[line.find('"')+1:line.rfind('"')])
18     elif line.find('sdkVersion:') > -1 :
19         sdkVersion = line[line.find('"')+1:line.rfind('"')] #get sdkVersion
20     elif line.find('locales:') > -1 :
21         localesArray = line[line.find(':')+2:].split(' ')
22 print usesPermissionArray

 這是我以前寫的博客,后來發現github上有更全面的方法:https://github.com/antitree/AxmlParserPY


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM