def extract_info_plist_data(self):
extract_info = self.get_filename_from_ipa('Info')
zip_obj = extract_info['zip_obj']
plist_filename = extract_info['filename']
data = {}
if plist_filename == '':
if self.get_filename_from_ipa('Misnamed_Payload_Check')['filename'] != '':
self.errors.append("Payload folder is misnamed 'payload' (lower-case p). Rename to 'Payload'")
else:
self.errors.append('Info.plist file not found in IPA')
else:
content = zip_obj.read(plist_filename)
if (ParseIPA.xml_rx.match(content)):
data = plistlib.readPlistFromString(content)
else:
self.temp_directory = tempfile.mkdtemp()
zip_obj.extract(plist_filename, self.temp_directory)
fullpath_plist = '%s/%s' % (self.temp_directory, plist_filename)
os_info = os.uname()
if os_info[0] == 'Linux':
cmd = 'plutil -i "%s" -o "%s"' % (fullpath_plist, fullpath_plist)
else:
cmd = 'plutil -convert xml1 "%s"' % (fullpath_plist)
# pprint(cmd)
os.system(cmd)
data = plistlib.readPlist(fullpath_plist)
# end if plist == ''
self.info_plist_data = data
# end extractPlist()
评论列表
文章目录