首页
社区
课程
招聘
[旧帖] [求助]为什么有的导出函数实现部分为一个函数名称的字符串?? 0.00雪花
发表于: 2014-6-12 22:15 1749

[旧帖] [求助]为什么有的导出函数实现部分为一个函数名称的字符串?? 0.00雪花

2014-6-12 22:15
1749
.text:77E9F164                   ; Exported entry 717. HeapAlloc
.text:77E9F164                                   public HeapAlloc
.text:77E9F164                   ; LPVOID __stdcall HeapAlloc(HANDLE hHeap, DWORD dwFlags, DWORD dwBytes)

HeapAlloc       db 'NTDLL.RtlAllocateHeap',0

=================
如图,为什么kernel32中,HeapAlloc函数没有实现部分,只是一个字符串“NTDLL.RtlAllocateHeap'”????
如果我想自己写个类似的DLL函数,该怎么写?

0:000> u kernel32!HeapAlloc
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for C:\Windows\system32\kernel32.dll -
kernel32!HeapAlloc:
7598f164 4e              dec     esi
7598f165 54              push    esp
7598f166 44              inc     esp
7598f167 4c              dec     esp
7598f168 4c              dec     esp
7598f169 2e52            push    edx
7598f16b 746c            je      kernel32!InitializeConditionVariable+0x1a (7598f1d9)
7598f16d 41              inc     ecx
0:000> db 7598f164
7598f164  4e 54 44 4c 4c 2e 52 74-6c 41 6c 6c 6f 63 61 74  NTDLL.RtlAllocat
7598f174  65 48 65 61 70 00 4e 54-44 4c 4c 2e 52 74 6c 52  eHeap.NTDLL.RtlR
7598f184  65 41 6c 6c 6f 63 61 74-65 48 65 61 70 00 4e 54  eAllocateHeap.NT
7598f194  44 4c 4c 2e 52 74 6c 53-69 7a 65 48 65 61 70 00  DLL.RtlSizeHeap.
7598f1a4  4e 54 44 4c 4c 2e 52 74-6c 52 75 6e 4f 6e 63 65  NTDLL.RtlRunOnce
7598f1b4  49 6e 69 74 69 61 6c 69-7a 65 00 4e 54 44 4c 4c  Initialize.NTDLL
7598f1c4  2e 52 74 6c 49 6e 69 74-69 61 6c 69 7a 65 43 6f  .RtlInitializeCo
7598f1d4  6e 64 69 74 69 6f 6e 56-61 72 69 61 62 6c 65 00  nditionVariable.

[课程]Linux pwn 探索篇!

上传的附件:
收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 7
活跃值: (68)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
inc
2
我知道原因了
2014-6-13 22:52
0
游客
登录 | 注册 方可回帖
返回
//