Green Dragon

Знание есть сила, сила есть знание.

Инструменты пользователя

Инструменты сайта


вербовка-кабанов-в-heroes-2

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Both sides previous revision Предыдущая версия
Следущая версия
Предыдущая версия
вербовка-кабанов-в-heroes-2 [2015/08/11 06:13]
danya
вербовка-кабанов-в-heroes-2 [2018/09/16 15:24] (текущий)
danya
Строка 1: Строка 1:
 Сперва установил IDA Free. Скачал здесь https://​www.hex-rays.com/​products/​ida/​support/​download_freeware.shtml Сперва установил IDA Free. Скачал здесь https://​www.hex-rays.com/​products/​ida/​support/​download_freeware.shtml
  
-Запустил и в IDA файл Heroes2.exe в который играю в Вosbox ​+Запустил и в IDA файл Heroes2.exe в который играю в Dosbox ​
  
 При открытии файла IDA о чем то ругалась При открытии файла IDA о чем то ругалась
Строка 62: Строка 62:
  
 0. Сделайте сейв, в котором герой стоит в одном шаге от Хижины крестьян. Убедитесь,​ что у героя есть отряд крестьян в первом слоте. 0. Сделайте сейв, в котором герой стоит в одном шаге от Хижины крестьян. Убедитесь,​ что у героя есть отряд крестьян в первом слоте.
 +
 1. Сделайте дамп памяти:​ memdumpbin ds:0 1000000 1. Сделайте дамп памяти:​ memdumpbin ds:0 1000000
 +
 2. Откройте дамп и найдите в нём структуру данных,​ соответствующую Вашему герою. Искать быстрее всего по имени героя (например,​ "​Maximus"​). Прибавьте к адресу,​ по которому хранится имя героя (т.е. первый байт имени),​ число 0x60 (60h). Так Вы получите адрес, по которому хранится численность самого первого (левого) отряда в армии героя. Обозначим этот адрес как Addr 2. Откройте дамп и найдите в нём структуру данных,​ соответствующую Вашему герою. Искать быстрее всего по имени героя (например,​ "​Maximus"​). Прибавьте к адресу,​ по которому хранится имя героя (т.е. первый байт имени),​ число 0x60 (60h). Так Вы получите адрес, по которому хранится численность самого первого (левого) отряда в армии героя. Обозначим этот адрес как Addr
 +
 3. Установите брейкпоинт по этому адресу:​ bplm Addr 3. Установите брейкпоинт по этому адресу:​ bplm Addr
 +
 4. Теперь посетите героем Хижину крестьян. 4. Теперь посетите героем Хижину крестьян.
 +
  
 {{:​bp_krestiane.png|}} {{:​bp_krestiane.png|}}
Строка 163: Строка 168:
 Нашел похожее но с другими буквами Нашел похожее но с другими буквами
  
-Код:​seg000:​0000B093 ​                ​mov ​    ecx, 0Ah+Код: 
 +    ​seg000:​0000B093 ​                ​mov ​    ecx, 0Ah
     seg000:​0000B098 ​                ​lea ​    edi, [ebp-30h]     seg000:​0000B098 ​                ​lea ​    edi, [ebp-30h]
     seg000:​0000B09B ​                ​mov ​    esi, 2CC208h     seg000:​0000B09B ​                ​mov ​    esi, 2CC208h
Строка 172: Строка 178:
 На всякий случай написал в DosBox Debuger d ds:2CC208 На всякий случай написал в DosBox Debuger d ds:2CC208
  
-И попал в ту самую последовательность ​:smile21:+И попал в ту самую последовательность
  
 01 00 00 00 0B 00 00 00 00 00 00 00 15 00 00 00 15 00 00 00 14 00 00 00 26 00 00 00 0C 00 00 00 1D 00 00 00 2F 00 00 00 01 00 00 00 0B 00 00 00 00 00 00 00 15 00 00 00 15 00 00 00 14 00 00 00 26 00 00 00 0C 00 00 00 1D 00 00 00 2F 00 00 00
Строка 178: Строка 184:
 {{:​bp_debug_tablica.png|}} {{:​bp_debug_tablica.png|}}
  
- 
- 
-Код: ​ 
-    seg000:​0000B093 ; --------------------------------------------------------------------------- 
-    seg000:​0000B093 
-    seg000:​0000B093 loc_B093: ; CODE XREF: seg000:​0000B07Cj 
-    seg000:​0000B093 mov ecx, 0Ah 
-    seg000:​0000B098 lea edi, [ebp-30h] 
-    seg000:​0000B09B mov esi, 2CC208h 
-    seg000:​0000B0A0 rep movsd 
-    seg000:​0000B0A2 push 0FFFFFFFFh 
-    seg000:​0000B0A4 push 0 
-    seg000:​0000B0A6 push 0FFFFFFFFh 
-    seg000:​0000B0A8 push 0 
-    seg000:​0000B0AA push 0FFFFFFFFh 
-    seg000:​0000B0AC lea edx, [eax+17h] 
-    seg000:​0000B0AF mov ecx, 2AC629h 
-    seg000:​0000B0B4 mov ebx, 2 
-    seg000:​0000B0B9 mov eax, [ebp-34h] 
-    seg000:​0000B0BC call sub_A72D 
-    seg000:​0000B0C1 mov eax, ds:2DED70h 
-    seg000:​0000B0C6 cmp dword ptr [eax+5Ah], 7805h 
-    seg000:​0000B0CD jnz loc_9F95 
-    seg000:​0000B0D3 mov ebx, [ebp-8] 
-    seg000:​0000B0D6 shl ebx, 2 
-    seg000:​0000B0D9 mov edx, [ebx+ebp-30h] 
-    seg000:​0000B0DD mov esi, [ebp-38h] 
-    seg000:​0000B0E0 add esi, 65h ; '​e'​ 
-    seg000:​0000B0E3 mov eax, esi 
-    seg000:​0000B0E5 call sub_1520E 
-    seg000:​0000B0EA test eax, eax 
-    seg000:​0000B0EC jz short loc_B11D 
-    seg000:​0000B0EE mov eax, [ebp-3Ch] 
-    seg000:​0000B0F1 mov ax, [eax+4] 
-    seg000:​0000B0F5 shr ax, 3 
-    seg000:​0000B0F9 and eax, 0FFFFh 
-    seg000:​0000B0FE mov edx, [ebx+ebp-30h] 
-    seg000:​0000B102 mov ecx, 0FFFFFFFFh 
-    seg000:​0000B107 mov ebx, eax 
-    seg000:​0000B109 mov eax, esi 
-    seg000:​0000B10B call sub_1526A 
-    seg000:​0000B110 mov eax, [ebp-3Ch] 
-    seg000:​0000B113 and word ptr [eax+4], 7 
-    seg000:​0000B118 jmp loc_9F95 
-    seg000:​0000B11D ; --------------------------------------------------------------------------- 
  
  
вербовка-кабанов-в-heroes-2.1439273620.txt.gz · Последние изменения: 2015/08/11 06:13 — danya