Перейти к содержанию

Стратегия для взлома


partoftheworlD

Рекомендуемые сообщения

Что-то не очень много стратегий взламывается на форуме. Кто-нибудь подскажет какую-нибудь интересную типа Command & Conquer,Sid Meier's,Tropico или Герои меча и магии?

Изменено пользователем partoftheworlD
Ссылка на комментарий
Поделиться на другие сайты

Что-то не очень много стратегий взламывается на форуме. Кто-нибудь подскажет какую-нибудь интересную типа Command & Conquer,Sid Meier's,Tropico или Герои меча и магии?

King’s Bounty - Например  :-D 

Ссылка на комментарий
Поделиться на другие сайты

King’s Bounty - Например  :-D 

Поставил качать, но это же вроде копия героев

 

вот классно было бы увидит бессмертие на 1 часть этой серии .

Если запустится, то попробую. Она вроде 95 года, если не ошибаюсь?

.

Ссылка на комментарий
Поделиться на другие сайты

Стратегии наверное мало кто любит тут. Я их не люблю- только шутеры или приключения. Наверное от этого и мало их. Редко их тут встретишь.

Ссылка на комментарий
Поделиться на другие сайты

Поставил качать, но это же вроде копия героев

 

Если запустится, то попробую. Она вроде 95 года, если не ошибаюсь?

.

да,в личку скину ссылку на игру.

Ссылка на комментарий
Поделиться на другие сайты

Ну копия не копия ты же просил что-то наподобие.

 

King's Bounty: The Legend в ней 1 функция отвечает за все ресурсы и еще много чего прочего. :-D Довольно странная игра

               mov [edi+08],ebx - 89 5F 08 EB A5 (Ресурсы, руны, мана, ярость, деньги)               mov [eax+10],ecx - 89 48 10 8B 43 18 (Количество юнитов) 

.

Ссылка на комментарий
Поделиться на другие сайты

King's Bounty: The Legend в ней 1 функция отвечает за все ресурсы и еще много чего прочего. Довольно странная игра

 

Да я в курсе что одна инструкция отвечает за все ресурсы, так как сам ломал эту игру и делал для нее трейнер, только у меня Войны севера

Трейнер написал, ресурсы отделил, все работает.  :-D

 

Вот список читов которые я сделал в этой игре

 

F1 ~ Активировать трейнерPage UP ~ Включить режим богаPage Down ~ Отключить режим богаnumeric 1 ~ Бесконечные деньги 999999numeric 2 ~ Бесконечные руны 99numeric 3 ~ Добавить лидерства 99999numeric 4 ~ Включить быстрый набор опытаnumeric 5 ~ Выключить быстрый набор опытаnumeric 6 ~ Включить Максимальный размер армииnumeric 7 ~ Выключить Максимальный размер армииnumeric 8 ~ Включить бесконечный ход армии в битвеnumeric 9 ~ Выключить бесконечный ход армии в битве
Ссылка на комментарий
Поделиться на другие сайты

Да я в курсе что одна инструкция отвечает за все ресурсы, так как сам ломал эту игру и делал для нее трейнер, только у меня Войны севера

Трейнер написал, ресурсы отделил, все работает.  :-D

 

Вот список читов которые я сделал в этой игре

 

 Крестьянин вилами наносит урон 198000, по хорошему надо фильтр написать, но слишком я ленивый для трейнеров, лучше статьи писать. :-D 

F1 ~ Активировать трейнерPage UP ~ Включить режим богаPage Down ~ Отключить режим богаnumeric 1 ~ Бесконечные деньги 999999numeric 2 ~ Бесконечные руны 99numeric 3 ~ Добавить лидерства 99999numeric 4 ~ Включить быстрый набор опытаnumeric 5 ~ Выключить быстрый набор опытаnumeric 6 ~ Включить Максимальный размер армииnumeric 7 ~ Выключить Максимальный размер армииnumeric 8 ~ Включить бесконечный ход армии в битвеnumeric 9 ~ Выключить бесконечный ход армии в битве
mov [edi+08],DEAD //~57000
Изменено пользователем partoftheworlD
Ссылка на комментарий
Поделиться на другие сайты

Стратегии наверное мало кто любит тут.

Я очень люблю.

 

King's Bounty: The Legend в ней 1 функция отвечает за все ресурсы и еще много чего прочего. Довольно странная игра

partoftheworlD, прикольно совпало, я уже очень давно хотел поломать все 3 игры и сделать для всех 1 табличку.

На прошлой неделе скачал себе репак от Механиков (где все три игрушки, плюс у меня где-то был МОД "Красные Пески"), а то у меня уже все диски потёрлись.

 

Сегодня начал ломать, смотрю, а тут тоже уже ломают.

 

