不用虚拟机,使用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

相关推荐
dajun1811234562 分钟前
音乐制作从创作到发行完整流程图表怎么画
大数据·运维·人工智能·信息可视化·架构·流程图·能源
炸炸鱼.5 分钟前
linux系统安全及应用_扫描版
linux·运维·系统安全
艾文-你好5 分钟前
深信服SSL aTrust设备密码重置及管理密码重置
linux·服务器·ssl
WHD3066 分钟前
苏州华为/联想/浪潮 国产服务器 硬件维修
运维·服务器·git
百结2147 分钟前
Linux系统安全
linux·运维·服务器
网硕互联的小客服9 分钟前
网站出现Deprecated: Function的解决方法?
运维·服务器·网络·安全·ssh
不懒不懒10 分钟前
【苏宁易购商品评价文本分析实战:从自动化爬取到分词清洗全流程】
运维·数据库·自动化
济61710 分钟前
ARM Linux 驱动开发篇--- Linux 按键输入实验--- Ubuntu20.04互斥体实验
linux·嵌入式·嵌入式linux驱动开发
亦复何言??11 分钟前
Ubuntu内核更新导致显卡驱动掉线 (nvidia-smi报错) 的“最小化改动”修复方案
linux·运维·ubuntu
_OP_CHEN12 分钟前
【MySQL数据库基础】(三)MySQL 库的核心操作全解析:创建、修改、备份一条龙搞定
linux·数据库·sql·mysql·c/c++·mysql操作·企业级组件