Reveal分析IOS界面,plist文件读取
Reveal分析IOS界面,需要得到app的 softwareVersionBundleId上传到iphone中 ,
而IOS8的iTunesMetadata.plist
(设备路径/var/mobile/Containers/Bundle/Application)
提取plist文件使用tar命令
1.cd /var/mobile/Containers/Bundle/Application
2. tar -cvf /tmp/test/plist.tar ./*/iTunesMetadata.plist
3 scp plist.tar 到本地
去Downloads里面查找很费劲 ,所以写了个辅助脚本,一次性全部读取出来
主要使用python,实现遍历文件夹获取文件列表,然后读取字段,输出成文件libReveal.plist格式,然后 scp到 设备
/Library/MobileSubstrate/DynamicLibraries目录
python读取plist文件的库 来自https://github.com/wooster/biplist/ 1 path = '/Users/Documents/work/RevealPlist/'
import os,string
libRevealPlist = '''
{
Filter = {
@ReplaceTag
}
}'''
from biplist import *
from datetime import datetime
filterListStr = ''
def gci (path):
global filterListStr
parents = os.listdir(path)
for parent in parents:
child = os.path.join(path,parent)
if os.path.isdir(child):
gci(child)
else:
if parent=="iTunesMetadata.plist":
#print(child)
metadata = readPlist(child)#readPlist(child).get("metadata")
if metadata.get("kind") == "software":
bundleId = metadata.get("softwareVersionBundleId")
#print bundleId
if filterListStr != '':
filterListStr += '\n\t\t'
filterListStr += 'Bundles = ("'+bundleId+'");'
gci(path)
libRevealPlist = libRevealPlist.replace('@ReplaceTag',filterListStr)
print libRevealPlist
Reveal分析IOS界面,plist文件读取的更多相关文章
- IOS学习笔记之获取Plist文件读取数据
@property(nonatomic,strong) NSArray *pic; //创建数组属性 @property(nonatomic,assign) int index; //创建索引属性 @ ...
- [IOS微信] PList文件解析,boost数据读取
最近在解析IOS版微信数据中的 mmsetting.archive 文件时,第一次接触到PList文件. 注:mmsetting.archive 不是一个标准的PList文件,其中含有汉字,并且很多 ...
- iOS开发-plist文件增删改查
plist第一次看到这个后缀名文件的时候感觉怪怪的,不过接触久了也就习以为常了,plist是Property List的简称可以理解成属性列表文件,主要用来存储串行化后的对象的文件.扩展名为.plis ...
- iOS 中plist文件中配置key值冲突的现象
iOS开发一些特殊的软件需要在项目中配置对应的key值,然而近期在项目中发现一个有意思的现象,苹果官方文档中提供的key值很多,但其实有一些彼此可能有冲突,当你同时配置了彼此冲突的key值,可能会出现 ...
- IOS 获取.plist文件的数据
@property (nonatomic,strong) NSArray *apps; //获取.plist数据 /**获取plist文件的数组数据*/ -(NSArray *)apps{ if( ...
- 将plist文件读取成为数组
NSString *plistPath = [[NSBundle mainBundle] pathForResource:@"city" ofType:@"plist&q ...
- ios 简单的plist文件读写操作(Document和NSUserDefaults)
最近遇到ios上文件读写操作的有关知识,记录下来,以便以后查阅,同时分享与大家. 一,简单介绍一下常用的plist文件. 全名是:Property List,属性列表文件,它是一种用来存储串行化后的对 ...
- plist文件的读取和xib加载cell
plist 文件读取 例如在工程里倒入了plist文件 在工程里需要用到plist文件里的信息,就需要把plist文件读取出来. 如程序: -(NSArray *)moreDataArr{ if (! ...
- UIPickerView 地区解析 -- 全国省、市、区 plist 解析 -- 读取UIPickerView 当前显示内容
一个简单的plist 解析过程,借助UIPickerView 实现了手选全国的 省市区 方法, 源码中有详细注释:长句自己可以拆开看,最好的方法是,拆开,并打印,查看每一步打印的结果,结合Plist文 ...
随机推荐
- eclipse 查看变量或方法在什么地方被调用的快捷键
选中方法名,点鼠标右键,菜单里有个”打开调用层次结构 ( Open Call Hierarchy )“,选中或者按下快捷键Ctrl+Alt+H,就在下面栏目里能看到调用的树形结构了. 或者: 1.双击 ...
- NodeJs解析web一例
var http = require('http'); var fs = require('fs'); var url = require('url'); http.createServer(func ...
- android Spinner的简单用法
上代码: spinner = (Spinner) findViewById(R.id.spinner); tv = (TextView) findViewById(R.id.tv); final Ar ...
- WEB框架
WEB框架本质 一.WEB请求流程 所有的web应用,都 ...
- C#实现控制Windows系统关机、重启和注销的方法:
shutdown命令的参数: shutdown.exe -s:关机shutdown.exe -r:关机并重启shutdown.exe -l:注销当前用户 shutdown.exe -s -t 时间:设 ...
- 【转】MessageBox的常见用法
网址:http://www.douban.com/note/40199603/ 一 函数原型及参数 function MessageBox(hWnd: HWND; Text, Caption: PCh ...
- ssm整合
一.以用户注册和列出用户功能说明ssm如何整合 二.新建一个maven工程,大致模样如下 三.pom.xml <project xmlns="http://maven.apache.o ...
- Maven安装与配置
下载: 1.从官网http://maven.apache.org中下载,下载下来的是一个压缩包,解压即可.因为Maven本身也是用Java实现的.2.Maven的目录结构 /bin; maven的 ...
- 循序渐进Python3(十一) --2-- web之javascript
JavaScrip JavaScript是一门编程语言,浏览器内置了JavaScript语言的解释器,所以在浏览器上按照JavaScript语言的规则编写相应代码之后 ...
- 2013xlsm格式文件处理
2013xlsm格式文件处理 2013格式的xlsm文件在低版本打开为空白的处理 1.关闭2013的宏2.打开文件,另存(去打开密码)3.2007打开另存(格式已变为2007)4.仅破解VBA密码5. ...