Фильтровать не сложно, с моим текущим опытом (поиска фильтра) легко нашлась структура, где все характеристики в окне героя отличаются текстовой строкой, так что вот скрипт на редактировании 13 характеристик (пока без боёвки и инвентаря). Версия "Легенды о рыцаре" у меня 1.7

 

 

partoftheworlD, если конечно сам хочешь поломать (А это я прекрасно понимаю - иногда ломать гораздо интереснее, чем играть в саму игру), то не смотри спойлер и не качай табличку. ;)  

 

Ниже выложил более свежую таблички добавлены ещё две характеристики ГГ для редактирования и 3 скрипта для боя.

{ Game   : KB.exe  Version:   Date   : 2016-01-18  Author : Garik66  This script does blah blah blah}[ENABLE]aobscanmodule(WindowCharacter,KB.exe,8B 2C 81 89 6C 24 18) // should be uniquealloc(newmem,$4000)label(code)label(return)label(XAR1)registersymbol(XAR1)label(XAR2)registersymbol(XAR2)label(XAR3)registersymbol(XAR3)label(XAR4)registersymbol(XAR4)label(XAR5)registersymbol(XAR5)label(XAR6)registersymbol(XAR6)label(XAR7)registersymbol(XAR7)label(XAR8)registersymbol(XAR8)label(XAR9)registersymbol(XAR9)label(XAR10)registersymbol(XAR10)label(XAR11)registersymbol(XAR11)label(XAR12)registersymbol(XAR12)label(XAR13)registersymbol(XAR13)registersymbol(WindowCharacter)newmem:  push eax  mov eax,[edi+04]  cmp [eax+14],61747461  // attack  jne @f  cmp [eax+18],00006B63  jne @f  mov [XAR1],ecx@@:  cmp [eax+14],6B6F6F62  // booksize  jne @f  cmp [eax+18],657A6973  jne @f  mov [XAR2],ecx@@:  cmp [eax+14],73797263  // crystals  jne @f  cmp [eax+18],736C6174  jne @f  mov [XAR3],ecx@@:  cmp [eax+14],65666564  // defense  jne @f  cmp [eax+18],0065736E  jne @f  mov [XAR4],ecx@@:  cmp [eax+14],65707865  // experience  jne @f  cmp [eax+18],6E656972  jne @f  cmp [eax+1c],00006563  jne @f  mov [XAR5],ecx@@:  cmp [eax+14],65746E69  // intellect  jne @f  cmp [eax+18],63656C6C  jne @f  cmp [eax+1c],00000074  jne @f  mov [XAR6],ecx@@:  cmp [eax+14],6461656C  // leadership  jne @f  cmp [eax+18],68737265  jne @f  cmp [eax+1c],00007069  jne @f  mov [XAR7],ecx@@:  cmp [eax+14],616E616D  // mana  jne @f  mov [XAR8],ecx@@:  cmp [eax+14],656E6F6D  // money  jne @f  cmp byte ptr [eax+18],79  jne @f  mov [XAR9],ecx@@:  cmp [eax+14],65676172  // rage  jne @f  mov [XAR10],ecx@@:  cmp [eax+14],656E7572  // rune_magic  jne @f  cmp [eax+18],67616D5F  jne @f  cmp [eax+1c],00006369  jne @f  mov [XAR11],ecx@@:  cmp [eax+14],656E7572  // rune_might  jne @f  cmp [eax+18],67696D5F  jne @f  cmp [eax+1c],00007468  jne @f  mov [XAR12],ecx@@:  cmp [eax+14],656E7572  // rune_mind  jne code  cmp [eax+18],6E696D5F  jne code  cmp [eax+1c],00000064  jne code  mov [XAR13],ecxcode:  pop eax  mov ebp,[ecx+eax*4]  mov [esp+18],ebp  jmp returnXAR1:dd 0XAR2:dd 0XAR3:dd 0XAR4:dd 0XAR5:dd 0XAR6:dd 0XAR7:dd 0XAR8:dd 0XAR9:dd 0XAR10:dd 0XAR11:dd 0XAR12:dd 0XAR13:dd 0WindowCharacter:  jmp newmem  nop  nopreturn:[DISABLE]WindowCharacter:  db 8B 2C 81 89 6C 24 18unregistersymbol(XAR1)unregistersymbol(XAR2)unregistersymbol(XAR3)unregistersymbol(XAR4)unregistersymbol(XAR5)unregistersymbol(XAR6)unregistersymbol(XAR7)unregistersymbol(XAR8)unregistersymbol(XAR9)unregistersymbol(XAR10)unregistersymbol(XAR11)unregistersymbol(XAR12)unregistersymbol(XAR13)unregistersymbol(WindowCharacter)dealloc(newmem){// ORIGINAL CODE - INJECTION POINT: "KB.exe"+465A4"KB.exe"+46587: 8B F8              -  mov edi,eax"KB.exe"+46589: 85 FF              -  test edi,edi"KB.exe"+4658B: 0F 84 6D FF FF FF  -  je KB.exe+464FE"KB.exe"+46591: 8B 74 24 3C        -  mov esi,[esp+3C]"KB.exe"+46595: 56                 -  push esi"KB.exe"+46596: 8B CF              -  mov ecx,edi"KB.exe"+46598: E8 A3 79 1E 00     -  call KB.exe+22DF40"KB.exe"+4659D: 85 C0              -  test eax,eax"KB.exe"+4659F: 7C 0C              -  jnge KB.exe+465AD"KB.exe"+465A1: 8B 4F 0C           -  mov ecx,[edi+0C]// ---------- INJECTING HERE ----------"KB.exe"+465A4: 8B 2C 81           -  mov ebp,[ecx+eax*4]"KB.exe"+465A7: 89 6C 24 18        -  mov [esp+18],ebp// ---------- DONE INJECTING  ----------"KB.exe"+465AB: EB 06              -  jmp KB.exe+465B3"KB.exe"+465AD: 89 5C 24 18        -  mov [esp+18],ebx"KB.exe"+465B1: 8B EB              -  mov ebp,ebx"KB.exe"+465B3: 0F B6 16           -  movzx edx,byte ptr [esi]"KB.exe"+465B6: 8B 44 24 1C        -  mov eax,[esp+1C]"KB.exe"+465BA: 52                 -  push edx"KB.exe"+465BB: E8 D0 AE 00 00     -  call KB.exe+51490"KB.exe"+465C0: 84 C0              -  test al,al"KB.exe"+465C2: 0F 84 E4 00 00 00  -  je KB.exe+466AC"KB.exe"+465C8: 85 ED              -  test ebp,ebp}
Изменено пользователем Garik66
  • Плюс 2
