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

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

хочу сделать One Hit Kill, но столкнулся с проблемой, а именно


push ecx
mov ecx,[Prince of Persia.exe+00DA5490]
mov ecx,[ecx+764]
mov ecx,[ecx+44c]
mov ecx,[ecx+134]
mov [_player],ecx
pop ecx
cmp ebp,[_player]
je _originalcode

Вся проблема из-за пробелов в названии .exe "Prince of Persia.exe+00DA5490", не создается скрипт. Пытался как в HTML, подставить %20 вместо пробела, но вылетает с ошибкой.

Как быть ? :rolleyes:

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

Вариант 1.

Переименовать exe файл, тоже самое должны сделать юзеры.

Вариант 2.

Искать причину ошибки в исходниках. Я помочь не могу, на это времени нет

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

Вариант 1.

Переименовать exe файл, тоже самое должны сделать юзеры.

Эта мысль мне пришла самой первой, но это не вариант.

Надо в кавычки взять.

спс, попробую

upd

кавычки не помогли ил я не правильно их ставлю ?

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

не, не проходит.

Решил проблему, перейдя в отлачике по адресу "Prince of Persia.exe+00DA2F70" ("Prince of Persia.exe+00DA5490" был как пример, а с тем пройдена вся игра) и скопировав найденный адрес как "Create_TMultiTrack+34AB20".

Для данной игры решение нашлось, но вопрос все равно остается открытым.

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

  • 6 месяцев спустя...

Я у себя в тренере сделал вот так... тоже прошел всю игру и все ок...

Скрипт One Hit Kill

[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat
alloc(newmem,2048) //2kb should be enough
label(returnhere)
label(originalcode)
label(exit)

006FCEF8:
jmp newmem
returnhere:

newmem: //this is allocated memory, you have read,write,execute access
//place your code here
mov [eax+58],00000000

originalcode:
nop
nop

exit:
jmp returnhere



[DISABLE]
//code from here till the end of the code will be used to disable the cheat
dealloc(newmem)
006FCEF8:
mov ebp,[eax+58]
test ebp,ebp
//Alt: db 8B 68 58 85 ED

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

  • 5 лет спустя...

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

 

Выкладываю два скрипта (ничего не делающих), в которых есть адрес функций, которые работают с этим значением.

 

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

{ Game   : Prince of Persia.exe
  Version: 
  Date   : 2017-01-09
  Author : SergBrNord

  This script does blah blah blah
}

[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat

 
 
aobscanmodule(WTF,Prince of Persia.exe,8B 0D 08 9A 10 01 F3) // should be unique
alloc(newmem,$1000)

label(code)
label(return)

newmem:

code:
  mov ecx,["Prince of Persia.exe"+D09A08]
  jmp return

WTF:
  jmp code
  nop
return:
registersymbol(WTF)

[DISABLE]
//code from here till the end of the code will be used to disable the cheat
WTF:
  db 8B 0D 08 9A 10 01

unregistersymbol(WTF)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "Prince of Persia.exe"+10BFDB

"Prince of Persia.exe"+10BFCA: CC                       -  int 3 
"Prince of Persia.exe"+10BFCB: CC                       -  int 3 
"Prince of Persia.exe"+10BFCC: CC                       -  int 3 
"Prince of Persia.exe"+10BFCD: CC                       -  int 3 
"Prince of Persia.exe"+10BFCE: CC                       -  int 3 
"Prince of Persia.exe"+10BFCF: CC                       -  int 3 
"Prince of Persia.exe"+10BFD0: 83 EC 18                 -  sub esp,18
"Prince of Persia.exe"+10BFD3: A1 0C 9A 10 01           -  mov eax,["Prince of Persia.exe"+D09A0C]
"Prince of Persia.exe"+10BFD8: 56                       -  push esi
"Prince of Persia.exe"+10BFD9: 8B F1                    -  mov esi,ecx
// ---------- INJECTING HERE ----------
"Prince of Persia.exe"+10BFDB: 8B 0D 08 9A 10 01        -  mov ecx,["Prince of Persia.exe"+D09A08]
// ---------- DONE INJECTING  ----------
"Prince of Persia.exe"+10BFE1: F3 0F 7E 86 94 00 00 00  -  movq xmm0,[esi+00000094]
"Prince of Persia.exe"+10BFE9: 89 4C 24 04              -  mov [esp+04],ecx
"Prince of Persia.exe"+10BFED: 8B C8                    -  mov ecx,eax
"Prince of Persia.exe"+10BFEF: 25 FF FF FF 7F           -  and eax,7FFFFFFF
"Prince of Persia.exe"+10BFF4: 89 44 24 08              -  mov [esp+08],eax
"Prince of Persia.exe"+10BFF8: DF 6C 24 04              -  fild qword ptr [esp+04]
"Prince of Persia.exe"+10BFFC: 81 E1 00 00 00 80        -  and ecx,80000000
"Prince of Persia.exe"+10C002: 89 4C 24 08              -  mov [esp+08],ecx
"Prince of Persia.exe"+10C006: 8B 8E 90 00 00 00        -  mov ecx,[esi+00000090]
"Prince of Persia.exe"+10C00C: C7 44 24 04 00 00 00 00  -  mov [esp+04],00000000
}

 

 

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

{ Game   : Prince of Persia.exe
  Version: 
  Date   : 2017-01-09
  Author : SergBrNord

  This script does blah blah blah
}

[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat

 
 
aobscanmodule(WTF2,Prince of Persia.exe,89 4E 18 DC 0D 20 38 01 01) // should be unique
alloc(newmem,$1000)

label(code)
label(return)

newmem:

code:
  mov [esi+18],ecx
  fmul qword ptr [01013820]
  jmp return

WTF2:
  jmp code
  nop
  nop
  nop
  nop
return:
registersymbol(WTF2)

[DISABLE]
//code from here till the end of the code will be used to disable the cheat
WTF2:
  db 89 4E 18 DC 0D 20 38 01 01

unregistersymbol(WTF2)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "Prince of Persia.exe"+59088

"Prince of Persia.exe"+5906F: 89 54 24 0C              -  mov [esp+0C],edx
"Prince of Persia.exe"+59073: 85 C0                    -  test eax,eax
"Prince of Persia.exe"+59075: 7F 0A                    -  jg "Prince of Persia.exe"+59081
"Prince of Persia.exe"+59077: 7C 04                    -  jl "Prince of Persia.exe"+5907D
"Prince of Persia.exe"+59079: 85 C9                    -  test ecx,ecx
"Prince of Persia.exe"+5907B: 77 04                    -  ja "Prince of Persia.exe"+59081
"Prince of Persia.exe"+5907D: 33 C9                    -  xor ecx,ecx
"Prince of Persia.exe"+5907F: 33 C0                    -  xor eax,eax
"Prince of Persia.exe"+59081: DF 6C 24 08              -  fild qword ptr [esp+08]
"Prince of Persia.exe"+59085: 89 46 1C                 -  mov [esi+1C],eax
// ---------- INJECTING HERE ----------
"Prince of Persia.exe"+59088: 89 4E 18                 -  mov [esi+18],ecx
"Prince of Persia.exe"+5908B: DC 0D 20 38 01 01        -  fmul qword ptr ["Prince of Persia.exe"+C13820]
// ---------- DONE INJECTING  ----------
"Prince of Persia.exe"+59091: D9 54 24 08              -  fst dword ptr [esp+08]
"Prince of Persia.exe"+59095: D9 56 38                 -  fst dword ptr [esi+38]
"Prince of Persia.exe"+59098: D9 EE                    -  fldz 
"Prince of Persia.exe"+5909A: D9 C9                    -  fxch st(1)
"Prince of Persia.exe"+5909C: DF E9                    -  fucomip st(0),st(1)
"Prince of Persia.exe"+5909E: DD D8                    -  fstp st(0)
"Prince of Persia.exe"+590A0: 9F                       -  lahf 
"Prince of Persia.exe"+590A1: F6 C4 44                 -  test ah,44
"Prince of Persia.exe"+590A4: 7A 0C                    -  jp "Prince of Persia.exe"+590B2
"Prince of Persia.exe"+590A6: 0F 57 C0                 -  xorps xmm0,xmm0
}

 

 

Статический адрес для steam-версии: "Prince of Persia.exe"+D09A08

 

Ссылка на сохранения

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

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

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

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