Перейти к содержанию

Kiorn

Стажёры
  • Постов

    5
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные Kiorn

  1. 8 минут назад, Garik66 сказал:

    ЗЫ: забыл, у тебя там строка в уникоде, поэтому скорее всего это 

    
    cmp [ecx+0C],'Play'    // Первые 4 байта
    jne.....

    тоже не сработает, т.к. 'привет' слеши для обычного текста, поэтому скорее всего нужно будет перевести в HEX.

    Garik66, спасибо большое!

    Проблема была в [eax+0000011C] (Play уплыл от туда).

    Нашел другое значение и без Sting'ов.

    Проблема решена.

    Ребята! Всем СПАСИБО за помощь!!!

    • Плюс 1
  2. 10 минут назад, Garik66 сказал:

    Приведи свой скрипт - > объясню где у тебя ошибка и почему валится игра.

    В своих уроках я неоднократно этот вопрос затрагивал и показывал.

     

    Спойлер
    
    [ENABLE]
    
    aobscan(Items_Condition,D9 80 64 01 00 00 DE) // should be unique
    alloc(IC,$256)
    
    
    label(return)
    label(metka1)
    label(IC_1)
    registersymbol(IC_1)
    
    
    IC:
      mov ecx,[eax+0000011C]
      cmp [ecx+0C],'Play_Snd'
      jne metka1
      add [IC_1],1
      metka1:
      mov ecx,0
    
      fld dword ptr [eax+00000164]
      jmp return
    
    IC_1:
    dd 0
    
    Items_Condition:
      jmp IC
      nop
    return:
    registersymbol(Items_Condition)
    
    [DISABLE]
    
    Items_Condition:
      db D9 80 64 01 00 00
    unregistersymbol(Items_Condition)
    unregistersymbol(IC_1)
    dealloc(IC)

     

     

    Причину краша я нашел. Лишняя 1 в адресе была. Теперь счетчик не могу заставить работать((

    А уроки я посмотрю, обязательно.

  3. 26 минут назад, Xipho сказал:

     

    Не совсем понял, что ты имеешь в виду. К какому сравнению нужно перейти? Где-то в коде сравнивается эта строка с чем-то или что? 

    Сравнение, в данном случае, не важно. Можно заменить другой командой.

    Гражданин ReWanet узрел суть вопроса).

    Этот способ мне известен, но не подходит....

    Есть ли другой вариант?

  4. 4 минуты назад, ReWanet сказал:

    Берешь регистр незанятый и пишешь
    eax - незанятый регистр
    ebx - регистр где хранится начало твоей структуры
    +XX - смещения
    mov eax,[ebx+11C]
    cmp [eax+0C],'Play_SndIv'

    Надеюсь я тебя правильно понял.

    Правильно понял)

    Спасибо! Но не катит, игра падает.

    Способ только один?

     

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.