Вообщем застрял не могу понять строка какого вида дожна передаться в функцию что бы выполнилось условие. Функция полученна с помощью Hex-Rays. Код (Text): void __fastcall check_string(LPCSTR lpString) { int v1; // eax@1 LPCSTR v2; // ebx@1 int v3; // esi@1 int v4; // eax@5 int v5; // edx@5 v2 = lpString; //ПринЯта строка v1 = lstrlenA(lpString); //Размер стороки v3 = v1; //ПроверЯет на наличие тегов TCS(743654228>>,SCT) и HST(743723848) if ( v1 >= 8 && (*((DWORD *)v2 + 1) == 743654228 || *((DWORD *)v2 + 1) == 743723848) && v1 - 1 >= 3 ) { v5 = v1 - 4 + 1; v4 = 3; while ( v2[v4] != 59 )//Проверет переданную строку, и если записи разделены символом ";" извлекаютсЯ эти данные и пердаютсЯ обработчику. { ++v4; --v5; if ( !v5 ) return; } if ( v4 < v3 - 1 ) f_obrabotchika((int)&v2[v4 + 1], v3 - v4 - 1); //Передача обработчику } мне нужно попасть на строку вызова функции f_obrabotchika! по идеи должно быть как то типо HST,;xxxyxyxxxxxxxxxxxx, но почему то не работает!
Теоретически, Длина строки должна быть не меньше 8 символов. Второй символ должен быть одним из тэгов. Четвертый символ должен быть символом ";" И вот это напрягает (*((DWORD *)v2 + 1) Проще было бы всё понять через дизассемблер, наверное.