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

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

Я сейчас качаю игру, как скачаю посмотрю что можно сделать.

Ок, спс большое за содействие)) И к стате с бросательным оружием по ходу похожая история, аоб не работает, ну и наверное инструкции отвечают эти аналогично не только за кол-во брос. оружия.

Вот 2 скрипта которые удалось сделать, работают нормально по отдельности, вместе не корректно (может вылететь при использовании оружия), да и 2-ой скрипт по ходу ещё как бы даёт бесконечные патроны в абойме:

[ENABLE]alloc(newmem,100,"metro.exe"+29F399)label(returnhere)newmem:mov [rcx+4F4],#999jmp returnhere"metro.exe"+29F399:jmp newmemnopreturnhere:[DISABLE]"metro.exe"+29F399:mov [rcx+000004F4],edxdealloc(newmem)
[ENABLE]alloc(newmem,100,"metro.exe"+54069B)label(returnhere)newmem:mov [rdi+170],#99mov eax,[rdi+170]jmp returnhere"metro.exe"+54069B:jmp newmemnopreturnhere: [DISABLE]"metro.exe"+54069B:mov eax,[rdi+00000170]dealloc(newmem)
Изменено пользователем Korol2010
Ссылка на комментарий
Поделиться на другие сайты

Извиняй, но не расскажешь как? Просто я ни разу не делал так))

Ты щас серьёзно? Убийство функции - затирание нупами. Ко всему этому причепить аобку и готово! Если инъекцией ни в какую то попробуй убийством.

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

Вот держи скрипты. Все работает...

 

[ENABLE]


aobscanmodule(InfiniteAmmo,metro.exe,8B 81 F4 04 00 00) // should be unique
alloc(newmem,$1000,"metro.exe"+1CE36C)
label(originalcode)
label(return)

newmem:
cmp dword ptr [rcx+0000010C],00000001
jne originalcode
mov [rcx+000004F4],#999
originalcode:
mov eax,[rcx+000004F4]
jmp return

InfiniteAmmo:
jmp newmem
nop
return:
registersymbol(InfiniteAmmo)

[DISABLE]
InfiniteAmmo:
db 8B 81 F4 04 00 00

unregistersymbol(InfiniteAmmo)
dealloc(newmem)


aobscanmodule(NoReload,metro.exe,44 89 B6 48 04 00 00) // should be unique
alloc(newmem,$1000,"metro.exe"+2C082F)
label(originalcode)
label(return)

newmem:

originalcode:
mov [rsi+00000448],r14d
jmp return

NoReload:
nop
nop
nop
nop
nop
nop
nop
return:
registersymbol(NoReload)

[DISABLE]

NoReload:
db 44 89 B6 48 04 00 00

unregistersymbol(NoReload)
dealloc(newmem)

[ENABLE]


aobscanmodule(InfiniteItem,metro.exe,8B 81 EC 06 00 00) // should be unique
alloc(newmem,$1000,"metro.exe"+1EA0EC)
label(originalcode)
label(return)

newmem:
cmp [rcx+00000160],FFFFFFFF
jne originalcode
mov [rcx+000006EC],#99
originalcode:
mov eax,[rcx+000006EC]
jmp return

InfiniteItem:
jmp newmem
nop
return:
registersymbol(InfiniteItem)

[DISABLE]

InfiniteItem:
db 8B 81 EC 06 00 00

unregistersymbol(InfiniteItem)
dealloc(newmem)

[ENABLE]

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

Ты щас серьёзно? Убийство функции - затирание нупами. Ко всему этому причепить аобку и готово! Если инъекцией ни в какую то попробуй убийством.

ааа ты об этом)) Ну тогда я понял. Только единственное я к этому делу никогда не прицеплял аоб ну попробую если чё.

Вот держи скрипты. Все работает...

 

[ENABLE]

aobscanmodule(InfiniteAmmo,metro.exe,8B 81 F4 04 00 00) // should be unique

alloc(newmem,$1000,"metro.exe"+1CE36C)

label(originalcode)

label(return)

newmem:

cmp dword ptr [rcx+0000010C],00000001

jne originalcode

mov [rcx+000004F4],#999

originalcode:

mov eax,[rcx+000004F4]

jmp return

InfiniteAmmo:

jmp newmem

nop

return:

registersymbol(InfiniteAmmo)

[DISABLE]

InfiniteAmmo:

db 8B 81 F4 04 00 00

unregistersymbol(InfiniteAmmo)

dealloc(newmem)

[ENABLE]

aobscanmodule(NoReload,metro.exe,44 89 B6 48 04 00 00) // should be unique

alloc(newmem,$1000,"metro.exe"+2C082F)

label(originalcode)

label(return)

newmem:

originalcode:

mov [rsi+00000448],r14d

jmp return

NoReload:

nop

nop

nop

nop

nop

nop

nop

return:

registersymbol(NoReload)

[DISABLE]

NoReload:

db 44 89 B6 48 04 00 00

unregistersymbol(NoReload)

dealloc(newmem)

[ENABLE]

aobscanmodule(InfiniteItem,metro.exe,8B 81 EC 06 00 00) // should be unique

alloc(newmem,$1000,"metro.exe"+1EA0EC)

