Woboq使用指南


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版本和本地一致):

1
2
3
4
5
6
7
8
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所需的环境变量

1
2
3
4
5
6
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所需的文件

1
2
codebrowser_generator -b $BUILD_DIRECTORY -a -o $OUTPUT_DIRECTORY -p codebrowser:$SOURCE_DIRECTORY:$VERSION
codebrowser_indexgenerator $OUTPUT_DIRECTORY

#接下来将woboq项目中提供的data目录拷贝到DATA_DIRECTORY所在位置即可

1
2
3
cd ~/Workspace
mkdir $DATA_DIRECTORY
cp ./woboq/data $DATA_DIRECTORY

#设置服务器

在woboq-out目录下起一个http服务器,浏览器访问http://localhost:port/glibc-2.30/即可

1
python -m http.server port

#效果图


← Prev Glibc的堆实现 | WHUCTF-2020 WriteUp Next →