Изменение имени окна Cabal

Тема в разделе "Cabal Online", создана пользователем vasilachyk, 17 ноя 2017.

  1. vasilachyk

    vasilachyk Капля-Доверия
    Админы не рекомендуют.

    Регистрация:
    17 ноя 2017
    Сообщения:
    156
    Симпатии:
    11
    Skype:
    l2meganet.org.ua
    ВНИМАНИЕ: Это учебное пособие по передаче знаний, если вы прочитаете до конца, вы немного узнаете об ассемблере.



    Хорошо, поскольку я вижу, что несколько серверов используют только заголовок окна как CABAL, я пришел, чтобы привести учебник в ASM о том, как изменить это, не имея проблем с сбоем в игре.

    Я дам вам объяснение того, как исполняемый файл работает с этой строкой. В принципе, определенное смещение в исполняемом файле перемещает строку из окна каббала в нее, ниже я оставлю смещение.

    Смещение, из которого будет считываться функция: DSP MOV DWORD 0047256D: [ESI + 0x278], 0xAC6874

    В основном он перемещает смещающую строку 00AC6874 на смещение 0047256D

    Если мы дадим ctrl + G и перейдем к офсету 00AC6874, мы найдем текущую строку исполняемого окна.

    Мы остановимся на следующей строке 00AC6874 43 INC EBX, просто щелкните ее правой кнопкой мыши и перейдите к следующему im dump / selection.

    Строка окна будет разделена на 5 байтов, если они, 43 41 42 41 4C и еще один BYTE 00, я уже объясняю, что он служит.

    ну в принципе вы могли бы изменить имя окна там, но если вы поместите имя с более чем 7 байтами, просто его функция не будет работать. Ну, эта часть должна была просто объяснить, как это работает, теперь в следующем уроке я расскажу вам, как поставить огромную строку без проблем.



    Пойдем, зная, что для размещения большого имени мне нужно хорошее место, я нашел это смещение «00A08C74», в котором он позволяет мне указать имя, которое может содержать до 12 байт. ctrl + E поверх этого смещения и записывает имя вашего окна в поле ASCII. моя строка стала «TEST CABAL», в которой она заняла 11 байт памяти, я оставил 1 BYTE пустым, чтобы положить 00, этот байт 00 для исполняемого файла распознает, что строка достигла конца, если это место не помещено просто он будет исправлять строку с тем, что внизу, и никогда не закончится.



    моя роль была такой:
    [​IMG]
    После этого просто нажмите OK и введите ctrl + A.



    И это результат:

    [​IMG]
    Наша функция выполнена, теперь мы должны выполнить функцию, которую использует cabal, чтобы назвать окно, считываем наше смещение, поэтому возвращаем его обратно в смещение 0047256D, давая ctrl + G.

    исходная функция следующая: DSP MOV DWORD: [ESI + 0x278], 0xAC6874

    Поэтому мы должны изменить это смещение на наш, которое в случае 00A08C74, просто дать 2 клика и изменить, и функция будет выглядеть так.

    MOV DWORD PTR DS: [ESI + 0x278], 0xA08C74



    Теперь просто щелкните правой кнопкой мыши, перейдите к копированию в исполняемый файл, все изменения, скопируйте все. в маленьком окне, которое открывается, просто пойдите с правом и зайдите в файл сохранения и сохраните.



    И вот результат

    [​IMG]
    Обучение видео, как выполнить процедуру:



    Спасибо, что прочитали.
     

Партнеры