粗略记录下Windows编译spider-monkey
最新版编译
先根据 https://firefox-source-docs.mozilla.org/setup/windows_build.html#building-firefox-on-windows 进行环境准备。其实就是下载vs2019(不过编译spiderMonkey用的是clang),下载bootstrap.py执行,python3要先安装好,代理挂好。下载大概是2-3G出头
在根据 https://firefox-source-docs.mozilla.org/js/build.html 指示操作,我的配置是:
1 | > type C:\mozilla-source\spidermonkeyBuild\debug |
点击运行start-shell.bat,接着去到mozilla的源码目录,先./mach bootstrap 选择 要编译spidermonkey,然后mach会去下载编译要用到的各种东西
接着只要./mach build就好
C61版本编译
经过我多番折腾,也不保证正确,反正我最后算是编译成功了参考文章是 https://doar-e.github.io/blog/2018/11/19/introduction-to-spidermonkey-exploitation/
下载 https://ftp.mozilla.org/pub/mozilla/libraries/win32/MozillaBuildSetup-3.2.exe安装好后,给那个start-shell.bat上个代理
点击运行start-shell.bat,然后切到源码目录,编译旧版本是为了复现那道ctf的题目:https://s3.us-east-2.amazonaws.com/blazefox/blazefox/blaze_firefox_small.tar.gz
所以根据题目的readme.txt,先checkout下:
1 | hg checkout ee6283795f41 |
打上patch之后开始真正的编译:
1 | > cd js/src |
在执行../configure的时候是有报错的,当时是在源码目录下 ./mach bootstrap了下,选择的是要编译选项1,虽然中途也报错了,但是执行好后,../configure却是没问题了,就没去深究了
最后总算是编译成功了一个C61版本的:
1 | $ ./js.exe --version |
参考链接
https://firefox-source-docs.mozilla.org/setup/windows_build.html#building-firefox-on-windows