Green Dragon

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

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

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


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

Различия

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

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

Both sides previous revision Предыдущая версия
Следущая версия
Предыдущая версия
Последняя версия Both sides next revision
вербовка-кабанов-в-heroes-2 [2015/08/11 06:10]
danya
вербовка-кабанов-в-heroes-2 [2018/09/16 15:23]
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|}}
Строка 103: Строка 108:
 Так у меня вот так Так у меня вот так
  
 +Код: ​
 +    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 ; ---------------------------------------------------------------------------
  
-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 ; --------------------------------------------------------------------------- 
  
  
-В точности так как у вас ​не нашел+ 
 +В точности так как у AlexSpl ​не нашел
  
  
Строка 161: Строка 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
Строка 175: Строка 183:
  
 {{:​bp_debug_tablica.png|}} {{:​bp_debug_tablica.png|}}
- 
- 
  
  
  
вербовка-кабанов-в-heroes-2.txt · Последние изменения: 2018/09/16 15:24 — danya