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

相关推荐
水饺编程2 分钟前
第4章,[标签 Win32] :SysMets3 程序讲解02,iVertPos
c语言·c++·windows·visual studio
私人珍藏库3 分钟前
[Windows] 随机加密工具 7z密压 v1.0
windows·工具·软件·多功能
叠叠乐25 分钟前
linux.service 自起文件want和After意思
linux
Ricky_Theseus32 分钟前
SPOOLING 系统详解
linux·服务器·数据库
HUGu RGIN35 分钟前
Redis 下载与安装 教程 windows版
数据库·windows·redis
实在智能RPA37 分钟前
Agent上线后有专人运营支持吗?深度解析AI Agent的全生命周期运维保障体系
运维·人工智能·ai
木心术137 分钟前
OpenClaw数据库自动化部署与网站接口调通全流程指南
运维·数据库·自动化
ulias21238 分钟前
Linux中的基本命令符
linux·运维·服务器
csdn2015_42 分钟前
java 将 List<Map<String,Object>> 类型里面的值转换为List<String>
java·windows·list
小白电脑技术44 分钟前
如何给OpenClaw配置模型提供商API和大模型?
windows·电脑·openclaw