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

相关推荐
云和数据.ChenGuang2 分钟前
运维工程师技术之MyCat中间件免费技术教程
运维·中间件·mycat·运维工程师·运维技术
wanhengidc2 分钟前
云手机 巨 椰 三角洲行动
运维·服务器·科技·游戏·智能手机
weixin_307779137 分钟前
Jenkins Gson API插件:统一JSON处理的基础库
java·运维·开发语言·架构·jenkins
IT 乔峰8 分钟前
Apache工作原理详细说明
linux·apache
小二·8 分钟前
Windows 11 官方系统安装与重装完整教程(2025年最新版)
windows·microsoft
fufu03118 分钟前
Linux环境下的C语言编程(三十六)
linux·c语言·开发语言·数据结构·算法
小嘟嘟1313 分钟前
第2章 Shell 变量与参数传递:3 种定义方式 + 避坑指南
linux·运维·shell
云和恩墨17 分钟前
打造数据库安全堡垒:统一自动化监控平台在DBA运维中的价值解析
运维·数据库·安全·自动化·dba
wan_da_ren21 分钟前
Windows 环境下使用 Go Modules 拉取带外层 Basic Auth 的私有 GitLab 仓库 — 完整解决方案
windows·golang·gitlab
AiTEN_Robotics27 分钟前
智能化时代,汽车制造机器人的发展趋势是什么?
运维·机器人·自动化