Skip to content

Latest commit

 

History

History
52 lines (44 loc) · 1.06 KB

README.md

File metadata and controls

52 lines (44 loc) · 1.06 KB

extract_callable

extract callable functions/basic block

make kernel

for kernel version 4.14

git clone https://github.com/torvalds/linux.git
cd linux/
git checkout v4.14
make defconfig
make kvmconfig

edit .config example

# Coverage collection.
CONFIG_KCOV=y

# Debug info for symbolization.
CONFIG_DEBUG_INFO=y

# Required for Debian Stretch
CONFIG_CONFIGFS_FS=y
CONFIG_SECURITYFS=y
make olddefconfig
make bzImage -j`nproc`
cd ../
mv linux/ linux-4.14/

Usage

the <kernel_path> should be form like "linux-" ex)linux-4.14

python get_all.py <kernel-path>

it would make $WORKDIR/result-$VERSION directory, and the analyzation result will be at this dir

  • callable_with_result.lst | the list with callable function:address

  • callable_bb.lst | it has callable basic block list ex) Function: <start_addr>:<end_addr> <start_addr>:<end_addr> ...

  • total_bb.lst : it has basic block list of every function

  • out.json | it has call graph that analyzed and extracted by radare2