Ссылка на комментарий
Поделиться на другие сайты

:offtopic: Мне из стратегий понравились только игры C&C Tiberium War и 3 герои, больше я в них не играл. :-D  Просто хочется иметь опыт взлома во всех жанрах игр. Сейчас занимаюсь NFS, хочу найти значение которое отвечает за прибавление скорости во время использования нитро

Изменено пользователем partoftheworlD
Ссылка на комментарий
Поделиться на другие сайты

вот классно было бы увидит бессмертие на 1 часть этой серии .

STAVROS, специально для проверенного заказчика  ;) :

Ну а скрипт на редактирование самого ГГ выкладывал выше.

Залью свежую табличку с 4 скриптами.

kb.CT

{ Game   : KB.exe  Version:   Date   : 2016-01-20  Author : Garik66  This script does blah blah blah}[ENABLE]aobscanmodule(InfiniteMoveUnit,KB.exe,29 41 14 83 79 14 00) // should be uniquealloc(newmem,$1000)label(code)label(return)registersymbol(InfiniteMoveUnit)newmem:  cmp [ecx+1cc],1  jne code  xor eax,eaxcode:  sub [ecx+14],eax  cmp dword ptr [ecx+14],00  jmp returnInfiniteMoveUnit:  jmp newmem  nop  nopreturn:[DISABLE]InfiniteMoveUnit:  db 29 41 14 83 79 14 00unregistersymbol(InfiniteMoveUnit)dealloc(newmem){// ORIGINAL CODE - INJECTION POINT: "KB.exe"+5E754"KB.exe"+5E732: 74 1A                       -  je KB.exe+5E74E"KB.exe"+5E734: 8B 17                       -  mov edx,[edi]"KB.exe"+5E736: 8B 82 60 24 01 00           -  mov eax,[edx+00012460]"KB.exe"+5E73C: 8B 4C 24 38                 -  mov ecx,[esp+38]"KB.exe"+5E740: 8B 4C B1 FC                 -  mov ecx,[ecx+esi*4-04]"KB.exe"+5E744: 50                          -  push eax"KB.exe"+5E745: 8B 44 24 7C                 -  mov eax,[esp+7C]"KB.exe"+5E749: E8 C2 8F 10 00              -  call KB.exe+167710"KB.exe"+5E74E: 8B 53 08                    -  mov edx,[ebx+08]"KB.exe"+5E751: 8B 4A 70                    -  mov ecx,[edx+70]// ---------- INJECTING HERE ----------"KB.exe"+5E754: 29 41 14                    -  sub [ecx+14],eax"KB.exe"+5E757: 83 79 14 00                 -  cmp dword ptr [ecx+14],00// ---------- DONE INJECTING  ----------"KB.exe"+5E75B: 7D 0D                       -  jnl KB.exe+5E76A"KB.exe"+5E75D: 8B 43 08                    -  mov eax,[ebx+08]"KB.exe"+5E760: 8B 48 70                    -  mov ecx,[eax+70]"KB.exe"+5E763: C7 41 14 00 00 00 00        -  mov [ecx+14],00000000"KB.exe"+5E76A: 8B 84 24 90 00 00 00        -  mov eax,[esp+00000090]"KB.exe"+5E771: 33 F6                       -  xor esi,esi"KB.exe"+5E773: 3B C6                       -  cmp eax,esi"KB.exe"+5E775: 74 09                       -  je KB.exe+5E780"KB.exe"+5E777: 8B 53 08                    -  mov edx,[ebx+08]"KB.exe"+5E77A: 8B 4A 70                    -  mov ecx,[edx+70]} 
{ Game   : KB.exe  Version:   Date   : 2016-01-20  Author : Garik66  This script does blah blah blah}[ENABLE]aobscanmodule(InitiativeUnits,KB.exe,8B 18 55 8B 6C 24 10) // should be uniquealloc(newmem,$1000)label(code)label(return)newmem:  cmp [eax+170],1  jne code  mov [eax],acode:  mov ebx,[eax]  push ebp  mov ebp,[esp+10]  jmp returnInitiativeUnits:  jmp newmem  nop  nopreturn:registersymbol(InitiativeUnits)[DISABLE]InitiativeUnits:  db 8B 18 55 8B 6C 24 10unregistersymbol(InitiativeUnits)dealloc(newmem){// ORIGINAL CODE - INJECTION POINT: "KB.exe"+1F345"KB.exe"+1F338: CC                    -  int 3 "KB.exe"+1F339: CC                    -  int 3 "KB.exe"+1F33A: CC                    -  int 3 "KB.exe"+1F33B: CC                    -  int 3 "KB.exe"+1F33C: CC                    -  int 3 "KB.exe"+1F33D: CC                    -  int 3 "KB.exe"+1F33E: CC                    -  int 3 "KB.exe"+1F33F: CC                    -  int 3 "KB.exe"+1F340: 8B 44 24 04           -  mov eax,[esp+04]"KB.exe"+1F344: 53                    -  push ebx// ---------- INJECTING HERE ----------"KB.exe"+1F345: 8B 18                 -  mov ebx,[eax]"KB.exe"+1F347: 55                    -  push ebp"KB.exe"+1F348: 8B 6C 24 10           -  mov ebp,[esp+10]// ---------- DONE INJECTING  ----------"KB.exe"+1F34C: 56                    -  push esi"KB.exe"+1F34D: 8B 70 08              -  mov esi,[eax+08]"KB.exe"+1F350: 57                    -  push edi"KB.exe"+1F351: 8B FB                 -  mov edi,ebx"KB.exe"+1F353: 85 F6                 -  test esi,esi"KB.exe"+1F355: 74 17                 -  je KB.exe+1F36E"KB.exe"+1F357: 55                    -  push ebp"KB.exe"+1F358: 57                    -  push edi"KB.exe"+1F359: 53                    -  push ebx"KB.exe"+1F35A: 8B C6                 -  mov eax,esi} 
{ Game   : KB.exe  Version:   Date   : 2016-01-20  Author : Garik66  This script does blah blah blah}[ENABLE]aobscanmodule(GodMod,KB.exe,8B 49 0C 2B CB) // should be uniquealloc(newmem,$1000)label(code)label(return)label(OHK)registersymbol(OHK)registersymbol(GodMod)newmem:  cmp [ecx+1cc],1  jne @f  push [ecx+28]    // 4 инструкции нужны, если скрипт не был подключен  pop [ecx+0c]     // перед боем для восстановления кол-ва юнитов и их  push [ecx+10c]   // ХР.  pop [ecx+10]  xor ebx,ebx  jmp code@@:  cmp [OHK],1  jne code  add ebx,#1000000 // Поставил 1000000 на всякий случай вдруг у врага                   // Армия с суммарной ХР очень большой.code:  mov ecx,[ecx+0c]  sub ecx,ebx  jmp returnOHK:dd 0GodMod:  jmp newmemreturn:[DISABLE]GodMod:  db 8B 49 0C 2B CBunregistersymbol(OHK)unregistersymbol(GodMod)dealloc(newmem){// ORIGINAL CODE - INJECTION POINT: "KB.exe"+5A1CD"KB.exe"+5A1AC: 81 C2 00 00 C0 B4     -  add edx,B4C00000"KB.exe"+5A1B2: 89 57 08              -  mov [edi+08],edx"KB.exe"+5A1B5: 8B 46 70              -  mov eax,[esi+70]"KB.exe"+5A1B8: 83 C0 50              -  add eax,50"KB.exe"+5A1BB: 50                    -  push eax"KB.exe"+5A1BC: E8 7F 51 FC FF        -  call KB.exe+1F340"KB.exe"+5A1C1: 8B 4E 70              -  mov ecx,[esi+70]"KB.exe"+5A1C4: 8B 51 10              -  mov edx,[ecx+10]"KB.exe"+5A1C7: 89 57 14              -  mov [edi+14],edx"KB.exe"+5A1CA: 8B 4E 70              -  mov ecx,[esi+70]// ---------- INJECTING HERE ----------"KB.exe"+5A1CD: 8B 49 0C              -  mov ecx,[ecx+0C]"KB.exe"+5A1D0: 2B CB                 -  sub ecx,ebx// ---------- DONE INJECTING  ----------"KB.exe"+5A1D2: 89 4F 10              -  mov [edi+10],ecx"KB.exe"+5A1D5: 85 C9                 -  test ecx,ecx"KB.exe"+5A1D7: 7F 1D                 -  jg KB.exe+5A1F6"KB.exe"+5A1D9: 8D A4 24 00 00 00 00  -  lea esp,[esp+00000000]"KB.exe"+5A1E0: FF 4F 14              -  dec [edi+14]"KB.exe"+5A1E3: 8B 4F 14              -  mov ecx,[edi+14]"KB.exe"+5A1E6: FF 47 0C              -  inc [edi+0C]"KB.exe"+5A1E9: 85 C9                 -  test ecx,ecx"KB.exe"+5A1EB: 7E 09                 -  jle KB.exe+5A1F6"KB.exe"+5A1ED: 01 47 10              -  add [edi+10],eax} 
  • Плюс 1
