1.在使用inline hook时,首先要确定的是你hook的入口地址。推荐使用gdb + vmlinux来获取。
2.首先需要在本地安装vmlinux(本人测试为ubuntu)
echo "deb http://ddebs.ubuntu.com $(lsb_release -cs)-updates main restricted universe multiverse
deb http://ddebs.ubuntu.com $(lsb_release -cs)-security main restricted universe multiverse
deb http://ddebs.ubuntu.com $(lsb_release -cs)-proposed main restricted universe multiverse" | \
sudo tee -a /etc/apt/sources.list.d/ddebs.list
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 428D7C01
然后需要执行
apt-get update
sudo apt-get install linux-image-$(uname -r)-dbgsym
在这个目录下可以看到vmlinux
/usr/lib/debug/boot/vmlinux-$(uname -r)
3.进入到上面的vmlinux目录,使用jdb查看call指令的信息。
gdb -q vmlinux