-
-
未解决 [求助]有更简单的方法,用WINDBG 找WIN10 KERNELBASE.dll 的导出函数API方法 吗?
-
发表于: 2019-4-12 16:00 1857
-
本人是初学者,现在在看《加密解密》第四版,尝试用WINDBG 找WIN10 KERNELBASE.dll 的导出函数API,我的笨方法如下:
1)启动WINDBG ,随便Attach 一个用户进程;
2)WINDBG 窗口中找
ModLoad: 00000000`75b10000 00000000`75d0a000 KERNELBASE.dll (我的WIN10 64位 KERNELBASE.dll 的基址是:00000000`75b10000)
3) dd 75b10000 +0X3C ----PE 文件的NT头偏移处
00000000`75b10030 00000000 00000000 00000000 000000f0
4)显示NT头信息:dd 75b10000+0xf0
00000000`75b100f0 00004550 0006014c 3424aead 00000000
这里的00004550 即为NT的标志 :PE
5) 在NT头偏移78h处,找到EAT(导出表): dd 75b10000+0xf0 + 0x78
00000000`75b10168 001b49c0 0000eac3 001c8adc 0000003c
6) 在EAT 头的1ch处获取AddressOfFunctions的地址:dd 75b10000+ 001b49c0 + 0x1c
00000000`75cc49c0 00000000 3424aead 00000000 001b936c
7) 在EAT头的20h处获取AddressOfNames地址:dd 75b10000+ 001b49c0 + 0x20
00000000`75cc49e0 001b6750 001b84b8 00173310 000ee7a0
8)找到 001b6750地址所指向的函数名地址:dd 001b6750 + 75b10000
00000000`75cc6750 001b9429 001b9435 001b944f 001b9461
9)显示 001b9429 + 75b10000 所指向的函数名:da 001b9429 + 75b10000
00000000`75cc9429 "AccessCheck"
10)找到函数输出序列号地址:dd 75b10000+ 001b49c0 + 0x24
00000000`75cc49e4 001b84b8 00173310 000ee7a0 00107220
11)显示函数输出序列号:dd 001b84b8 + 75b10000
`75cc84b8 00080007 000a0009 000c000b 000e000d
以上的操作用一条命令:
da (poi((poi((poi(75b10000+0xf0 + 0x78) and 00000000ffffffff) + 75b10000 + 0x20) and 00000000ffffffff) + 75b10000) and 00000000ffffffff) + 75b10000
然后我觉得我的方法太笨了,有没有更加简单的方法,请教大神们。
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
赞赏
看原图
赞赏
雪币:
留言: