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

как правильно соединять два скрипта или несколько в один скрипт ?

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

зы1: можно будет попробовать 

вот так фильтрануть:

Спойлер

  cmp [esp],00626973    
  jne code

 

но это, если в игре адреса инструкций постоянные.

4 минуты назад, Alex2411 сказал:

не  получаеться сделать фильтр

Ты наверное пропустил мое сообщение.

Адреса инструкций постоянные в игре или меняются после перезагрузки игры.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
15 минут назад, Garik66 сказал:

вот так фильтрануть

 

вылет через нескольо  секунд.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Только что, Alex2411 сказал:

 

вылет через нескольо  секунд.

Ты не ответил. 

 

17 минут назад, Garik66 сказал:

Адреса инструкций постоянные в игре или меняются после перезагрузки игры.

 

Поделиться сообщением


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

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

 

cmp [esp+размер кадра стека + количество положеных в стек регистров в прологе], адрес возврата (адрес в какую функцию вернуть выполнение кода, уникальный вызов дяя игрока)
je code
//ohk для противников
code:
//бессмертие

Если с адресами, то есть несколько инструкций, которые вызывают одну функцию из разных мест для игрока и NPC, значит адрес возврата будет уникальный для игрока. Возьмем к примеру адрес возврата игрока 0xDEADF00D, для NPC 0xDEADFACE, внутри вызываемой функции они будут иметь одинаковое смещение по стеку к примеру 0x44(размер кадра стека) + 4 байта на сохраненный адрес кадра стека функции откуда происходил вызов + 4 байта на адрес куда вернуть выполнение кода, после вызова функции.

 

//cmp [esp+0x44+4+4], 0xDEADF00D
cmp [esp+0x4C], 0xDEADF00D

je code
//ohk для противников
code:
//бессмертие

 

Поделиться сообщением


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

как мне объединить два скрипта в оден? 

вот 1 скрипт

 

Спойлер

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

newmem:
mov dword ptr [edi+0000052C],(float)0
originalcode:
mulss xmm0,[edi+0000052C]

exit:
jmp returnhere

"xrGame.dll"+1D672E:
jmp newmem
nop
nop
nop
returnhere:


 
 
[DISABLE]
//code from here till the end of the code will be used to disable the cheat
dealloc(newmem)
"xrGame.dll"+1D672E:
mulss xmm0,[edi+0000052C]
//Alt: db F3 0F 59 87 2C 05 00 00

и 2 скрипт





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

newmem:
mov dword ptr [edi+00000528],(float)0
originalcode:
addss xmm0,[edi+00000528]

exit:
jmp returnhere

"xrGame.dll"+1D6736:
jmp newmem
nop
nop
nop
returnhere:


 
 
[DISABLE]
//code from here till the end of the code will be used to disable the cheat
dealloc(newmem)
"xrGame.dll"+1D6736:
addss xmm0,[edi+00000528]
//Alt: db F3 0F 58 87 28 05 00 00

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1 час назад, ЛАГАРИУМ сказал:

как мне объединить два скрипта в оден? 

Даже в этом топике давал ссылки на видео, где делал объединение.
Пока сам не попробуешь - не отложится. А способов много.

Поделиться сообщением


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

ENABLE]
alloc(newmem,2048)
label(newmem1)
label(returnhere)
label(returnhere1)


newmem:
mov dword ptr [edi+0000052C],(float)0


jmp returnhere

newmem1:
mov dword ptr [edi+00000528],(float)0


jmp returnhere1

"xrGame.dll"+1D672E:
jmp newmem
nop
nop
nop

returnhere:

"xrGame.dll"+1D6736:
jmp newmem1
nop
nop
nop
returnhere1:

[DISABLE]

"xrGame.dll"+1D672E:
mulss xmm0,[edi+0000052C]

"xrGame.dll"+1D6736:
addss xmm0,[edi+00000528]
dealloc(newmem)

Спойлер

 

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

 

16 часов назад, Garik66 сказал:

Даже в этом топике давал ссылки на видео, где делал объединение.
Пока сам не попробуешь - не отложится. А способов много.

 

 

Изменено пользователем ЛАГАРИУМ

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
42 минуты назад, ЛАГАРИУМ сказал:

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

А где оригинальный код.

originalcode:
mulss xmm0,[edi+0000052C] и первого и второго скриптов
нужно делать внимательно

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
8 минут назад, Garik66 сказал:

А где оригинальный код.

originalcode:
mulss xmm0,[edi+0000052C] и первого и второго скриптов
нужно делать внимательно

я просто скопировал своё в етот скрипт с форума

Спойлер

[ENABLE]
alloc(newmem,2048)
label(newmem1)
label(returnhere)
label(returnhere1)

newmem:
mov [ecx],#99
mov eax,edx
pop esi
jmp returnhere

newmem1:
mov [esi+00000830],#99
jmp returnhere1

"conviction_game.exe"+13E2B2:
jmp newmem
returnhere:

"conviction_game.exe"+1430BE:
jmp newmem1
nop
returnhere1:

[DISABLE]
"conviction_game.exe"+13E2B2:
mov [ecx],eax
mov eax,edx
pop esi
"conviction_game.exe"+1430BE:
mov [esi+00000830],edi

dealloc(newmem)

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
45 минут назад, ЛАГАРИУМ сказал:

я просто скопировал

Нужно не просто скопировать, а посмотреть видос, понять и потом сделать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
28 минут назад, Garik66 сказал:

Нужно не просто скопировать, а посмотреть видос, понять и потом сделать.

уже заработало добавил label(code)
label(code1) вот что получилось

Спойлер

[ENABLE]
alloc(Norecoil,2048)
label(Norecoil1)
label(returnhere)
label(code)
label(code1)
label(returnhere1)


Norecoil:
mov dword ptr [edi+0000052C],(float)0
code:
  mulss xmm0,[edi+0000052C]

jmp returnhere

Norecoil1:
mov dword ptr [edi+00000528],(float)0
code1:
  addss xmm0,[edi+00000528]

jmp returnhere1

"xrGame.dll"+1D672E:
jmp Norecoil
nop
nop
nop

returnhere:

"xrGame.dll"+1D6736:
jmp Norecoil1
nop
nop
nop
returnhere1:

[DISABLE]

"xrGame.dll"+1D672E:
mulss xmm0,[edi+0000052C]

"xrGame.dll"+1D6736:
addss xmm0,[edi+00000528]
dealloc(newmem)
 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
31 минуту назад, Garik66 сказал:

Нужно не просто скопировать, а посмотреть видос, понять и потом сделать.

а видос я смотрел и не один раз я еты метки  или как они там називаются не понимаю их типа  етих  label(returnhere)
label(code)
label(code1)
label(returnhere1)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1 час назад, ЛАГАРИУМ сказал:

уже заработало добавил label(code)

а как ты назад восстановишь значение в адресе ? функцию выключишь, а отдачи то всё равно нет...  

А если по твоему делать.. то хотя бы так накати... в первую и во вторую.

originalcode:
xorps xmm0,xmm0
mulss xmm0,[edi+0000052C] - перемножит на 0 и выйдет 0
exit:
originalcode:
addss xmm0,[edi+00000528]
xorps xmm0,xmm0  // тут обнулит
exit:
jmp returnhere

так хоть оригинал восстановишь если хуком делать. 

Поделиться сообщением


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

как то так получилось, теперь отключается скрипт все работает спасибо .  

Спойлер

[ENABLE]
alloc(Norecoil,2048)
label(Norecoil1)
label(returnhere)
label(code)
label(code1)
label(returnhere1)


Norecoil:

code:
  xorps xmm0,xmm0
mulss xmm0,[edi+0000052C]


jmp returnhere

Norecoil1:

code1:
  addss xmm0,[edi+00000528]
xorps xmm0,xmm0  // тут обнулит

jmp returnhere1

"xrGame.dll"+1D672E:
jmp Norecoil
nop
nop
nop

returnhere:

"xrGame.dll"+1D6736:
jmp Norecoil1
nop
nop
nop
returnhere1:

[DISABLE]

"xrGame.dll"+1D672E:
mulss xmm0,[edi+0000052C]

"xrGame.dll"+1D6736:
addss xmm0,[edi+00000528]
dealloc(newmem)

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
13 минут назад, ЛАГАРИУМ сказал:

как то так получилось

Как то так должно получаться то... 

Спойлер

[ENABLE]
alloc(newmem,1048)
label(_recoil_1_)
label(_recoil_2_)
label(_1_back_)
label(_2_back_)
newmem:
_recoil_1_:
xorps xmm0,xmm0
mulss xmm0,[edi+0000052C]
jmp _1_back_
_recoil_2_:
addss xmm0,[edi+00000528]
xorps xmm0,xmm0
jmp _2_back_
"xrGame.dll"+1D672E:
jmp _recoil_1_
db 90 90 90
_1_back_:
"xrGame.dll"+1D6736:
jmp _recoil_2_
db 90 90 90
_2_back_:
[DISABLE]
"xrGame.dll"+1D672E:
mulss xmm0,[edi+0000052C]
"xrGame.dll"+1D6736:
addss xmm0,[edi+00000528]
dealloc(newmem)

 

и aobscan желательно... 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
20 минут назад, LIRW сказал:

Как то так должно получаться то... 

  Показать контент


[ENABLE]
alloc(newmem,1048)
label(_recoil_1_)
label(_recoil_2_)
label(_1_back_)
label(_2_back_)
newmem:
_recoil_1_:
xorps xmm0,xmm0
mulss xmm0,[edi+0000052C]
jmp _1_back_
_recoil_2_:
addss xmm0,[edi+00000528]
xorps xmm0,xmm0
jmp _2_back_
"xrGame.dll"+1D672E:
jmp _recoil_1_
db 90 90 90
_1_back_:
"xrGame.dll"+1D6736:
jmp _recoil_2_
db 90 90 90
_2_back_:
[DISABLE]
"xrGame.dll"+1D672E:
mulss xmm0,[edi+0000052C]
"xrGame.dll"+1D6736:
addss xmm0,[edi+00000528]
dealloc(newmem)

 

и aobscan желательно... 

чот не получается  вставить правельно  aobscan

вот ето нужно

Спойлер

aobscan(Norecoil,xrGame.dll,F3 0F 59 87 2C 05 00 00 F3 0F 58 87 28 05 00 00 51)

aobscan(Norecoil1,xrGame.dll,F3 0F 58 87 28 05 00 00 51)

 

Поделиться сообщением


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

aobscanmodule(Norecoil,xrGame.dll,F3 0F 59 87 2C 05 00 00 F3 0F 58 87 28 05 00 00 51)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
11 минут назад, ЛАГАРИУМ сказал:

чот не получается  вставить правельно  aobscan

Модуль указывать не над... а с модулем.. пишется по другому.. как то так.. 

Если что то не так.. подправишь.

Спойлер

[ENABLE]
aobscanmodule(_recoil_1_,xrGame.dll,F3 0F 59 87 2C 05 00 00 F3 0F 58 87 28 05 00 00 51)
aobscanmodule(_recoil_2_,xrGame.dll,F3 0F 58 87 20 05 00 00 51)
alloc(newmem,1048)
label(_recoil_1)
label(_recoil_2)
label(_1_back_)
label(_2_back_)
newmem:
_recoil_1:
xorps xmm0,xmm0
mulss xmm0,[edi+0000052C]
jmp _1_back_
_recoil_2:
addss xmm0,[edi+00000528]
xorps xmm0,xmm0
jmp _2_back_
_recoil_1_:
jmp _recoil_1
db 90 90 90
_1_back_:
_recoil_2_:
jmp _recoil_2
db 90 90 90
_2_back_:
[DISABLE]
_recoil_1_:
db F3 0F 59 87 2C 05 00 00
_recoil_2_:
db F3 0F 58 87 20 05 00 00
dealloc(newmem)

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
5 минут назад, Hippan сказал:

aobscanmodule(Norecoil,xrGame.dll,F3 0F 59 87 2C 05 00 00 F3 0F 58 87 28 05 00 00 51)

я так делаю

Спойлер

[ENABLE]
aobscanmodule(Norecoil,xrGame.dll,F3 0F 59 87 2C 05 00 00 F3 0F 58 87 28 05 00 00 51)
aobscanmodule(Norecoil1,xrGame.dll,F3 0F 58 87 28 05 00 00 51)
alloc(Norecoil$1000)
label(Norecoil1)
label(returnhere)
label(code)
label(code1)
label(returnhere1)

и пишет ошибку не весь код пригоден к иньекции ошибка в строке  4 alloc(00000000$1000) и так дале

Поделиться сообщением


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

а запятые где? 

alloc(Norecoil,$1000)

Поделиться сообщением


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

×

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

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