Ссылка на комментарий
Поделиться на другие сайты

  • 4 месяца спустя...

Посмотрел на форматирование темы и кода, и взял на себя смелость немного поправить форматирование кода и собрать его в одно сообщение.

 

13 характеристик героя

Скрытый текст

{ Game   : KB.exe  
  Version:   
  Date   : 2016-01-18  
  Author : Garik66 
  
  This script does blah blah blah
}

[ENABLE]

aobscanmodule(WindowCharacter,KB.exe,8B 2C 81 89 6C 24 18) // should be unique
alloc(newmem,$4000)

label(code)
label(return)
label(XAR1)
registersymbol(XAR1)
label(XAR2)
registersymbol(XAR2)
label(XAR3)
registersymbol(XAR3)
label(XAR4)
registersymbol(XAR4)
label(XAR5)
registersymbol(XAR5)
label(XAR6)
registersymbol(XAR6)
label(XAR7)
registersymbol(XAR7)
label(XAR8)
registersymbol(XAR8)
label(XAR9)
registersymbol(XAR9)
label(XAR10)
registersymbol(XAR10)
label(XAR11)
registersymbol(XAR11)
label(XAR12)
registersymbol(XAR12)
label(XAR13)
registersymbol(XAR13)
registersymbol(WindowCharacter)

