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

Не получается написать скрипт на добавление денег


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

Всем привет

Я прочитал одну из ваших статей о написание скрипта который добавляет какое-то количество денег до суммы.

По примеру я написал вот что(mov edi,[eax+54]-отвечающая за деньги инструкция):


[ENABLE]
alloc(newmem,2048)
label(returnhere)
label(originalcode)
label(exit)
label(_money)
newmem:
cmp dword ptr [_money],1
jne originalcode
add [eax+54],#1000
mov [_money],0
originalcode:
mov edi,[eax+54]
lea ecx,[esi+00004454]
exit:
jmp returnhere
_money:
add 1
"game.exe"+811698:
jmp newmem
nop
nop
nop
nop
returnhere:

[DISABLE]
dealloc(newmem)
"game.exe"+811698:
mov edi,[eax+54]
lea ecx,[esi+00004454]

Но при добавлении скрипта мне пишет ошибку:

f4b1d8ffc10c.png

Что не так ??? выправите скрипт пожалуйста, БУДУ ОЧЕНЬ благодарен

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

Если переменная _money выполняет роль переключателя(так оно по ходу и есть) нужно задать тип. Ты написал add 1, может всё же надо dd 1, а лучше db 1 - 1 байта достаточно) И кажется надо добавить строчку

label(_money)

registersymbol(_money)

newmem:

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

Если переменная _money выполняет роль переключателя(так оно по ходу и есть) нужно задать тип. Ты написал add 1, может всё же надо dd 1, а лучше db 1 - 1 байта достаточно) И кажется надо добавить строчку

label(_money)

registersymbol(_money)

newmem:

Спасибо большое, поменял вместо dd на db и написал registersymbol(_money) соответственно поставил unregistersymbol и всё пошло. Оставлю скрипт рабочий здесь вдруг кому то тоже пригодиться:


[ENABLE]
alloc(newmem,2048)
label(returnhere)
label(originalcode)
label(exit)
label(_money)
registersymbol(_money)
newmem:
cmp dword ptr [_money],1
jne originalcode
add [eax+54],#1000 // добавляет 1000 золота
mov [_money],0
originalcode:
mov edi,[eax+54]
lea ecx,[esi+00004454]
exit:
jmp returnhere
_money:
db 1
"game.exe"+811698:
jmp newmem
nop
nop
nop
nop
returnhere:
[DISABLE]
unregistersymbol(_money)
dealloc(newmem)
"game.exe"+811698:
mov edi,[eax+54]
lea ecx,[esi+00004454]

И еще одно, этот скрипт добавляет деньги только тогда когда я еще достаю, как сделать так чтобы деньги добавлялись сразу, а не при естественном пополнении ????

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

Чтобы добавлялись при нажатии на кнопку, надо отлавливать инструкцию которая чаще всего получает доступ к деньгам т.е. На адрес ставишь бряк на доступ и там иногда есть инструкции которые без каких либо действий в игре получают доступ к твоему адресу по 20-200 запросов в секунду бывает по разному

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

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

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

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