label(originalcode)

label(return)

newmem:

cmp [rcx+00000160],FFFFFFFF

jne originalcode

mov [rcx+000006EC],#99

originalcode:

mov eax,[rcx+000006EC]

jmp return

InfiniteItem:

jmp newmem

nop

return:

registersymbol(InfiniteItem)

[DISABLE]

InfiniteItem:

db 8B 81 EC 06 00 00

unregistersymbol(InfiniteItem)

dealloc(newmem)

Спс большое)) А деньги то норм работают отдельно от патронов? :)

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

Я что-то не понял где там вообще деньги.

Ты хоть скажи мне где их там искать

 

Проверил, работают у тебя? :-D

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

Я что-то не понял где там вообще деньги.

Ты хоть скажи мне где их там искать

 

Проверил, работают у тебя? :-D

 

Патроны у них в метро вместо денег. Они ими и стреляют, так что инфляция не скоро светит.

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

Патроны у них в метро вместо денег. Они ими и стреляют, так что инфляция не скоро светит.

 

Да уж это интересно как пользователь 

Korol2010

Представляет себе отделить патроны от патронов  :-D  :-D  :-D

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

Да уж это интересно как пользователь 

Korol2010

Представляет себе отделить патроны от патронов  :-D  :-D  :-D

 

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

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

Вообще то те самые патроны которые ты тратишь как и сказал A1t0r, являются деньгами в игре, так что то, что они там отображаются тоже в виде патронов не значит что они не идут как деньги)) Вот по этому я и говорю что задача в том что нужно отделить одно от другого. Да, и скрипты пока не проверял, не добрался ещё)) К стате ещё 1 момент, объясните пожалуйста чем отличается aobscanmodule от aobscan.

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

Вообще то те самые патроны которые ты тратишь как и сказал A1t0r, являются деньгами в игре, так что то, что они там отображаются тоже в виде патронов не значит что они не идут как деньги))

 

А возврат из всей функции модификации кол-ва денег/патронов заканчивается jmp'ом или ret'ом?

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

А возврат из всей функции модификации кол-ва денег/патронов заканчивается jmp'ом или ret'ом?

jmp'ом. А это имеет значение?

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

Я что-то не понял где там вообще деньги.

Ты хоть скажи мне где их там искать

 

 

Патроны у них в метро вместо денег. Они ими и стреляют, так что инфляция не скоро светит.

 

Я Вас не понимаю, Korol2010 ясно написал, что инструкция: 

"metro.exe"+29F399:mov [rcx+000004F4],edx

отвечает и за патроны и за деньги.

Просто помогите написать фильтр.

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

jmp'ом. А это имеет значение?

А операнд у него константа или считывается из памяти или стека?

Просто если ret, то адрес возврата в разные участки кода будет на вершине стека перед прыжком.

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

А операнд у него константа или считывается из памяти или стека?

Просто если ret, то адрес возврата в разные участки кода будет на вершине стека перед прыжком.

Извиняй, но я в геймхакинге ещё мало чего шарю, и блин чесно говоря я щас не понял о чём ты говоришь))

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

Извиняй, но я в геймхакинге ещё мало чего шарю, и блин чесно говоря я щас не понял о чём ты говоришь))

A1tor спрашивал, что стоит после jmp. Но по моему его уже куда-то в дебри понесло.

Korol2010, попробуй найти фильтр, если не получилось через регистры, классическим способом - через Анализ структуры.

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

A1tor спрашивал, что стоит после jmp. Но по моему его уже куда-то в дебри понесло.

Korol2010, попробуй найти фильтр, если не получилось через регистры, классическим способом - через Анализ структуры.

 

Ну просто если найти откуда вызывается данная функция, то можно будет её изъять без вреда.

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

Ну просто если найти откуда вызывается данная функция, то можно будет её изъять без вреда.

Может быть, но это на крайней случай, вначале всё-таки проще поискать фильтр.

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

Dison, мне скинул скрипт с фильтром, но я ещё не проверил его, как проверю отпишусь. За одно попробую если что сделать свой.

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

Dison, мне скинул скрипт с фильтром, но я ещё не проверил его, как проверю отпишусь. За одно попробую если что сделать свой.

Да вижу, ещё он использует другую инструкцию. Но его фильтр должен подойти и к твоей инструкции.

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

Я Вас не понимаю, Korol2010 ясно написал, что инструкция: 

"metro.exe"+29F399:mov [rcx+000004F4],edx

отвечает и за патроны и за деньги.

Просто помогите написать фильтр.

 

Вот возьми и помоги, что ты тут выскакиваешь, каждой бочке затычка. 

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

Вот возьми и помоги, что ты тут выскакиваешь, каждой бочке затычка. 

Когда было время помогал, а сейчас к сожалению очень мало.

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

Да вижу, ещё он использует другую инструкцию. Но его фильтр должен подойти и к твоей инструкции.

Возможно.

П.С.: вы только тут не ссорьтесь, а то нас админы и NullAlex покарают :-D

NullAlex: кто-то вслух произнес мой ник? :D
Изменено пользователем NullAlex
Ссылка на комментарий
Поделиться на другие сайты

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

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

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