Инженерный анализ, Reverse Engineering |
Здравствуйте, гость ( Вход | Регистрация )
Инженерный анализ, Reverse Engineering |
26 Mar 2010, 15:56
Сообщение
#41
|
|
Life... Сообщений: 1 118 Спасибо сказали: 1013 раза |
Код int null; //?? - Может это невозможность появления заклинания на карте? Но тогда было бы достаточно типа bool
-------------------- Хочешь узнать тайны своего компьютерного почерка?
Я смогу помочь тебе в этой теме |
|
|
26 Mar 2010, 15:58
(Сообщение отредактировал feanor - 26 Mar 2010, 15:58)
Сообщение
#42
|
|
laughed as one fey Сообщений: 12 166 Спасибо сказали: 20585 раз |
Для этого есть другая таблица, емнип. У меня вчера было подозрение на SS:O, но проверять уже влом было
|
|
|
26 Mar 2010, 16:45
Сообщение
#43
|
|
Etoprostostatus Сообщений: 8 527 Спасибо сказали: 15833 раза |
Цитата(Astaroth @ 26 Mar 2010, 15:56) Код int null; //?? - Может это невозможность появления заклинания на карте? Но тогда было бы достаточно типа boolbool и есть int32. Как правило. -------------------- Etoprostopodpis'
|
|
|
27 Mar 2010, 08:02
Сообщение
#44
|
|
Анти-Всë Сообщений: 2 989 Спасибо сказали: 2376 раз |
Цитата(Entuser @ 22 Jan 2008, 11:10) 7AD78 - тут в екзишнеке храниться число 5 - после загрузки изменяется на 34(HEX) - влияет на число загружаемых строк в ZCRTRAITS. mem 007012A4 / file 29C2A4 - изменяет это значение и много других Объяснение. Файл с параметрами монстров был разбит разработчиками (видимо, для личного удобства) на разделы с промежутками в три строки, и грузится он пораздельно. Число 5 - это не что иное, как кол-во строк, грузящихся из последнего раздела текстовика (5 боевых машин). Соотвественно, ВОГ изменяет это значение на своё - 34h, что в exe по адресу 0x32532C. С CrAnim-ом - абсолютно аналогично. -------------------- Circle of destruction, hammer comes crushing
Powerhouse of energy Whipping up a fury, dominating flurry We create the battery |
|
|
30 Mar 2010, 10:15
Сообщение
#45
|
|
Анти-Всë Сообщений: 2 989 Спасибо сказали: 2376 раз |
Шарпшутерство
75DD50 cmp eax,00000095h 75DD55 jz L0075DDD2 75DD57 cmp eax,00000089h 75DD5C jz L0075DDD2 75DD5E cmp eax,000000AAh 75DD63 jz L0075DDD2 75DD65 cmp eax,000000ABh 75DD6A jz L0075DDD2 То есть, прямой стрелой пуляют 3 снайпера + Стрелковая Башня. Нет пенальти за препятствия 760590 cmp eax,00000022h 760593 jz L00760622 760599 cmp eax,00000023h 76059C jz L00760622 7605A2 cmp eax,00000088h 7605A7 jz L00760622 7605A9 cmp eax,00000089h 7605AE jz L00760622 7605B0 cmp eax,00000095h 7605B5 jz L00760622 7605B7 cmp eax,000000AAh 7605BC jz L00760622 7605BE cmp eax,000000ABh 7605C3 jz L00760622 То, что этот бонус даёт флаг 2048 - сказки. -------------------- Circle of destruction, hammer comes crushing
Powerhouse of energy Whipping up a fury, dominating flurry We create the battery |
|
|
11 Apr 2010, 21:17
(Сообщение отредактировал feanor - 09 May 2012, 17:58)
Сообщение
#46
|
|
laughed as one fey Сообщений: 12 166 Спасибо сказали: 20585 раз |
Комбо-артефакты
Кажется, таблица комбо-артефактов расположена по адресу 788BF8. [00660B6C] Формат хранения данных - что-то похожее на битовое поле, 18h байт на запись. |
|
|
14 Apr 2010, 23:59
Сообщение
#47
|
|
Immortal Сообщений: 6 260 Спасибо сказали: 12647 раз |
Размещаю изыскания Master Of Puppets, по его же просьбе.
Ненависть 443138 mov dl,[eax+CASE_004434DC] 44313E jmp [CASE_PROCTABLE_004434C8+edx*4] В маленькой (монстры 112-129) таблице 5 значений. Значения 00-03 чисто для элементалей - каждый элементаль ненавидит обоих элементалей противоположной стихии. Управление, однако, всё равно передаётся на PROC0004 - она же для остальных существ, т.е., там case вложен в case. Диапазон - от Ангела до Чёрного Дракона. Содовский код там имеет вид: CASE_004434C8_PROC0004: 443195 mov eax,[edi+34h] 443198 add ecx,FFFFFFF4h 44319B cmp ecx,00000047h 44319E ja CASE_004434F0_PROC0006 4431A4 xor edx,edx 4431A6 mov dl,[ecx+CASE_0044350C] 4431AC jmp [CASE_PROCTABLE_004434F0+edx*4] Однако при запуске WoG код изменяется так: CASE_004434C8_PROC0004: 443195 mov ecx,[ebp+08h] 443198 call SUB_L00766DE6 44319D or eax,eax 44319F jz L00443410 4431A5 mov ecx,[ebp-10h] 4431A8 jmp L00443211 4431AA nop 4431AB nop Код меняет отрезок воговского копирования exe3273A4-3273AF (78BD8Ch/443195h/17h). В итоге ненавистью существ в WoG занимается SUB_L00766E14, куда скопирован и case, и таблица СОДа. Туда же, видимо, встроена и ненависть через опыт существ. При условии, что тип существа соответствует "ненавистному", задаётся процент доп. урона. В СОД это унифицировано, в ВОГ же - рутинно задаётся одной и той же командой: mov dword ptr [ebp-0Ch],00000032h Исключения - Титан и Чёрный Дракон. У них это: mov dword ptr [ebp-0Ch],00000005h Похоже на опечатку: вместо 150% урона - 105%. Несложный тест подтверждает, что баг реален и мы с ним жили.( Впрочем, у себя я его уже исправил. Кстати, и в СОД, и в ВОГ Чёрный Дракон равнодушен к Гигантам. Справедливо - Титан тоже равнодушен к Красным. Независимо от реальных процентов доп. урона, в логе битвы будет показано "50%". Проблема в упрощённом обращении к строке genrltxt.txt. Кавалерийский бонус 75D823 cmp dword ptr [L028460C0],0000000Ah; - Каварелист 75D82A jnz L0075D838 75D82C mov dword ptr [L02846420],0000000Bh 75D836 jmp L0075D860 75D838 cmp dword ptr [L028460C0],0000000Bh; - Чемпион 75D83F jnz L0075D84D 75D841 mov dword ptr [L02846420],0000000Bh Отсос 2-х очков маны 4650D0 sub eax,0000003Dh; - Привидение .......... 465174 add eax,FFFFFFFEh; - кол-во забираемых очков Магический канал 5A24DC cmp dword ptr [eax-000000C0h],0000002Bh; - Чёрт Смертельный удар 766DB9 sub eax,43; - Рыцарь Смерти 4435C0 jz L004435D1 ............ 4436DE cmp eax,00000014h; - шанс срабатывания абилки Снижение стоимости заклинаний 766BFA cmp dword ptr [ebp-18h],00000022h - Маг 766BFE jz L00766C06 766C00 cmp dword ptr [ebp-18h],00000023h - АрхиМаг 766C04 jnz L00766C0D 766C06 mov dword ptr [ebp-0Ch],00000002h - кол-во очков на удешевление Особые земли Case: 4FD5A1 mov cl,[eax+CASE_004FD5E8] 4FD5A7 jmp [CASE_PROCTABLE_004FD5D0+ecx*4] Проверки для подсказок при наведении мыши, ПКМ и для !!TR: 4FD52A cmp eax,00000015h 4FD52D lea ecx,[edi+ecx*4] 4FD530 jz L004FD57F 4FD532 cmp eax,0000002Eh 4FD535 jz L004FD57F 4FD537 cmp eax,000000E3h 4FD53C jz L004FD57F 4FD53E cmp eax,000000E0h 4FD543 jz L004FD57F 4FD545 cmp eax,000000DEh 4FD54A jz L004FD57F 4FD54C cmp eax,000000E1h 4FD551 jz L004FD57F 4FD553 cmp eax,000000E4h 4FD558 jz L004FD57F 4FD55A cmp eax,000000E2h 4FD55F jz L004FD57F 4FD561 cmp eax,000000E7h 4FD566 jz L004FD57F 4FD568 cmp eax,000000E5h 4FD56D jz L004FD57F Посмотреть журнал !!SN:E5433616/1; -------------------- |
|
|
16 Apr 2010, 21:32
Сообщение
#48
|
|
Member Сообщений: 97 Спасибо сказали: 80 раз |
Маленькое наблюдение.
Описанные тобой, МОР, свойства монстров,а именно: снижение стоимости заклинания, кавалерийский бонус, пенальти за расстояние и шарпшутерство - находятся почему-то в секции кода ЗВС? Тем не менее эти свойства есть и в оригинальном СОДе, может это промежуточный код? |
|
|
16 Apr 2010, 21:53
Сообщение
#49
|
|
laughed as one fey Сообщений: 12 166 Спасибо сказали: 20585 раз |
Емнип, абилки вынесены в воговскую секцию для возможности относительно безгеморройно добавлять новых юнитов с этими свойствами. В соде-то все впритирку.
|
|
|
17 Apr 2010, 21:56
(Сообщение отредактировал feanor - 17 Apr 2010, 22:15)
Сообщение
#50
|
|
laughed as one fey Сообщений: 12 166 Спасибо сказали: 20585 раз |
Привязка удачи к артефактам.
К сожалению, это сделано в коде - нет никакой особой таблицы. Функция проверки удачи - 0x4E3930. Проверка на часы недоброго часа: 4E3966: 55h 4E39AB: 55h Проверка на остальные артефакты: 4E3A52: C6h - брелок 4E3A90: 2Dh - глаз дракона 4E3ACD: 2Eh - клевер удачи 4E3B0B: 2Fh - карты Пример кода на проверку одного артефакта: Код CPU Disasm Address Hex dump Command Comments 004E3A8C |. 8BCF MOV ECX,EDI 004E3A8E |> 8339 2D /CMP DWORD PTR DS:[ECX],2D //номер артефакта 004E3A91 |. 74 31 |JE SHORT 004E3AC4 004E3A93 |. 40 |INC EAX 004E3A94 |. 83C1 08 |ADD ECX,8 004E3A97 |. 83F8 13 |CMP EAX,13 004E3A9A |.^ 7C F2 \JL SHORT 004E3A8E 004E3A9C |. 8B0D 680B6600 MOV ECX,DWORD PTR DS:[660B68] 004E3AA2 |. 8B81 B8050000 MOV EAX,DWORD PTR DS:[ECX+5B8] 004E3AA8 |. 83F8 FF CMP EAX,-1 004E3AAB |. 74 1A JE SHORT 004E3AC7 004E3AAD |. 8D1440 LEA EDX,[EAX*2+EAX] 004E3AB0 |. A1 6C0B6600 MOV EAX,DWORD PTR DS:[660B6C] 004E3AB5 |. 8B0CD0 MOV ECX,DWORD PTR DS:[EDX*8+EAX] 004E3AB8 |. 51 PUSH ECX ; /Arg1 004E3AB9 |. 8BCE MOV ECX,ESI ; | 004E3ABB |. E8 A059FFFF CALL 004D9460 ; \Era_1_6.004D9460 - функция проверки наличия артефакта 004E3AC0 |. 84C0 TEST AL,AL 004E3AC2 |. 74 03 JE SHORT 004E3AC7 004E3AC4 |> FF45 0C INC DWORD PTR SS:[ARG.2] //увеличение удачи Аналогичная функция для морали - 004E3C20 |
|
|
21 Apr 2010, 13:21
(Сообщение отредактировал Master Of Puppets - 03 May 2010, 10:42)
Сообщение
#51
|
|
Анти-Всë Сообщений: 2 989 Спасибо сказали: 2376 раз |
Чуть-чуть.
Контрудары В начале битвы: 43D6A0 cmp eax,00000004h - Грифон 43D6A3 mov [esi+5Ch],ecx 43D6A6 mov dword ptr [esi+00000454h],00000001h - кол-во ответок для обычного существа 43D6B0 jnz L0043D6BC 43D6B2 mov dword ptr [esi+00000454h],00000002h - кол-во ответок для Грифона 43D6BC cmp eax,00000005h - Кор. Грифон 43D6BF jnz L0043D6CB 43D6C1 mov dword ptr [esi+00000454h],00001388h - кол-во ответок для Кор. Грифона 446E65 - аналогичный код для ответок в каждом раунде. Шпионаж 4E605C push 0000008Fh; - Вор Передвижение по песку 4B177B push 0000008Eh; - Кочевник -------------------- Circle of destruction, hammer comes crushing
Powerhouse of energy Whipping up a fury, dominating flurry We create the battery |
|
|
25 Apr 2010, 16:19
(Сообщение отредактировал feanor - 25 Apr 2010, 16:19)
Сообщение
#52
|
|
laughed as one fey Сообщений: 12 166 Спасибо сказали: 20585 раз |
5BDCE0 - Начисление плюшек спецстроениями типа водоворота маны, академии, Вальгаллы и т.п.
Соответственно, здесь же можно их и отрубить (для"болванок" городов), к примеру: Убить Mana Vortex - 5BDD50: EB Убить Academy: 5BDFF5: EB Типы призываемых заклятьями существ mem:5A2042,5A2057,5A206C,5A2081 - номера для огненного, земляного, водного и воздушного элементалей. Оно конечно легко ищется из ранее упомянутого свитча - но свитч еще расковырять надо. Пусть будет. |
|
|
25 Apr 2010, 17:05
(Сообщение отредактировал feanor - 25 Apr 2010, 17:06)
Сообщение
#53
|
|
laughed as one fey Сообщений: 12 166 Спасибо сказали: 20585 раз |
Цитата(Чёртос-2 (Chortos-2) @ 20 Jun 2007, 15:29) Вот они, цвета наши. В WoG они хранятся по адресу 0043F5C4, но только для существ с номерами от 35 (архимаг) до 121 (магический элементаль) включительно — при этом психическому и магическому элементалю зачем‑то выставлен белый цвет, правда, я так и не понял, зачем. (Архимагу выставлен зеленый, созерцателю и злому глазу — белый, всем остальным в таблице — черный; если существа нет в таблице, подразумевается черный.) Ноль соответствует зеленому лучу, один — белому, и два — черному. Ловим функцию… (Ловим в первом сообщении темы.) реально цвет луча определяется значение регистра ecx после свитча в районе 43F296h 0 - черный, 12Е - зеленый, 130 - белый. Если расширить свитч и поиграться с этим значением, то дополнительно получим: 12F - тонкий фиолетово-черный 12D - синий FF - ярко-синий 37B0 - светло-зеленый F800 - красный. Похоже, что в ecx хранится цвет в RGB565. _____________________ Смотрим на радужных бехолдеров! Они стреляют новыми радужными лучами!!11 |
|
|
29 Apr 2010, 09:45
Сообщение
#54
|
|
Анти-Всë Сообщений: 2 989 Спасибо сказали: 2376 раз |
SUB_L0044AA90 - функция проверки наличия существ у героя.
Принимает два параметра - номер существа и адрес структуры героя (со смещением до первого слота существ). Возвращает в eax суммарное кол-во заданных существ у героя. Если их нет, то и eax = 0. Банка с джемом 4B8ACF push 00000085h - Кристальный Дракон. 4B8B28 lea ecx,[ebx+00020BE8h] - загрузка исполнительного адреса (смещение в структуре игрока). Изменив, допустим, на +4, можно заставить существо производить Драг. Камни вместо Кристаллов и т.д. 4B8B40 add dword ptr [ecx],00000003h - собственно, кол-во добавляемого ресурса в неделю. -------------------- Circle of destruction, hammer comes crushing
Powerhouse of energy Whipping up a fury, dominating flurry We create the battery |
|
|
29 Apr 2010, 13:20
(Сообщение отредактировал Vade Parvis - 29 Apr 2010, 13:20)
Сообщение
#55
|
|
Immortal Сообщений: 23 594 Спасибо сказали: 19753 раза |
Цитата F800 - красный. Гоблины с бластерами?
-------------------- |
|
|
01 May 2010, 07:19
(Сообщение отредактировал Master Of Puppets - 03 May 2010, 10:40)
Сообщение
#56
|
|
Анти-Всë Сообщений: 2 989 Спасибо сказали: 2376 раз |
Цитата Маленькое наблюдение. Описанные тобой, МОР, свойства монстров,а именно: снижение стоимости заклинания, кавалерийский бонус, пенальти за расстояние и шарпшутерство - находятся почему-то в секции кода ЗВС? Тем не менее эти свойства есть и в оригинальном СОДе, может это промежуточный код? Абилки вынесены из-за опыта существ. А код - действительно промежуточный, что, тем не менее, не убирает его с повестки дня, так как WoG обращается к нему и при выключенном опыте. В большинстве случаев делается так: при запуске exe перед проверкой на существо ставится хук на вог-функцию. Если проверок несколько - хук также затирает и их, оставляя лишь последнюю. В вог-функции сначала идут проверки на существа, имеющие этот бонус в СОД, затем - на существа, имеющие бонус в качестве абилки опыта. В обоих случаях при наличии свойства в изначальный регистр или ячейку памяти заносится номер монстра, имеющего данный бонус в СОД, с которым СОД его далее и сравнивает в оставшейся проверке. Способ несколько странный и смахивает на жульничество - подтасовка номера монстра под нужный СОДу. Хотя, может, так и безопаснее... Как уже говорил, ключ ко всем таким вещам - воговское копирование массивов. По-моему, оно делится на три вида: 1. Откуда/Куда/Сколько байт 2. Куда/Что/Сколько байт 3. Адрес для помещения хука/0/Адрес вог-функции Посмотрев, что и куда копируется, можно найти много интересных штук и облегчить себе жизнь. Простой пример: отрезок exe3253D0-325C1B - снятие всех ограничений на хинт по существу (adress/197/4). Слава фактически предоставил нам свой огромный труд на блюдечке, безо всяких исходников. Повышение цен заклинаний 4E554C push 00000014h - Пегас 4E554E mov ecx,edi 4E5550 call SUB_L0044A850 4E5555 test al,al 4E5557 jnz L004E5566 4E5559 push 00000015h - Серебряный Пегас 4E555B mov ecx,edi 4E555D call SUB_L0044A850 4E5562 test al,al 4E5564 jz L004E5569 4E5566 add esi,00000002h - кол-во очков на подорожание Код стоит прямо перед снижением цен на заклинания Магами и Архимагами. Странно, что ВОГ вклинился только в нижний участок. Уменьшение вражеской защиты 75D4A0 cmp dword ptr [ebp-04h],00000060h - Чудище 75D4A4 jz L0075D4AE 75D4A6 cmp dword ptr [ebp-04h],00000061h - Древнее Чудище 75D4AA jz L0075D4E0 75D551 cmp dword ptr [edx+34h],0000009Ch - Чудище-Привидение 75D558 jnz L0075D564 Блок удара 766A8D cmp dword ptr [ecx+34h],000000C4h - Драколич 766A94 setnz dl 766A97 dec edx 766A98 and edx,00000014h - %-ый шанс срабатывания Его же сопротивление магии: 75D9FC cmp dword ptr [ecx+34h],000000C4h 75DA03 jnz L0075DA14 75DA05 mov edx,[L0283282C] 75DA0B sub edx,00000014h Всегда положительная мораль На поле боя: 767133 cmp dword ptr [ebp-04h],0000004Eh - Минотавр 767137 jz L0076713F 767139 cmp dword ptr [ebp-04h],0000004Fh - Король-Минотавр 76713D jnz L0076714B В слоте: 44AEF7 cmp edi,0000004Eh 44AEFA jz L0044AF01 44AEFC cmp edi,0000004Fh 44AEFF jnz L0044AF0B Магическая Аура 767244 cmp dword ptr [eax+34h],00000018h - Единорог 767248 jnz L00767256 76724A mov dword ptr [L028601E8],00000019h - Боевой Единорог и 76729F cmp dword ptr [eax+34h],00000018h 7672A3 jnz L007672B1 7672A5 mov dword ptr [L028601E8],00000019h Бряк, поставленный на эти адреса, даёт о себе знать, когда существо встаёт рядом с другим существом. +1 к морали союзников 44BA46 cmp dword ptr [eax],0000000Ch - Ангел ............ 760A15 cmp dword ptr [ecx],0000000Dh - Архангел 760A18 jz L00760A32 760A1A cmp dword ptr [ecx],00000096h - Верховный Архангел 760A20 jz L00760A32 А это для текста "Архангелы в группе" в окне существа (иначе будет "Алебардщики в группе"): 760A39 cmp dword ptr [edx],0000000Dh 760A3C jz L00760A56 760A3E cmp dword ptr [edx],00000096h 760A44 jz L00760A56 -1 к удаче врага 7609BC cmp dword ptr [edx],00000037h - Архидьявол 7609BF jz L007609D9 7609C1 cmp dword ptr [edx],00000099h - Антихрист 7609C7 jz L007609D9 Для текста: 7609F6 cmp dword ptr [ecx],00000037h 7609F9 jz L00760A0E 7609FB cmp dword ptr [ecx],00000099h Между этими проверками есть ещё проверки неясного содержания. В общем, надо ещё разобраться, что за что отвечает. -------------------- Circle of destruction, hammer comes crushing
Powerhouse of energy Whipping up a fury, dominating flurry We create the battery |
|
|
10 Jun 2010, 10:35
(Сообщение отредактировал feanor - 14 Jun 2010, 12:26)
Сообщение
#57
|
|
laughed as one fey Сообщений: 12 166 Спасибо сказали: 20585 раз |
Навыки, дающиеся в Университете Сопряжения:
Код 005D330A C745 D0 0A000000 MOV DWORD PTR SS:[EBP-30],0E
005D3311 C745 D4 0F000000 MOV DWORD PTR SS:[LOCAL.11],0F 005D3318 C745 D8 10000000 MOV DWORD PTR SS:[LOCAL.10],10 005D331F C745 DC 11000000 MOV DWORD PTR SS:[LOCAL.9],11 |
|
|
12 Jun 2010, 20:49
(Сообщение отредактировал feanor - 13 Jun 2010, 15:46)
Сообщение
#58
|
|
laughed as one fey Сообщений: 12 166 Спасибо сказали: 20585 раз |
Объекты на карте
4A8160 - функция (один большой свитч), обрабатывающая вход в объекты на карте. из которой можно вызнать, к примеру Откуда берет артефакты Чёрный Рынок: По адресу 699538h лежит некий указатель Прибавляем к нему 1F684h, получаем второй указатель Этот указатель показывает на таблицу артефактов (7 DWORDов на каждый черный рынок). Пример: Код //устанавливаем в первый слот первого рынка магическую книжку. !!UN:C6919480/4/?y1; !!VRy1:+128644; !!UN:Cy1/4/?y2; !!UN:Cy2/4/0; Номер рынка можно узнать через OB:C - он совпадает с контрольным числом. |
|
|
14 Jun 2010, 12:35
(Сообщение отредактировал Master Of Puppets - 14 Jun 2010, 12:40)
Сообщение
#59
|
|
Анти-Всë Сообщений: 2 989 Спасибо сказали: 2376 раз |
Боян, но пусть будет:
679DD0h - массив стартовых параметров героев. 5Ch байт на структуру героя. Данные: 1. Пол 2. ? 3. Класс 4. Первый стартовый навык 5. Уровень первого стартового навыка 6. Второй стартовый навык 7. Уровень второго стартового навыка 8. Наличие Книги Заклинаний: да/нет 9. Стартовое заклинание 10. Стартовая армия, тип существа, слот №1 11. Стартовая армия, тип существа, слот №2 12. Стартовая армия, тип существа, слот №3 13. Ссылка на название малого портрета 14. Ссылка на название большого портрета 15. ? (напоминает запрет/доступность для найма, но при изменении эффекта не замечено) Остальные данные (16-23) всегда нулевые, для чего нужны - неизвестно. 678420h - специализации героев. 28h байт на специализацию. Всё как в HE:X. -------------------- Circle of destruction, hammer comes crushing
Powerhouse of energy Whipping up a fury, dominating flurry We create the battery |
|
|
19 Jul 2010, 18:26
Сообщение
#60
|
|
laughed as one fey Сообщений: 12 166 Спасибо сказали: 20585 раз |
Репортаж с чемоданов (:.
Структуры стэков на поле боя. [0x699420]+0x54CC+stack_num*0x548. Формат описан в справке Драколича ("о недокументированных возможностях BM:G") Все поля - по 4 байта (точнее, выравнены по 4м байтам - там, где в сорцах были шорты и чары, в дампе остались 0xBAADF00D) Первые четыре байта соответствуют BM:G-полю -102. Слух дня в таверне Адрес: [699538h]+4E419h Вообще, [699538h] - это все сохраняемые в сейве данные. Структуры героев (в самом начале), городов, объектов etc, etc. |
|
|
Текстовая версия | Сейчас: 25 April 2024 - 14:54 |
Copyright by Алексей Крючков
Programming by Degtyarev Dmitry |