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

相关推荐
列逍几秒前
操作系统初识:从硬件架构到核心原理
运维·服务器·操作系统·硬件架构
1***35773 分钟前
Nginx搭建负载均衡
运维·nginx·负载均衡
MZZDX5 分钟前
Linux操作系统相关知识总结
linux
gavin_gxh8 分钟前
SAP CO CK 465 用于物料/批 工厂 不能确定价格
运维·经验分享·其他
Splashtop高性能远程控制软件9 分钟前
远程办公防线不 “失守”,终端防护策略全解析
大数据·运维·网络·网络安全·远程工作·远程控制·splashtop
xixixi7777710 分钟前
解析常见的通信流量和流量分析
运维·开发语言·网络·安全·php·通信·流量
s***117011 分钟前
Node.JS 版本管理工具 Fnm 安装及配置(Windows)
windows·node.js
n***859418 分钟前
ANSYS Electronics 2025 R1软件安装教程+安装包下载
windows·学习
爱吃山竹的大肚肚21 分钟前
根据每个键对应的列表里所有实体的 count 最大值,将整个字典从大到小重新排列
linux·运维·windows
7澄122 分钟前
Servlet 前后端交互实战(登录/注册案例)
运维·服务器·ajax·servlet·jquery·form·前后端交互