微信公众号:程序员成长手册
如有问题或建议,请公众号留言
Windbg初步解析系统调用
学过编程的人几乎都知道windbg,这是一个神器。
其实我以前没怎么用过,编程的时候很少调试,即便调试也是依赖编译器的调试。
最近要解析系统调用,解析的时候出了点问题,没有办法解析到NtReadFile系统调用中读的内容。这事儿很奇怪,其他的系统调用都可以解析到,这个就不行。
于是,我写了一个简单的读文件程序进行测试。代码如下
代码很简单,就不说了。64位debug模式下编译通过后,用windbg打开,
设置断点:bu ntdll!ZwReadFile
执行g命令,开始运行
连续按F10执行到syscall完成
R命令查看寄存器值
dq rsp+0x30得到buffer地址
da [buffer地址] 就可以看到buffer的内容了。如下所示,内容很简单,是“1 2 3 4 5 6 7 8 9 0”,和我在hello.txt中写入的一样。
领取专属 10元无门槛券
私享最新 技术干货