Reveal、Wireshark使用

sudo spctl --master-disable mac开放权限
-ObjC -weak_framework RevealServer 配置路径

1.下载一个正版的reveal来安装。

2.打开终端,输入vim ~/.lldbinit创建一个名为.lldbinit的文件,然后将如下内容输入文件中

command alias reveal_load_sim expr (void*)dlopen("/Applications/Reveal.app/Contents/SharedSupport/iOS-Libraries/libReveal.dylib", 0x2);

command alias reveal_load_dev expr (void)dlopen([(NSString)[(NSBundle*)[NSBundle mainBundle] pathForResource:@"libReveal" ofType:@"dylib"] cStringUsingEncoding:0x4], 0x2);

command alias reveal_start expr (void)[(NSNotificationCenter*)[NSNotificationCenter defaultCenter] postNotificationName:@"IBARevealRequestStart" object:nil];

command alias reveal_stop expr (void)[(NSNotificationCenter*)[NSNotificationCenter defaultCenter] postNotificationName:@"IBARevealRequestStop" object:nil];

该步骤其实是为lldb设置4个别名,这样方便以后操作,这4个别名的意义如下:

1)reveal_load_sim 模拟器加载reveal调试用的动态链接库。

2)reveal_load_dev 真机加载reveal调试用的动态链接库。

3)reveal_start 启动reveal调试功能。

4)reveal_stop 结束reveal调试功能。

3.在AppDelegate类的application:(UIApplication *)application didFinishLaunchingWithOptions:方法中接入下面3个操作,如下如:

  1. 增加一个断点,右击断点,选择"Edit BreakPoint".

  2. 单击"Action"右边的"Add Action",然后输入"reveal_load_sim".

  3. 勾选上"Options"上的“Automatically continue after evaluating actions”选项。

Reveal、Wireshark使用_第1张图片
image

之后运行我们运行模拟器,打开reveal,就可以在reveal界面左上角看到有模拟器可以选择调试,选择它,则可以在reveal中查看调试iOS程序的界面了。

4.用revea连接真机(补充:似乎现在这个方法已经不生效了)

要用reveal连接真机调试,我们需要先把reveal的动态链接库上传到真机上。由于iOS设备有沙盒存在,所以我们只能将reveal的动态链接库添加到工程里。

1)选择reveal菜单栏的"Help"->"Show Reveal library in Finder"选项,可以在Finder中找到Reveal的动态链接库libReveal.dylib.

2)将该文件拖到工程里,Xcode默认将libReveal.dylib设置到"Link Binary With Libraries",我们需要进行调整,将"Link Binary With Libraries"中的libReveal.dylib删除,再将其添加到"Copy Bundle Resources"下面。

3)之后用Reveal连接真机的方式和连接模拟器的方式类似,我们只需把上面提到的断点Action的内容从reveal_load_sim改成reveal_load_dev即可。

补充:1.关于正版reveal的使用

reveal时收费的,所以。。。,它有30天的试用期,到30天过期后,到~/Library/Preferences/com.ittybittyapps.Reveal.plist,把这个plist文件删除,然后重启电脑,就可以了。虽然麻烦点儿,将就着使吧。

2.在打包上传的时候libReveal.dylib是需要删除的,不然会报错。

wireshark 使用

寻找http请求
http
查找接口:
http.request.uri matches "/clt/getAdviseIn"

连接抓包设备 UDID
rvictl -s iphone设备id
断开抓包设备
rvictl -x iphone设备id

你可能感兴趣的:(Reveal、Wireshark使用)