解读 GetDllVersionString
获得 wcp.dll 版本号
10.0.10240.16565
第一个参数是 BOOL 值,不知道是干什么用的,0,1 都不影响结果。
第二个是输出参数,类型为 LUNICODE_STRING。
//----- (101EB707) --------------------------------------------------------
int __fastcall WCP::Rtl::GetDllVersionString(void *a1, int a2)
{
v2 = a2;
RtlGetVersionResource(a1, &Dst, v4, v5);
result = RtlInitLUnicodeStringFromNullTerminatedString(&v19, (int)&v6);
if ( result >= 0 )
{
result = RtlInitLUnicodeStringFromNullTerminatedString(&v20, (int)&v12);
if ( result >= 0 )
{
result = RtlInitLUnicodeStringFromNullTerminatedString(&v21, (int)&v15);
if ( result >= 0 )
{
result = RtlInitLUnicodeStringFromNullTerminatedString(&v22, (int)&v9);
if ( result >= 0 )
{
v23 = *(_DWORD *)&v6;
v24 = v7;
v25 = v8;
v26 = g_LUNICODE_STRING__dot_;
v27 = *((_DWORD *)&g_LUNICODE_STRING__dot_ + 1);
v28 = *((_DWORD *)&g_LUNICODE_STRING__dot_ + 2);
v29 = *(_DWORD *)&v12;
v30 = v13;
v31 = v14;
v32 = g_LUNICODE_STRING__dot_;
v33 = *((_DWORD *)&g_LUNICODE_STRING__dot_ + 1);
v34 = *((_DWORD *)&g_LUNICODE_STRING__dot_ + 2);
v35 = *(_DWORD *)&v15;
v36 = v16;
v37 = v17;
v38 = g_LUNICODE_STRING__dot_;
v39 = *((_DWORD *)&g_LUNICODE_STRING__dot_ + 1);
v40 = *((_DWORD *)&g_LUNICODE_STRING__dot_ + 2);
v41 = *(_DWORD *)&v9;
v42 = v10;
v43 = v11;
v44 = 0;
v45 = 0;
v46 = 0;
result = RtlConcatenateLUnicodeStrings(0, 8u, &v23, v2);
if ( result >= 0 )
result = 0;
}
}
}
}
return result;
}