newmem:  
	push eax  
	mov eax,[edi+04]  
	cmp [eax+14],61747461  // attack  
	jne @f  
	cmp [eax+18],00006B63  
	jne @f  
	mov [XAR1],ecx
	
@@:  
	cmp [eax+14],6B6F6F62  // booksize  
	jne @f  
	cmp [eax+18],657A6973  
	jne @f  
	mov [XAR2],ecx
	
@@:  
	cmp [eax+14],73797263  // crystals  
	jne @f  
	cmp [eax+18],736C6174  
	jne @f  
	mov [XAR3],ecx
	
@@:  
	cmp [eax+14],65666564  // defense  
	jne @f  
	cmp [eax+18],0065736E  
	jne @f  
	mov [XAR4],ecx
	
@@: cmp [eax+14],65707865  // experience  
	jne @f  
	cmp [eax+18],6E656972  
	jne @f  
	cmp [eax+1c],00006563  
	jne @f  
	mov [XAR5],ecx

@@: cmp [eax+14],65746E69  // intellect  
	jne @f  
	cmp [eax+18],63656C6C  
	jne @f  
	cmp [eax+1c],00000074  
	jne @f  
	mov [XAR6],ecx
	
@@: cmp [eax+14],6461656C  // leadership  
	jne @f  
	cmp [eax+18],68737265  
	jne @f  
	cmp [eax+1c],00007069  
	jne @f  
	mov [XAR7],ecx

@@: cmp [eax+14],616E616D  // mana  
	jne @f  
	mov [XAR8],ecx
	
