Сама прога написана на Delphi (2010-XE6). Функция получения своеобразного хеша, на вход принимает порт сервера, должна возвращать хеш (32). Code: int __fastcall Serverfunctionscontrol::TestMd5(int a1, char *a2) { Serverfunctionscontrol *v2; // eax Serverfunctionscontrol *v3; // eax int v5; // [esp-18h] [ebp-34h] int v6; // [esp-14h] [ebp-30h] char v7; // [esp-10h] [ebp-2Ch] unsigned int v8; // [esp-10h] [ebp-2Ch] struct _EXCEPTION_REGISTRATION_RECORD *ExceptionList; // [esp-Ch] [ebp-28h] BYREF void *v10; // [esp-8h] [ebp-24h] int *v11; // [esp-4h] [ebp-20h] int v12; // [esp+0h] [ebp-1Ch] BYREF int v13; // [esp+4h] [ebp-18h] BYREF int v14; // [esp+8h] [ebp-14h] BYREF int v15; // [esp+Ch] [ebp-10h] BYREF char v16[4]; // [esp+10h] [ebp-Ch] BYREF char *v17; // [esp+14h] [ebp-8h] char SelfInsert[4]; // [esp+18h] [ebp-4h] BYREF int savedregs; // [esp+1Ch] [ebp+0h] BYREF *(_DWORD *)v16 = 0; v15 = 0; v14 = 0; v13 = 0; v12 = 0; v17 = a2; *(_DWORD *)SelfInsert = a1; System::__linkproc__ UStrAddRef(a1); v11 = &savedregs; v10 = &loc_A69E85; ExceptionList = NtCurrentTeb()->NtTib.ExceptionList; __writefsdword(0, (unsigned int)&ExceptionList); v7 = SelfInsert[0]; Serverfunctionscontrol::GetIPs((Serverfunctionscontrol *)&v13); v5 = v13; System::__linkproc__ UStrCatN(&v14, 3); System::__linkproc__ LStrFromUStr(v5); v2 = (Serverfunctionscontrol *)System::__linkproc__ LStrToPChar(v15); Serverfunctionscontrol::MD5(v2, v16); System::__linkproc__ UStrInsert((int)L"r2d2", v7); System::__linkproc__ LStrFromUStr(v6); v3 = (Serverfunctionscontrol *)System::__linkproc__ LStrToPChar(v12); Serverfunctionscontrol::MD5(v3, v17); __writefsdword(0, v8); v10 = &loc_A69E8C; System::__linkproc__ LStrClr(&v12); System::__linkproc__ UStrArrayClr(&v13, 2); System::__linkproc__ LStrClr(&v15); System::__linkproc__ UStrClr(v16); return System::__linkproc__ UStrClr(SelfInsert); } Внутри получаем IP машины (GetIPs), а вот что происходит дальше, не совсем понимаю: Вижу, что порт преобразуем в строку длиной 4 символа, вроде как: 1. Получаем MD5 хеш IP адреса 2. В начало строки номера порта добавляем соли "r2d2" 3. Складываем md5IP + соль + порт и возвращаем MD5 всего этого. Но, увы нет, на выходе не то, что ожидается (есть валидный хеш от конкретного IP и Порта) Может кто поправит/подскажет что же всё таки делает функция ?