好友
阅读权限25
听众
最后登录1970-1-1
|
董督秀
发表于 2024-7-8 22:57
30吾爱币
最近在学习API的应用,微软提供给开发者一系列API以供开发者调用。例如,GetVersionExW。但这些API都是微软封装好的接口,没法知道其源码实现。
查到网上相关资料,引用如下:
GetVersionExW大概是这么实现的(这仅仅是Windows2000的源代码,后面的新系统,OSVERSIONINFOW这个结构多了几倍的成员)。
WINBASEAPI BOOL WINAPI GetVersionExW(
LPOSVERSIONINFOW lpVersionInformation)
{
PPEB Peb;
if (lpVersionInformation->dwOSVersionInfoSize != sizeof( *lpVersionInformation )) {
SetLastError( ERROR_INSUFFICIENT_BUFFER );
return FALSE;
}
Peb = NtCurrentPeb();
lpVersionInformation->dwMajorVersion = Peb->OSMajorVersion;
lpVersionInformation->dwMinorVersion = Peb->OSMinorVersion;
lpVersionInformation->dwBuildNumber =Peb->OSBuildNumber;
lpVersionInformation->dwPlatformId = Peb->OSPlatformId;
wcscpy(lpVersionInformation->szCSDVersion,BaseCSDVersion );
return TRUE;
}
问题:是否有已经公开或泄露的windows源代码(较全),能够查询到其他的API源码实现?我下载了泄露的xp源码,里面大多是ntdll的部分实现,没有常规ring3的API的实现。上面的API只是单独举例,并不是仅包含此API。 |
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|