我正在尝试调试内核问题,其中某些函数会覆盖内存的随机部分。我在尝试读取一些不可用的内存区域(通常是 0x0...00282)时遇到了一些内核错误,这对调试没有太大帮助。但是现在我遇到了一些可能有用的东西——文件缓存中发生了损坏,所以最终得到了一个像这样的好片段:
000bfc0: f0ef cf17 1888 ffff 8202 0000 0000 0000 ................
000bfd0: a0af 11a4 0a88 ffff a0af 11a4 0a88 ffff ................
000bfe0: a0af 11a4 0a88 ffff 0094 aab3 0b88 ffff ................
000bff0: 8202 0000 0000 0000 214e 1281 ffff ffff ........!N......
因此,我的典型签名包含了两次(0x0282... 以相反的顺序)和一些看起来可能包含有效指针的数据。有什么好的方法可以尝试识别它指向的结构类型吗?或者至少是结构(分配)大小?我可以从中提取任何其他有用的信息吗?
我希望这个片段可以帮助我找出哪个模块/函数写入随机地址。