@@: cmp [eax+14],656E6F6D  // money  
	jne @f  
	cmp byte ptr [eax+18],79  
	jne @f  
	mov [XAR9],ecx

@@: cmp [eax+14],65676172  // rage  
	jne @f  
	mov [XAR10],ecx
	
@@: cmp [eax+14],656E7572  // rune_magic  
	jne @f  
	cmp [eax+18],67616D5F  
	jne @f  
	cmp [eax+1c],00006369  
	jne @f  
	mov [XAR11],ecx
	
@@: cmp [eax+14],656E7572  // rune_might  
	jne @f  
	cmp [eax+18],67696D5F  
	jne @f  
	cmp [eax+1c],00007468  
	jne @f  
	mov [XAR12],ecx
	
@@: cmp [eax+14],656E7572  // rune_mind  
	jne code  
	cmp [eax+18],6E696D5F  
	jne code  
	cmp [eax+1c],00000064  
	jne code  
	mov [XAR13],ecx
	
code:  
	pop eax  
	mov ebp,[ecx+eax*4]  
	mov [esp+18],ebp  
	jmp return
	
	XAR1:
	  dd 0
	XAR2:
	  dd 0
	XAR3:
	  dd 0
	XAR4:
	  dd 0
	XAR5:
	  dd 0
	XAR6:
	  dd 0
	XAR7:
	  dd 0
	XAR8:
	  dd 0
	XAR9:
	  dd 0
	XAR10:
	  dd 0
	XAR11:
	  dd 0 
	XAR12:
	  dd 0
	XAR13:
	  dd 0
	
WindowCharacter:  
  jmp newmem  
  nop  
  nop

return:
	
[DISABLE]
WindowCharacter:  
  db 8B 2C 81 89 6C 24 18
	
	
unregistersymbol(XAR1)
unregistersymbol(XAR2)
unregistersymbol(XAR3)
unregistersymbol(XAR4)
unregistersymbol(XAR5)
unregistersymbol(XAR6)
unregistersymbol(XAR7)
unregistersymbol(XAR8)
unregistersymbol(XAR9)
unregistersymbol(XAR10)
unregistersymbol(XAR11)
unregistersymbol(XAR12)
unregistersymbol(XAR13)
unregistersymbol(WindowCharacter)
dealloc(newmem)


{
// ORIGINAL CODE - INJECTION POINT: "KB.exe"+465A4
"KB.exe"+46587: 8B F8              -  mov edi,eax
"KB.exe"+46589: 85 FF              -  test edi,edi
"KB.exe"+4658B: 0F 84 6D FF FF FF  -  je KB.exe+464FE
"KB.exe"+46591: 8B 74 24 3C        -  mov esi,[esp+3C]
"KB.exe"+46595: 56                 -  push esi
"KB.exe"+46596: 8B CF              -  mov ecx,edi
"KB.exe"+46598: E8 A3 79 1E 00     -  call KB.exe+22DF40
"KB.exe"+4659D: 85 C0              -  test eax,eax
"KB.exe"+4659F: 7C 0C              -  jnge KB.exe+465AD
"KB.exe"+465A1: 8B 4F 0C           -  mov ecx,[edi+0C]
// ---------- INJECTING HERE ----------
"KB.exe"+465A4: 8B 2C 81           -  mov ebp,[ecx+eax*4]
"KB.exe"+465A7: 89 6C 24 18        -  mov [esp+18],ebp
// ---------- DONE INJECTING  ----------
"KB.exe"+465AB: EB 06              -  jmp KB.exe+465B3
"KB.exe"+465AD: 89 5C 24 18        -  mov [esp+18],ebx
"KB.exe"+465B1: 8B EB              -  mov ebp,ebx
"KB.exe"+465B3: 0F B6 16           -  movzx edx,byte ptr [esi]
"KB.exe"+465B6: 8B 44 24 1C        -  mov eax,[esp+1C]
"KB.exe"+465BA: 52                 -  push edx
"KB.exe"+465BB: E8 D0 AE 00 00     -  call KB.exe+51490
"KB.exe"+465C0: 84 C0              -  test al,al
"KB.exe"+465C2: 0F 84 E4 00 00 00  -  je KB.exe+466AC
"KB.exe"+465C8: 85 ED              -  test ebp,ebp
}

 

 

Бесконечные ОД

Скрытый текст

{ Game   : KB.exe  
  Version:   
  Date   : 2016-01-20  
  Author : Garik66  
 
  This script does blah blah blah
 }
 
[ENABLE]

aobscanmodule(InfiniteMoveUnit,KB.exe,29 41 14 83 79 14 00) // should be unique
alloc(newmem,$1000)

label(code)
label(return)
registersymbol(InfiniteMoveUnit)

