简介
最近分析CVE-2013-0750 Firefox 字符串替换整数溢出漏洞,尝试一下源码调试的分析方法,所以记录一下编译过程,本次以编译firefox17.0为例记录
环境搭建
- 源码
- MozillaBuild
- Visual Studio
- Windows 7 32位(我用的是这个)
各版本的源码可以从下面的连接下载
https://archive.mozilla.org/pub/firefox/releases/
编译工具MozillaBuild下载(这个推荐是下载与源码发布实践相近的版本,我下的是1.7)
http://ftp.mozilla.org/pub/mozilla/libraries/win32/
还有我用的vs2012,漏洞战争用的是2010,我自己试过vs2008,不知道不是不express版的问题,编译出错,说SDK缺少了某个头文件
实践
- 将源码和MozillaBuild到一个目录,我是直接解压到盘符的根目录了,防止有意外的中文编码什么错误
- 去源码的./brower/config目录复制mozconfig文件到源码根目录,之后打开文件添加如下配置(其实直接在源码根目录直接新建就可以了感觉)
1 | ac_add_options --enable-application=browser |
–disable-webgl的话是当时发现编译不了添加的
- 之后打开mozilla-build目录,根据你下载的vs版本打开start-msvc.bat文件(最好还是以管理员运行吧)
比如vs2012是start-msvc11.bat,2010是start-msvc10.bat
- 最后cd到源码的路径,执行make –f client.mk build命令即可,无意外就等待1个半到两个小时就完成了
完成截图
- 最后的exe在源码目录中的objxxxxxx\dist\bin目录下
打开如图: