这是本系列的第一篇,主要用于介绍CTF中可能会使用到的一些好用但是相关资料很少的工具。话不多说,进入正题。
简介
Woboq是一个源代码浏览器,它可以让你很方便的浏览Glibc,Linux Kernel等存在复杂引用关系或者是数目繁多的宏的代码。我们将会以Glibc 2.30为例简单介绍它的使用方法。
使用方法
创建工作目录
mkdir ~/Workspace && cd ~/Workspace
安装Woboq
可以在https://woboq.com/codebrowser-download.html
找到安装包进行下载。
克隆Woboq项目
git clone https://github.com/woboq/woboq_codebrowser.git
安装bear
项目地址 https://github.com/rizsotto/Bear.git
,按说明安装即可
下载并编译glibc-2.30
(最好保证编译的libc版本和本地一致):
wget https://ftp.gnu.org/gnu/glibc/glibc-2.30.tar.gz
unar glibc-2.30.tar.gz
cd glibc-2.30
mkdir build && cd build
CFLAGS="-g -g3 -ggdb -gdwarf-4 -Og"
CXXFLAGS="-g -g3 -ggdb -gdwarf-4 -Og"
../configure --prefix=/path/to/install # 我们并不准备安装,这里prefix随便填
bear make
这时,glibc编译完毕,设置woboq所需的环境变量
mkdir ~/Workspace/woboq-out
OUTPUT_DIRECTORY=~/Workspace/woboq-out/glibc-2.30 # 生成文件的目录
DATA_DIRECTORY=OUTPUT_DIRECTORY/../data # js,css数据所在目录
BUILD_DIRECTORY=PWD # 当前目录
SOURCE_DIRECTORY=$PWD/../ # 源代码目录
VERSION='2.30' # 版本信息
生成woboq所需的文件
codebrowser_generator -b BUILD_DIRECTORY -a -oOUTPUT_DIRECTORY -p codebrowser:SOURCE_DIRECTORY:VERSION
codebrowser_indexgenerator $OUTPUT_DIRECTORY
接下来将woboq项目中提供的data目录拷贝到DATA_DIRECTORY所在位置即可
cd ~/Workspace
mkdir DATA_DIRECTORY
cp ./woboq/dataDATA_DIRECTORY
设置服务器
在woboq-out目录下起一个http服务器,浏览器访问http://localhost:port/glibc-2.30/
即可
python -m http.server port
Comments | NOTHING