Помогите отучить программу

Тема в разделе "WASM.RESEARCH", создана пользователем Zhbanito, 11 июл 2008.

  1. twgt

    twgt New Member

    Публикаций:
    0
    Регистрация:
    15 янв 2007
    Сообщения:
    1.494
    Может легче в игре пропатчить место где она это говорит и посмотреть как запускается игра)
     
  2. Zhbanito

    Zhbanito New Member

    Публикаций:
    0
    Регистрация:
    20 июл 2007
    Сообщения:
    23
    это врядли будет безопаснее... тем более мне кажется что игра запускается с каким-то параметром, как минимум я в апдейтере нарыл параметр -savemode, что подтверждает теорию ибо после всех проверок апдейтер предлагает запуск игры в save режиме, так что вариантов 2. Или обойти все проверки или научиться запускать программу непосредственно

    тем более если я не могу пересобрать апдейтер, куда мне до самой игры...

    какая-то тупизна с unicode 0, <"">, 0
     
  3. twgt

    twgt New Member

    Публикаций:
    0
    Регистрация:
    15 янв 2007
    Сообщения:
    1.494
    Попробуй с -nodefault или -nolaunch запустить CohUpdater.
     
  4. Zhbanito

    Zhbanito New Member

    Публикаций:
    0
    Регистрация:
    20 июл 2007
    Сообщения:
    23
    не то

    я бегло пробежался и кажется, что все-таки сама игра смотрит кто ее вызвал и из этого оперирует... так что нужно пользоваться планом А. Отучивать Апдейтер совать мне палки в колеса
     
  5. twgt

    twgt New Member

    Публикаций:
    0
    Регистрация:
    15 янв 2007
    Сообщения:
    1.494
    Пишешь в фасме
    invoke WinExec,"coh.exe"
    ....и называешь файл CohUpdater.exe
    Это я конечно утрирую, но я бы отучивал саму игру от апдейтера.
    А crypto и roman_pro сказали самый лучший вариант - пересчитать хэши. Если их список не проверяется в интернете, то будет самое то.

    ----------
    Есть ещё глупый вариант)
    Поставить Пакет Denver, открыть на локальной машине веб сервер с адресом coupdate.coh.com и выложить туда пропадченные файлы)
     
  6. crypto

    crypto Active Member

    Публикаций:
    0
    Регистрация:
    13 дек 2005
    Сообщения:
    2.533
    Zhbanito
    А зачем пересобирать дизассемблированный код? Нужно патчить саму программу в 16-ричном редакторе.
     
  7. Zhbanito

    Zhbanito New Member

    Публикаций:
    0
    Регистрация:
    20 июл 2007
    Сообщения:
    23
    как же мне это подобрать? я хочу по 404793 вставить mov ecx, 0 ... пока тока получилось вставить
    mov ecx, [ebp+0] оно же 8B 8D 00 00 00 00
     
  8. crypto

    crypto Active Member

    Публикаций:
    0
    Регистрация:
    13 дек 2005
    Сообщения:
    2.533
    Zhbanito
    Сделай две замены:
    1. Адрес 0x404793: меняешь байты 0x74, 0x4E на 0x90, 0x90 (короче правишь команду jz на nop, nop)
    2. Адрес 0x404806 : меняешь байты 0x74, 0x0D на 0x90, 0x90 (короче правишь команду jz на nop, nop)

    Если это прокатит, то проще изменить текст процедуры FileChecksum (адрес 0x40404D), чтобы она всегда возвращала 1 (если я не ошибся :)). Твое дело - проверить гипотезу, так как игры у меня нет.
     
  9. Zhbanito

    Zhbanito New Member

    Публикаций:
    0
    Регистрация:
    20 июл 2007
    Сообщения:
    23
    он в самом начале сам себя проверяет :)

    ситуация такая. сначала идет подключение к какому-то серверу, а потом идет проверка апдейтера. ну а дальше поскольку апдейтер бракованый, то закачивается новый
    интересно а сам апдейтер проверяется функцией FileChecksum?
     
  10. crypto

    crypto Active Member

    Публикаций:
    0
    Регистрация:
    13 дек 2005
    Сообщения:
    2.533
    Zhbanito
    Можешь указать адрес, где это происходит? Я не могу скачать игру, соответственно дебужить тоже не могу. Я так понимаю, что ты просто обязан добраться без проблем до адреса 407707, где вызывается функция clientPatch. И объясни все-таки идеологию обновлений (что такое к примеру major_patch, client_patch...)
     
  11. Zhbanito

    Zhbanito New Member

    Публикаций:
    0
    Регистрация:
    20 июл 2007
    Сообщения:
    23
    я не знаю адреса этого... это происходит при запуске апдейтера, пишется процесс. вообще тебе игра и не нужна... апдейтер независимая программа, которая в случае отсутствия игры закачивает ее, так что можешь его "пропатчить" и попробывать запустить, тогда увидишь то, что вижу я.

    идеологию я не знаю, т.к. она скрыта от конечного пользователя. Ты просто ждешь пока апдейтер сделает что ему нада и нажимаешь на кнопку Next

    major_patch видимо самая последняя версия патча
    client_patch видимо текущая установленная версия патча

    как минимум я вроде подобрался к инициализации сети (слава богу, я с WinSock на ты), значит где-то рядом подключение к серверу, а чуть дальше собственно проверка самого Апдейтера
     
  12. crypto

    crypto Active Member

    Публикаций:
    0
    Регистрация:
    13 дек 2005
    Сообщения:
    2.533
    Zhbanito
    Вот я закачать ее и не могу (политики админстрации не позволяют). Ладно, попробуем так, без всего.
     
  13. crypto

    crypto Active Member

    Публикаций:
    0
    Регистрация:
    13 дек 2005
    Сообщения:
    2.533
    Zhbanito
    Давай еще попробуем вариант - я тебе буду говорить точки бряка для дебуггера, а ты будешь сообщать, добрался ты до этого места или нет.
    ЗЫ
    Чтобы не разводить флуд в топике, можно информацией обмениваться через личные сообщения.
     
  14. crypto

    crypto Active Member

    Публикаций:
    0
    Регистрация:
    13 дек 2005
    Сообщения:
    2.533
    Видимо тему можно закрыть, поскольку сам топикстартер посоветовал на нее забить ввиду бесперспективности :)
     
  15. ktoto

    ktoto New Member

    Публикаций:
    0
    Регистрация:
    12 мар 2008
    Сообщения:
    21
    А можно увидеть что там ниже это строчки ? Думается нужная проверка чуть пониже .
     
  16. crypto

    crypto Active Member

    Публикаций:
    0
    Регистрация:
    13 дек 2005
    Сообщения:
    2.533
    ktoto
    Уже нельзя, файлы удалены :)