newmem:  
	cmp [ecx+1cc],1  
	jne code  
	xor eax,eax
	
code:  
	sub [ecx+14],eax  
	cmp dword ptr [ecx+14],00  
	jmp return
	
InfiniteMoveUnit:  
  jmp newmem  
  nop  
  nop

return:

[DISABLE]
InfiniteMoveUnit:
  db 29 41 14 83 79 14 00
  
  
unregistersymbol(InfiniteMoveUnit)
dealloc(newmem)


{
// ORIGINAL CODE - INJECTION POINT: "KB.exe"+5E754
"KB.exe"+5E732: 74 1A                       -  je KB.exe+5E74E
"KB.exe"+5E734: 8B 17                       -  mov edx,[edi]
"KB.exe"+5E736: 8B 82 60 24 01 00           -  mov eax,[edx+00012460]
"KB.exe"+5E73C: 8B 4C 24 38                 -  mov ecx,[esp+38]
"KB.exe"+5E740: 8B 4C B1 FC                 -  mov ecx,[ecx+esi*4-04]
"KB.exe"+5E744: 50                          -  push eax
"KB.exe"+5E745: 8B 44 24 7C                 -  mov eax,[esp+7C]
"KB.exe"+5E749: E8 C2 8F 10 00              -  call KB.exe+167710
"KB.exe"+5E74E: 8B 53 08                    -  mov edx,[ebx+08]
"KB.exe"+5E751: 8B 4A 70                    -  mov ecx,[edx+70]
// ---------- INJECTING HERE ----------
"KB.exe"+5E754: 29 41 14                    -  sub [ecx+14],eax
"KB.exe"+5E757: 83 79 14 00                 -  cmp dword ptr [ecx+14],00
// ---------- DONE INJECTING  ----------
"KB.exe"+5E75B: 7D 0D                       -  jnl KB.exe+5E76A
"KB.exe"+5E75D: 8B 43 08                    -  mov eax,[ebx+08]
"KB.exe"+5E760: 8B 48 70                    -  mov ecx,[eax+70]
"KB.exe"+5E763: C7 41 14 00 00 00 00        -  mov [ecx+14],00000000
"KB.exe"+5E76A: 8B 84 24 90 00 00 00        -  mov eax,[esp+00000090]
"KB.exe"+5E771: 33 F6                       -  xor esi,esi
"KB.exe"+5E773: 3B C6                       -  cmp eax,esi
"KB.exe"+5E775: 74 09                       -  je KB.exe+5E780
"KB.exe"+5E777: 8B 53 08                    -  mov edx,[ebx+08]
"KB.exe"+5E77A: 8B 4A 70                    -  mov ecx,[edx+70]
} 

 

 

Инициатива юнитов

Скрытый текст

{
 Game   : KB.exe
 Version:
 Date   : 2016-01-20
 Author : Garik66

 This script does blah blah blah
}

[ENABLE]

aobscanmodule(InitiativeUnits,KB.exe,8B 18 55 8B 6C 24 10) // should be unique
alloc(newmem,$1000)

label(code)
label(return)

newmem:
  cmp [eax+170],1
  jne code
  mov [eax],a
  
code:
  mov ebx,[eax]
  push ebp
  mov ebp,[esp+10]
  jmp return
  
InitiativeUnits:
  jmp newmem
  nop
  nop
  
return:

registersymbol(InitiativeUnits)

[DISABLE]
InitiativeUnits:
  db 8B 18 55 8B 6C 24 10
  

unregistersymbol(InitiativeUnits)
dealloc(newmem)


{
// ORIGINAL CODE - INJECTION POINT: "KB.exe"+1F345
"KB.exe"+1F338: CC                    -  int 3 
"KB.exe"+1F339: CC                    -  int 3 
"KB.exe"+1F33A: CC                    -  int 3 
"KB.exe"+1F33B: CC                    -  int 3 
"KB.exe"+1F33C: CC                    -  int 3 
"KB.exe"+1F33D: CC                    -  int 3 
"KB.exe"+1F33E: CC                    -  int 3 
"KB.exe"+1F33F: CC                    -  int 3 
"KB.exe"+1F340: 8B 44 24 04           -  mov eax,[esp+04]
"KB.exe"+1F344: 53                    -  push ebx
// ---------- INJECTING HERE ----------
"KB.exe"+1F345: 8B 18                 -  mov ebx,[eax]
"KB.exe"+1F347: 55                    -  push ebp
"KB.exe"+1F348: 8B 6C 24 10           -  mov ebp,[esp+10]
// ---------- DONE INJECTING  ----------
KB.exe"+1F34C: 56                    -  push esi
"KB.exe"+1F34D: 8B 70 08              -  mov esi,[eax+08]
"KB.exe"+1F350: 57                    -  push edi
"KB.exe"+1F351: 8B FB                 -  mov edi,ebx
"KB.exe"+1F353: 85 F6                 -  test esi,esi
"KB.exe"+1F355: 74 17                 -  je KB.exe+1F36E
"KB.exe"+1F357: 55                    -  push ebp
"KB.exe"+1F358: 57                    -  push edi
"KB.exe"+1F359: 53                    -  push ebx
"KB.exe"+1F35A: 8B C6                 -  mov eax,esi
} 

 

 

