首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >低内存地址0x4c和0x4e

低内存地址0x4c和0x4e
EN

Stack Overflow用户
提问于 2012-10-15 16:18:33
回答 1查看 277关注 0票数 1

我正在尝试颠倒mbr rootkit,但遇到了内存地址不足的问题: 0x4c和0x4e。我对他们的目的地一无所知。

代码语言:javascript
复制
[0x000000000009f51c] 9f40:011c (unk. ctxt): xor ax, ax                ; 33c0
[0x000000000009f51e] 9f40:011e (unk. ctxt): mov ds, ax                ; 8ed8  
...  
[0x000000000009f52e] 9f40:012e (unk. ctxt): cli                       ; fa
...
[0x000000000009f52f] 9f40:012f (unk. ctxt): xor ax, ax                ; 33c0
[0x000000000009f531] 9f40:0131 (unk. ctxt): mov word ptr ds:0x4c, ax  ; a34c00
[0x000000000009f534] 9f40:0134 (unk. ctxt): mov ax, es                ; 8cc0
[0x000000000009f536] 9f40:0136 (unk. ctxt): add ax, 0x0040            ; 054000
[0x000000000009f539] 9f40:0139 (unk. ctxt): mov word ptr ds:0x4e, ax  ; a34e00
[0x000000000009f53c] 9f40:013c (unk. ctxt): sti                       ; fb
EN

Stack Overflow用户

回答已采纳

发布于 2012-10-15 16:30:49

0x4c/4=19,0x4e/4=19,因此代码访问指向向量19的ISR的指针(=0x13)。

ISR是特殊的,它是用int 0x13指令调用的,以便访问磁盘。有关详细信息,请查看Ralf Brown的中断列表。

上述代码更改中断向量表中此ISR的地址。它这样做可能是为了拦截来自其他软件(例如操作系统加载程序)的磁盘I/O,这样它就可以伪造一些数据。

它将ISR地址设置为0x40:0,该地址紧跟在中断向量表结束之后。

票数 2
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12891693

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档