不用虚拟机,使用windows调试linux内核

1.安装msys2

https://www.msys2.org/

2.打开msys2 ucrt64安装qemu和gdb还有gef

pacman -S mingw-w64-ucrt-x86_64-qemu

pacman -S gdb

pacman -S binutils

用下面的脚本安装gef

bash 复制代码
#!/usr/bin/env bash

set -e

# check dependencies
if [ ! "$(command -v python3)" ]; then
	echo "GEF requires Python3 installed."
	exit 1
fi

# Backup gdbinit if any
if [ -f "${HOME}/.gdbinit" ]; then
    mv "${HOME}/.gdbinit" "${HOME}/.gdbinit.old"
fi

tag=$(python3  -X utf8 -c 'import urllib.request as r,json as j; x=j.loads(r.urlopen("https://api.github.com/repos/hugsy/gef/tags").read()); print(x[0]["name"])')
python3 -X utf8 -c "import urllib.request as r; x=r.urlopen('https://github.com/hugsy/gef/raw/${tag}/gef.py').read(); print(x.decode('utf-8'))" > ${HOME}/.gef-${tag}.py

if [ -f "${HOME}/.gef-${tag}.py" ]; then
    echo "source ~/.gef-${tag}.py" > ~/.gdbinit
    exit 0
else
    echo "GEF was not properly downloaded"
    exit 2
fi

官方版本里面缺少-X utf8会出错。

3.去github下载一键包,如:

https://github.com/bsauce/kernel-exploit-factory/tree/main/CVE-2017-11176

注意start.sh里面的-enable-kvm要去掉,因为windows不支持。

4.在msys2 ucrt64里面运行start.sh

5.打开另一个窗口,运行gdb_kernel.sh

相关推荐
Splashtop高性能远程控制软件几秒前
索尼 Hawk-Eye(鹰眼)携手 Splashtop,远程技术赋能赛事运营革新
运维·网络·自动化·远程控制·远程桌面
徐子元竟然被占了!!5 分钟前
Linux-Free
linux·运维
_OP_CHEN11 分钟前
【Git原理与使用】(二)Git 配置与基本操作全攻略:从配置到实战,新手也能轻松上手!
linux·运维·git·版本管理·企业级组件·git基本操作·git配置
大志若愚YYZ27 分钟前
嵌入式 Linux 字符设备驱动编写:从原理到实战
linux
wadesir31 分钟前
Linux文件系统创建(从零开始构建你的存储空间)
linux·运维·服务器
Paper_Love35 分钟前
RK3568-linux升级用户程序
linux
2gexmxy36 分钟前
FTP服务器搭建详解(Linux、Windows)
linux·centos·ftp
边疆.36 分钟前
【Linux】库制作与原理
linux·运维·动态库·静态库·动态链接·静态链接
松涛和鸣38 分钟前
28、Linux文件IO与标准IO详解:从概念到实战
linux·网络·数据结构·算法·链表·list
修己xj41 分钟前
外网下载内网部署:Yum离线升级Linux软件包
linux