Помогите сотавить параметр котрый передается в функцию.

Тема в разделе "WASM.RESEARCH", создана пользователем xenom0rph, 10 апр 2009.

  1. xenom0rph

    xenom0rph New Member

    Публикаций:
    0
    Регистрация:
    2 апр 2009
    Сообщения:
    59
    Вообщем застрял не могу понять строка какого вида дожна передаться в функцию что бы выполнилось условие. Функция полученна с помощью Hex-Rays.
    Код (Text):
    1. void __fastcall check_string(LPCSTR lpString)
    2. {
    3.   int v1; // eax@1
    4.   LPCSTR v2; // ebx@1
    5.   int v3; // esi@1
    6.   int v4; // eax@5
    7.   int v5; // edx@5
    8.  
    9.   v2 = lpString; //ПринЯта строка
    10.   v1 = lstrlenA(lpString); //Размер стороки
    11.   v3 = v1;
    12.   //ПроверЯет на наличие тегов TCS(743654228>>,SCT) и HST(743723848)
    13.   if ( v1 >= 8 && (*((DWORD *)v2 + 1) == 743654228 || *((DWORD *)v2 + 1) == 743723848) && v1 - 1 >= 3 )
    14.   {
    15.     v5 = v1 - 4 + 1;
    16.     v4 = 3;
    17.     while ( v2[v4] != 59 )//Проверет переданную строку, и если записи разделены символом ";" извлекаютсЯ эти данные и пердаютсЯ обработчику.
    18.     {
    19.       ++v4;
    20.       --v5;
    21.       if ( !v5 )
    22.         return;
    23.     }
    24.     if ( v4 < v3 - 1 )
    25.       f_obrabotchika((int)&v2[v4 + 1], v3 - v4 - 1); //Передача обработчику
    26.   }
    мне нужно попасть на строку вызова функции f_obrabotchika! по идеи должно быть как то типо HST,;xxxyxyxxxxxxxxxxxx, но почему то не работает!
     
  2. bendme

    bendme New Member

    Публикаций:
    0
    Регистрация:
    10 мар 2009
    Сообщения:
    179
    Теоретически,
    Длина строки должна быть не меньше 8 символов.
    Второй символ должен быть одним из тэгов.
    Четвертый символ должен быть символом ";"

    И вот это напрягает (*((DWORD *)v2 + 1)

    Проще было бы всё понять через дизассемблер, наверное.
     
  3. xenom0rph

    xenom0rph New Member

    Публикаций:
    0
    Регистрация:
    2 апр 2009
    Сообщения:
    59
    всё решил эту задачу