Здоровье юнитов

Скрытый текст

{
 Game   : KB.exe
 Version:
 Date   : 2016-01-20
 Author : Garik66

 This script does blah blah blah 
}

[ENABLE]

aobscanmodule(GodMod,KB.exe,8B 49 0C 2B CB) // should be unique
alloc(newmem,$1000)

label(code)
label(return)
label(OHK)
registersymbol(OHK)
registersymbol(GodMod)

newmem:
  cmp [ecx+1cc],1
  jne @f  
  push [ecx+28]    // 4 инструкции нужны, если скрипт не был подключен
  pop [ecx+0c]     // перед боем для восстановления кол-ва юнитов и их
  push [ecx+10c]   // ХР.
  pop [ecx+10]
  xor ebx,ebx
  jmp code
  
@@:
  cmp [OHK],1
  jne code
  add ebx,#1000000 // Поставил 1000000 на всякий случай вдруг у врага
				   // Армия с суммарной ХР очень большой.
  
code:
  mov ecx,[ecx+0c]
  sub ecx,ebx
  jmp return
  
  OHK:
    dd 0
  
GodMod:
  jmp newmem
  
return:

[DISABLE]
GodMod:
  db 8B 49 0C 2B CB
  
unregistersymbol(OHK)
unregistersymbol(GodMod)
dealloc(newmem)


{
// ORIGINAL CODE - INJECTION POINT: "KB.exe"+5A1CD
"KB.exe"+5A1AC: 81 C2 00 00 C0 B4     -  add edx,B4C00000
"KB.exe"+5A1B2: 89 57 08              -  mov [edi+08],edx
"KB.exe"+5A1B5: 8B 46 70              -  mov eax,[esi+70]
"KB.exe"+5A1B8: 83 C0 50              -  add eax,50
"KB.exe"+5A1BB: 50                    -  push eax
"KB.exe"+5A1BC: E8 7F 51 FC FF        -  call KB.exe+1F340
"KB.exe"+5A1C1: 8B 4E 70              -  mov ecx,[esi+70]
"KB.exe"+5A1C4: 8B 51 10              -  mov edx,[ecx+10]
"KB.exe"+5A1C7: 89 57 14              -  mov [edi+14],edx
"KB.exe"+5A1CA: 8B 4E 70              -  mov ecx,[esi+70]
// ---------- INJECTING HERE ----------
"KB.exe"+5A1CD: 8B 49 0C              -  mov ecx,[ecx+0C]
"KB.exe"+5A1D0: 2B CB                 -  sub ecx,ebx
// ---------- DONE INJECTING  ----------
"KB.exe"+5A1D2: 89 4F 10              -  mov [edi+10],ecx
"KB.exe"+5A1D5: 85 C9                 -  test ecx,ecx
"KB.exe"+5A1D7: 7F 1D                 -  jg KB.exe+5A1F6
"KB.exe"+5A1D9: 8D A4 24 00 00 00 00  -  lea esp,[esp+00000000]
"KB.exe"+5A1E0: FF 4F 14              -  dec [edi+14]
"KB.exe"+5A1E3: 8B 4F 14              -  mov ecx,[edi+14]
"KB.exe"+5A1E6: FF 47 0C              -  inc [edi+0C]
"KB.exe"+5A1E9: 85 C9                 -  test ecx,ecx
"KB.exe"+5A1EB: 7E 09                 -  jle KB.exe+5A1F6
"KB.exe"+5A1ED: 01 47 10              -  add [edi+10],eax
}

 

 

 

Ссылка на таблицу

  • Плюс 1
Ссылка на комментарий
Поделиться на другие сайты

8 минут назад, SergBrNord сказал:

Посмотрел на форматирование темы и кода,

Так в моём сообщение, есть табличка со скриптами, если раскрыть все спойлеры. Но всё равно спасибо, что исправил огрехи движка.

У меня скрипты называются (на старом движке форума эти названия, были названиями и спойлеров, теперь их не видно):

1. Окно персонажа (Герой)

2. Infinite Move Unit

3. Initiative Units

4. GodMod + OneHitKill

Изменено пользователем Garik66
Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.