Skip to content

在第五章加载内核时,读盘的函数 read_disk_m_32 存在点问题 #7

Description

@joeygong13

在第五章加载内核时,读盘的函数 read_disk_m_32 ,小弟在学习大佬代码的时候发现在调用返回时 call read_disk_m_32 压入的返回地址老是被覆盖为 0x0000!造成 ret 指令回跳错误
最后发现是调用时用 ebx 存着目标缓冲区地址,但 .go_on_head 的还是用了 bx,所以 32 位的 ebx 被丢弃了高 16 位,在 cx 循环时刚好[bx] 覆盖了栈对应的内存区域

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions