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

Serious Sam HD: TSE; взлом здоровья


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

Времени на уточнение, какие скрипты проверял и как, не имею к сожалению.

Думаю вылет связан именно со сверкой с шифрованным значением, как будет время, попробую переписать скрипт, чтобы ты его потестил.

 

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

SergBrNord, переписал скрипт (пока только для НР = 99), в самом начале побегал, по подбирал аптечки - вылетов нет.

Потесть теперь уже сам (у меня времени нет этим заниматься), если вылетов не будет и у тебя, то добавим в скрипт патроны и всё оружие.

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

{ Game   : SamHD_TSE.exe
  Version: 
  Date   : 2016-04-04
  Author : Garik66

  This script does blah blah blah
}

[ENABLE]
aobscanmodule(player,SamHD_TSE.exe,39 86 98 04 00 00) // should be unique
aobscanmodule(GodMod1,SamHD_TSE.exe,CC 8B 01 33 C1 39 41 04)
alloc(newmem,$1000)
label(newmem1)
label(code)
label(code1)
label(return)
label(return1)
label(p_player)
registersymbol(p_player)
registersymbol(player)
registersymbol(GodMod1)

newmem:
  mov ecx,[esi+58]
  cmp [ecx],79616C50         // Проверенный фильтр - "play".
  jne code
  mov [p_player],esi         // указатель на начала структуры ГГ

code:
  cmp [esi+00000498],eax
  jmp return

newmem1:
  cmp [p_player],0           // на всякий случай (чтобы не было вылетов), если вторая инструкция сработает раньше, чем первая.
  je code1

  mov eax,[p_player]
  lea eax,[eax+488]
  cmp ecx,eax                // Если инструкция работает со структурой ГГ в данный момент, то записываем в адрес здоровья #99.
  jne code1
  mov [ecx],#99
  mov eax,[ecx]        
  xor eax,ecx                // XORируем значение НР через адрес НР и
  mov [ecx+04],eax           // Записываем его в нужный адрес (в следующий адрес после адреса НР, через 4 байта).

code1:
  mov eax,[ecx]
  xor eax,ecx
  cmp [ecx+04],eax
  jmp return1

p_player:
dd 0

player:
  jmp newmem
  nop
return:

GodMod1+01:
  jmp newmem1
  nop
  nop
return1:

[DISABLE]
player:
  db 39 86 98 04 00 00
GodMod1+01:
  db 8B 01 33 C1 39 41 04

unregistersymbol(p_player)
unregistersymbol(player)
unregistersymbol(GodMod1)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "SamHD_TSE.exe"+6BBA6

"SamHD_TSE.exe"+6BB80: 74 10                 -  je SamHD_TSE.exe+6BB92
"SamHD_TSE.exe"+6BB82: 83 BE 38 08 00 00 00  -  cmp dword ptr [esi+00000838],00
"SamHD_TSE.exe"+6BB89: 74 07                 -  je SamHD_TSE.exe+6BB92
"SamHD_TSE.exe"+6BB8B: 8B CE                 -  mov ecx,esi
"SamHD_TSE.exe"+6BB8D: E8 1E 46 FF FF        -  call SamHD_TSE.exe+601B0
"SamHD_TSE.exe"+6BB92: 8B CE                 -  mov ecx,esi
"SamHD_TSE.exe"+6BB94: E8 B7 FD 02 00        -  call SamHD_TSE.exe+9B950
"SamHD_TSE.exe"+6BB99: 8D BE 88 04 00 00     -  lea edi,[esi+00000488]
"SamHD_TSE.exe"+6BB9F: 8B CF                 -  mov ecx,edi
"SamHD_TSE.exe"+6BBA1: E8 4A 0B 48 00        -  call SamHD_TSE.exe+4EC6F0
// ---------- INJECTING HERE ----------
"SamHD_TSE.exe"+6BBA6: 39 86 98 04 00 00     -  cmp [esi+00000498],eax
// ---------- DONE INJECTING  ----------
"SamHD_TSE.exe"+6BBAC: 75 0B                 -  jne SamHD_TSE.exe+6BBB9
"SamHD_TSE.exe"+6BBAE: 8B CE                 -  mov ecx,esi
"SamHD_TSE.exe"+6BBB0: E8 2B AE 00 00        -  call SamHD_TSE.exe+769E0
"SamHD_TSE.exe"+6BBB5: 85 C0                 -  test eax,eax
"SamHD_TSE.exe"+6BBB7: 75 19                 -  jne SamHD_TSE.exe+6BBD2
"SamHD_TSE.exe"+6BBB9: 8B 16                 -  mov edx,[esi]
"SamHD_TSE.exe"+6BBBB: 8B 82 B8 06 00 00     -  mov eax,[edx+000006B8]
"SamHD_TSE.exe"+6BBC1: 8B CE                 -  mov ecx,esi
"SamHD_TSE.exe"+6BBC3: FF D0                 -  call eax
"SamHD_TSE.exe"+6BBC5: 8B CF                 -  mov ecx,edi
}
{
// ORIGINAL CODE - INJECTION POINT: "SamHD_TSE.exe"+4EC6F0

"SamHD_TSE.exe"+4EC6DA: 8B 55 08                       -  mov edx,[ebp+08]
"SamHD_TSE.exe"+4EC6DD: 89 01                          -  mov [ecx],eax
"SamHD_TSE.exe"+4EC6DF: 8B 12                          -  mov edx,[edx]
"SamHD_TSE.exe"+4EC6E1: 8B 12                          -  mov edx,[edx]
"SamHD_TSE.exe"+4EC6E3: 33 C1                          -  xor eax,ecx
"SamHD_TSE.exe"+4EC6E5: 89 51 08                       -  mov [ecx+08],edx
"SamHD_TSE.exe"+4EC6E8: 89 41 04                       -  mov [ecx+04],eax
"SamHD_TSE.exe"+4EC6EB: 5D                             -  pop ebp
"SamHD_TSE.exe"+4EC6EC: C2 08 00                       -  ret 0008
"SamHD_TSE.exe"+4EC6EF: CC                             -  int 3
// ---------- INJECTING HERE ----------
"SamHD_TSE.exe"+4EC6F0: 8B 01                          -  mov eax,[ecx]
"SamHD_TSE.exe"+4EC6F2: 33 C1                          -  xor eax,ecx
"SamHD_TSE.exe"+4EC6F4: 39 41 04                       -  cmp [ecx+04],eax
// ---------- DONE INJECTING  ----------
"SamHD_TSE.exe"+4EC6F7: 74 0A                          -  je SamHD_TSE.exe+4EC703
"SamHD_TSE.exe"+4EC6F9: C7 05 68 A2 F5 00 01 00 00 00  -  mov [SamHD_TSE.exe+B5A268],00000001
"SamHD_TSE.exe"+4EC703: 8B 01                          -  mov eax,[ecx]
"SamHD_TSE.exe"+4EC705: C3                             -  ret
"SamHD_TSE.exe"+4EC706: CC                             -  int 3
"SamHD_TSE.exe"+4EC707: CC                             -  int 3
"SamHD_TSE.exe"+4EC708: CC                             -  int 3
"SamHD_TSE.exe"+4EC709: CC                             -  int 3
"SamHD_TSE.exe"+4EC70A: CC                             -  int 3
"SamHD_TSE.exe"+4EC70B: CC                             -  int 3
}

 

 

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

В 04.04.2016в19:25, Garik66 сказал:

SergBrNord, переписал скрипт (пока только для НР = 99), в самом начале побегал, по подбирал аптечки - вылетов нет.

Проверил - падает. Проблема не в фильтрах или скрипте. Проблема в достаточно нестабильном движке.

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

23 часа назад, SergBrNord сказал:

Проверил - падает. Проблема не в фильтрах или скрипте. Проблема в достаточно нестабильном движке.

Ну да. Говорили уже об недоделанном репаке раньше. Нужна лицензия.

Я почитал сообщения репака, ссылку на который мне дал  SergBrNord.

Там пишут, что разработчики специально поломали некоторые файлы игры (борьба против пиратов), и только после обновления со Стим эти файлы принимают нормальный вид. Так что, как делали репакеры я не знаю (по-видимому не очень справились), но ошибка явно специально деланная разработчиками.

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

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

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

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