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

相关推荐
John_ToDebug3 分钟前
深度解析:SVG、VectorIcon 和 位图图像的区别与优劣势
chrome·windows·图形渲染
༺๑Tobias๑༻14 分钟前
国内可用的DOCKER 镜像源
运维·docker·容器
The Chosen One98519 分钟前
【Linux】制作进度条小程序、git入门 (add、commit、push三板斧)以及git的其他问题
linux·运维·git
Crazy________25 分钟前
45Ansible Roles:标准化部署的终极利器
linux·运维·服务器
翼龙云_cloud26 分钟前
腾讯云渠道商:腾讯云轻量服务器和CVM有什么差异?
运维·服务器·云计算·php·腾讯云
wanhengidc31 分钟前
服务器受到病毒攻击该怎么办
运维·服务器·科技·云计算
知识分享小能手32 分钟前
CentOS Stream 9入门学习教程,从入门到精通,CentOS Stream 9 磁盘存储管理 —语法详解与实战案例(7)
linux·学习·centos
wadesir33 分钟前
Linux网络优化服务配置(从零开始提升服务器网络性能)
linux·服务器·网络
tianyuanwo34 分钟前
从PAM到零信任:Linux密码认证体系的深度解析与演进
linux·运维·服务器·pam·密码认证
unclecss35 分钟前
键盘输入延迟 800 ms?!——一次终端“假死”排查笔记
linux·运维·笔记·性能优化·auditd