购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.8 加载Loader模块

在阅读这部分代码之前,如果读者尚不熟悉PE 文件格式,可参阅本书附录A。osloader.exe是标准的PE文件,在运行前,必须按照标准格式加载进内存。osloader.exe文件在编译链接时嵌套在startup.com末尾,所以解析时只需定位到startup.com的结尾,即osloader.exe文件的开始。首先需要解析osloader.exe文件头,然后按内存对齐值复制各个段,复制完成后返回osloader.exe映像代码入口。下面先从C语言代码了解设计的思想:

接下来我们看一下对应的汇编代码:

在上述汇编代码中可以看到,为了复制数据,我们调用了一个memove函数,那么memove函数是如何实现的呢?现在就来看一下。 4N8MMdkMdf/w5xtAGk8qxnEt2MlufoLGoiXSx8/6JaHWgm7/YHs6Is89dMFHtQfu

点击中间区域
呼出菜单
上一章
目录
下一章
×