首页
社区
课程
招聘
[求助]CreateFileWImplementation和CreateFileW的关系?
2019-10-24 14:09 3465

[求助]CreateFileWImplementation和CreateFileW的关系?

2019-10-24 14:09
3465

Dada直接看【实例分析】一节上方

windbg查看PE信息

目录

配置符号文件

配置环境变量:

name:  _NT_SYMBOL_PATH
value: SRV*c:\mysymbol* http://msdl.microsoft.com/download/symbols

查看PE信息

加载符号文件之后,等待下载完毕,然后重载文件。

 

查看PE的IMAGE字段

dt ntdll!*IMAGE*

之后会显示出,所有的IMAGE字段

 

PE文件首先是IMAGE_DOS_HEADER结构体,所以可以查看该结构体的各项值

dt ntdll!_IMAGE_DOS_HEADER 00400000


有一些字段显示不对,例如e_lfanew字段,可根据偏移查看该字段值

dd 00400000+3c


查看IMAGE_NT_HEADERS结构体,e_lfanew为该结构体偏移

dt ntdll!_IMAGE_NT_HEADERS 00400000+e0


根据该方法,继续查看IMAGE_OPTIONAL_HEADER结构体

dt ntdll!_IMAGE_OPTIONAL_HEADER 00400000+e0+18

 

相比上面那样查看PE信息,下面这样更加方便,但是不准确

!dh 00400000

 

查看IMAGE_DATA_DIRECTORY数组,共16个,每个占8字节,第一个代表输出表,第二个代表输入表,以输入表为例

dt ntdll!_IMAGE_DATA_DIRECTORY 00400000+e0+18+60+8

dd 00400000+9718


查看导入的模块名称

db 00400000+9a90 lc

 

查看所有导入函数名字表HNT

dd 00400000+979c


看第一个函数名字

db 00400000+9974 l10


有了模块名,有了函数名,可以直接查看函数反汇编代码

uf kernel32!CreateFileW
# 或
u kernel32!CreateFileW l10

搜索kernel32中CreateFile开头的函数

x kernel32!CreateFile*

 

回头再去找IAT

dd 00400000+900c


本来觉得IATHNT之间是一一对应的,然后观察IAT地址和之前搜索到的函数地址比较,发现并不是CreateFileW,而是CreateFileWimplementation

u 7dd73f5c


经过观察CreateFileA,并没有Implementation后缀的函数,带Implementation和不带它的函数内容也是不一样的。这里不太清楚为什么。

实例分析


[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
点赞0
打赏
分享
最新回复 (2)
雪    币: 4861
活跃值: (1017)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
techliu 1 2019-10-24 14:10
2
0
实例分析图别处抠的
雪    币: 4861
活跃值: (1017)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
techliu 1 2019-11-4 10:14
3
0
为什么没人 啊?
游客
登录 | 注册 方可回帖
返回