大概看了一下就是一个可以让远程服务支持库开的服务器崩溃的漏洞,应该与以下代码有关
int __stdcall sub_10004B30(LPVOID lpThreadParameter)
{
int v1; // eax
int v2; // ebx
int *v3; // esi
_DWORD *v4; // eax
int v5; // ecx
int addrlen; // [esp+8h] [ebp-14h] BYREF
struct sockaddr addr; // [esp+Ch] [ebp-10h] BYREF
v1 = *((_DWORD *)lpThreadParameter + 8);
addrlen = 16;
if ( !v1 )
return 0;
do
{
v2 = accept(*((_DWORD *)lpThreadParameter + 7), &addr, &addrlen);
if ( v2 >= 0 )
{
v3 = (int *)malloc(0x20u);
*v3 = v2;
v3[1] = 0;
v3[5] = 5;
v3[4] = 0;
v3[6] = 0;
v3[7] = -1;
v3[2] = 0;
v3[3] = 0;
sub_10003750(v2);
sub_10006740(*((_DWORD *)lpThreadParameter + 9), v3);
v4 = malloc(0x1Cu);
v5 = *v3;
v4[1] = 0;
*v4 = v5;
v4[2] = 0;
v4[3] = 0;
v4[6] = 0;
sub_10005CC0(*((_DWORD *)lpThreadParameter + 12), v4);
}
}
while ( *((_DWORD *)lpThreadParameter + 8) );
return 0;
}
|