在mac上使用xcode调试v8

前述

最近在看chakra的漏洞,用为知笔记记一些零散的或者思路性的东西还是蛮方便,chakra有点不想搞2333,把0234搞完了继续看v8咯。
然后命令行调试还是太太太麻烦了,于是在VPN搭好了之后,就在xcode上干活了。

搭建VPN并连接

在之前搭ss的服务器上运行一个vpn的docker(人生苦短,我用docker)
直接切换到root然后运行

1
2
3
4
5
6
7
8
9
10
11
docker run \
--name ipsec-vpn-server \
--restart=always \
-e VPN_IPSEC_PSK=你的密码 \
-e VPN_USER=你的用户名 \
-e VPN_PASSWORD=你的共享密码(其实和密码填一样就好了,不会弄混) \
-p 500:500/udp \
-p 4500:4500/udp \
-v /lib/modules:/lib/modules:ro \
-d --privileged \
hwdsl2/ipsec-vpn-server

连接VPN
http://www.vpngate.net/cn/howto_l2tp.aspx

mac上编译

怎么获取源码,终端编译之前已经写过了,懒得赘述。
这里讲一下怎么建立xcode工程

1
gn gen out/gn --ide="xcode"

这样,在out目录下就会有gn文件夹,里面有all.xcworkspace文件,可以直接使用xcode打开这个工作区文件,接下来要设置编译的目标,在Product->Scheme下选择d8,否则会编译出错,这样就只编译d8这个可执行程序,使用d8就可以直接调试v8的源代码。
然后直接Build,编译时间有些长,会自动生成v8的链接库,等待编译完成,在Product->EditScheme菜单中把poc文件作为运行参数,在对应文件中下好断点,直接运行就会断下来了。

结束语

噫,我好像只是教了怎么搭VPN……