Рейтинг темы:
  • 1 Голос(ов) - 5 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Редактируем interface.u (Hex вариант)
#1
Раз уж пошла такая пьянка с большим интересном к редактированию интерфейса решил поговорить о насилии редактировании interface.u. На вбросы уровня гуру в этом направлении не претендую, но думаю пара-тройка людей оценит.

Итак, инструментарий:
- UTPT
- l2decrypt (либо кому-чем удобно декомпилить клиентские файлы)
- Хекс редактор. Я использую 010 Editor

В качестве примера запилим следующую штуку*:
[Изображение: d6b7nZdfJXM.jpg]
*Сделано в качестве примера, многого ожидать не стоитSmile

Открыв в UT Package Tool interface.u, ищем нужный участок кода (для просмотра выбираем нужный класс \ функцию -> ПКМ -> Decompile). В примере один из вариантов - это

TargetStatusWnd -> HandleTargetUpdate
Код:
if ( bShowHPBar && (GetGameStateName() != "SPECIALCAMERASTATE") )
  {
    barHP.ShowWindow();
  } else {
    [color=Red]barHP.HideWindow(); [/color]
  }
Цель: заменить barHP.HideWindow() на barHP.ShowWindow().
Так независимо от кода выше будет отображаться HP, для всех целей в таргете.
Для этого нужно найти barHP.HideWindow() в байт коде. Тут поможет смещение:

[Изображение: 3qE_bVJXL5s.jpg]

Как включить отображение смещений в коде
Переходим к байт коду, для этого в UTPT жмем ПКМ по HandleTargetUpdate и выбираем Analize Raw Object
IMG

В появившемся окне жмем Format -> Auto format, в результате получаем следующий вид:
IMG

Далее - Jump -> To Object Offcet и вставляем смещение нужной строки (у нас это 0x00000755)
IMG

Получаем:
img
Т.е. barHP.HideWindow() соответствует 19 01 47 33 06 00 00 1C 96 16 в байт-коде.
Такую же процедуру проворачиваем и с barHP.ShowWindow(). Ему соответствует 19 01 47 33 06 00 00 1C A1 16.

Теперь собственно к редактированию:
Анпакаем interface.u. Я это делаю банальным перестаскиванием interface.u на l2decrypt.exe в проводнике, в результате чего появляется interface.u.clear, с ним и будем работать. Можно прогнать l2endec'ом, или еще чем...
Анпакнутый u открываем в хекс-редакторе и ищем строку с необходимым байт-кодом (Ctr + F -> 19 01 47 33 06 00 00 1C 96 16).

IMG

Может так статься, что таких же строк будет найдено больше одной, тогда то и понадобиться "глобальное смещение".
Тут правда у меня вылез ньанс - когда смещение предлагаемое UTPT не совсем совпадает с реальным смещением для строки в хекс редакторе, так что остается следить на глаз:Olen':

img

Заменяем 19 01 47 33 06 00 00 1C 96 16 на 19 01 47 33 06 00 00 1C A1 16 ( по сути один байт)

img

сохраняем, упаковываем (опять же любым доступным способом), готово.

Результат

Почему 010 Editor?

Может кто подкинет варианты упрощения процедуры, а то и вовсе другие варианты, был бы радSmile
Aka Stels
Ответ
#2
Вопрос из разряда "просто интересно": А бар живой? Или не отображает действительность на хп игроков?
Ответ
#3
Отображает
Вброшу:
[Изображение: dlya-chaynikov-mem_110314077_orig_.png]
[Изображение: 4e38c909fcd08c5fcdf363b54a62.png]
Ответ
#4
Emperor Написал:Вопрос из разряда "просто интересно": А бар живой? Или не отображает действительность на хп игроков?

В этом варианте отображает на момент взятия в таргет, дальше не меняется.
Aka Stels
Ответ
#5
Shayne Написал:В этом варианте отображает на момент взятия в таргет, дальше не меняется.
Не до конца доломали просто Smile
[Изображение: 4e38c909fcd08c5fcdf363b54a62.png]
Ответ
#6
Не в том месте. Да и полоску двигать нужно, но это уже следующая историяBig Grin
Aka Stels
Ответ
#7
ну гайд, профа вместо статуса, был бы более актуален)
Ответ
#8
ChiF;409612 Написал:ну гайд, профа вместо статуса, был бы более актуален)
[Изображение: Double-Extreme-Facepalm-05.png]
Ответ
#9
ChiF Написал:ну гайд, профа вместо статуса, был бы более актуален)
Давай файлом скину да и всё, зачем эти гайды?)
Aka Stels
Ответ
#10
Shayne Написал:Давай файлом скину да и всё, зачем эти гайды?)
он сам всё хочет
чтоб сделать такой же патч как в шаре
но сделал то сам :redlol:
6k mmr es player
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  Interface.u с исходниками Fufarion(162 Protocol +) LightFusionMain 6 3,875 01-25-2023, 03:54 AM
Последний пост: Phantom-Dev
  interface.xdat Interlude 2 строки Tiger7th 1 2,445 08-20-2020, 06:41 PM
Последний пост: Pandorum
  Interface.u с исходниками HOMUNCULUS(272 Protocol ) LightFusionMain 0 1,680 06-11-2020, 05:52 PM
Последний пост: LightFusionMain
  Компилятор Freya или GF Interface.u ulti 0 1,623 01-22-2020, 01:29 PM
Последний пост: ulti
  interface.u HF LonelyDragon 1 1,667 01-12-2019, 02:30 AM
Последний пост: Emperor
  Newline pays for its interface service! RedlineNLG 0 1,390 07-13-2018, 02:12 AM
Последний пост: RedlineNLG
  Возможен-ли взлом через interface.u ? IshikavA 4 1,957 07-06-2018, 10:37 PM
Последний пост: Shell
  Помощь interface.u запуск звука по кнопке i0cks 14 3,799 06-27-2018, 11:28 PM
Последний пост: i0cks
  Повесить на OnClickButton отправку строки в системный чат (Interface.u) GORA 8 2,169 06-23-2018, 02:42 PM
Последний пост: i0cks
  ServerList Interface.xdat flopix 6 2,291 02-18-2018, 06:02 PM
Последний пост: jr__

Перейти к форуму:


Пользователи, просматривающие эту тему: 1 Гость(ей)