使用回码枪调试网络操作

1 使用回码枪连接幽兰与上位机进行内核调试

使用回码枪连接幽兰与上位机进行内核调试可看文章https://www.nanocode.cn/wiki/docs/youlan/youlan-1empe0pkfiidk
成功连接之后

2 加载内核符号及源代码

设置符号及源代码路径

在上位机上下载符号文件和源代码并记住相应路径
下载符号文件:https://share.weiyun.com/cX4iGDRO
下载源代码:https://share.weiyun.com/HmBC4FSk

在nano code中设置路径

.sympath + 路径 //设置符号文件所在的文件夹路径
.srcpath + 路径 //设置内核文件所在的文件夹路径

例:
符号路径为D:\gdk8\symbol 下载的vmlinux符号文件就放在这个目录下。
内核源代码路径为D:\gdk8\source\kernel 下载并解压出的kernel文件夹就放在D:\gdk8\source 目录下

分别输入这两个命令,在NanoCode中显示如下:

使用.reload命令重新加载

.reload后如果顺利则可以看到源代码窗口自动弹出,此时即可对照着源代码进行内核调试

3 打上调试断点

在nano code中输入ba e1 lk!__sys_getsockopt__sys_getsockopt函数打上断点

使用bl命令可查看刚刚打的断点

使用命令g开始调试

幽兰终端或者使用连接幽兰的MobaXterm输入以下命令:

sudo /sbin/iptables-legacy -w -t mangle -A POSTROUTING -o waydroid0 -p udp -m udp --dport 68 -j CHECKSUM --checksum-fill

可以发现成功命中断点并停下调试

作者:李梓涌  创建时间:2023-07-26 17:58
最后编辑:李梓涌  更新时间:2024-04-15 18:12