使用IDA静态分析osloader.exe+Ntoskrnl.exe

来源:互联网 发布:麻将概率分析软件 编辑:程序博客网 时间:2024/06/02 03:32

1.使用IDA静态分析osloader.exe,找到BlOpen()函数的执行语句,简述查找及分析过程。

用IDA pro 5.6打开osloader.exe

这里写图片描述

Alt+T,打开文本搜索对话框,在字符串文本框中输入要搜索boot.ini

这里写图片描述

.成功跳转到BIOpen函数

ARC_STATUSBlOpen (                IN ULONG DeviceId,                IN PCHAR OpenPath,                IN OPEN_MODE OpenMode,                OUT PULONG FileId             );

BlOpen的函数声明,其中boot.ini是配置文件参数

这里写图片描述

2.使用IDA静态分析Ntoskrnl.exe,找到eflags=0的汇编语句,简述查找过程。

同样的,IDA打开Ntoskrnl.exe,静态分析,因为在eflags=0的汇编语句之前调用了_KiInitializeTSS这个函数,所以直接搜索字符串_KiInitializeTSS
但这次出问题了,并没有搜索到_KiInitializeTSS。首先排除源文件的问题。Ntoskrnl.exe文件是我直接从xp虚拟机中拖出来的,肯定不会有问题。剩下的应该就是编译的问题了。突然想到把Ntoskrnl.exe拖到IDA里的时候,IDA识别了Ntoskrnl.exe,询问是否下载符号表,选“是”之后,却下载失败了,让我自己从本机里导入符号表,我直接取消了。之后也打开了文件,当时并没有在意。所以确定是导入表缺失的问题导致编译不完整。
上面用的IDA pro 5.6破解版,很老的版本了。去吾爱破解下了个5.8的破解版,再次将Ntoskrnl.exe拖入IDA,提示下载符号表,下载成功。直接搜索字符串_KiInitializeTSS,这次成功找到了。

这里写图片描述

上次找到_KiInitializeTSS后就没继续了,今天再次打开,发现符号表提示does not match。。。又找不到了,还好上次截了图,直接跳到了对应的地址005D7FE1

这里写图片描述

对应了一下PPT里面的分析,下图圈出来的就是eflags=0的汇编语句了,一条mov指令,上一条指令出现了_KiTrap08,说明猜想是正确的

这里写图片描述

原创粉丝点击