在Windows下编译 Firefox

简介

最近分析CVE-2013-0750 Firefox 字符串替换整数溢出漏洞,尝试一下源码调试的分析方法,所以记录一下编译过程,本次以编译firefox17.0为例记录

环境搭建

  1. 源码
  2. MozillaBuild
  3. Visual Studio
  4. 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缺少了某个头文件

实践

  1. 将源码和MozillaBuild到一个目录,我是直接解压到盘符的根目录了,防止有意外的中文编码什么错误

  1. 去源码的./brower/config目录复制mozconfig文件到源码根目录,之后打开文件添加如下配置(其实直接在源码根目录直接新建就可以了感觉)
1
2
3
4
ac_add_options --enable-application=browser
export MOZ_DEBUG_SYMBOLS=1
ac_add_options --enable-debug
ac_add_options --disable-webgl

–disable-webgl的话是当时发现编译不了添加的

  1. 之后打开mozilla-build目录,根据你下载的vs版本打开start-msvc.bat文件(最好还是以管理员运行吧)

比如vs2012是start-msvc11.bat,2010是start-msvc10.bat

  1. 最后cd到源码的路径,执行make –f client.mk build命令即可,无意外就等待1个半到两个小时就完成了

完成截图

  1. 最后的exe在源码目录中的objxxxxxx\dist\bin目录下

打开如图:

自愿打赏专区