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

Указатель сканер + Инъекции Копии + АОБ данным


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

Привет всем, тема взята с http://forum.cheatengine.org/viewtopic.php?t=572465 тема очень хорошая, в том плане что во многих играх не всегда работает автоматический поиск указателей, не во всех играх он может найти указатель,

тяжело найти ID жизней и много Другова, хочу создать такое на игру MAD MAX v1.0.1.1 но маловато опыту в этом деле.не знаю с чего начинать,

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

[ENABLE]aobscanmodule(state,MadMax.exe,F3 0F 10 41 0C 48 8B)alloc(newmem,$1000,"MadMax.exe"+1D4627F)label(code)label(return)globalalloc(_fuer,4)newmem:code:mov [_fuer],rcxmovss xmm0,[rcx+0C]jmp returnstate:jmp codereturn:registersymbol(state)[DISABLE]state:db F3 0F 10 41 0Cunregistersymbol(state)dealloc(newmem)
Изменено пользователем Baracuda
Ссылка на комментарий
Поделиться на другие сайты

:)  да там надо что бы с этой инструкцией работал только один адрес и после активации скрипта надо вернуться в игру, только тогда и обновится адрес. Поди всё это дело пробовал не возвращаясь в игру,а просто активировал скрипт,он не чего не записал - значит не работает!!!! Может адрес не добавляться на пример если инструкция срабатывает только после выстрела или тому подобное. Я с таким скриптом на limbo прыжок делал.

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

помогите разобратся что бы такое можно было делать с любыми скриптами.

Baracuda, вначале проверь разовая ли твоя инструкция (событие в игре - срабатывание инструкции) или постоянно работающая. Для таких скриптов лучше использовать часто работающую инструкцию.

Второе проверь с какими адресами работает твоя инструкция (F3 0F 10 41 0C), если не только с твоим адресом (нужным тебе), то найди фильтр (часто можно использовать в качестве фильтра значение другого регистра при срабатывании твоей инструкции).

PS: и третье: вместо  globalalloc(_fuer,4), можно использовать конструкцию без выделения дополнительной памяти, т.е.:

[ENABLE]label(_fuer)registersymbol(_fuer)---------_fuer:dd 0---------[DESABLE]unregistersymbol(_fuer)
Изменено пользователем Garik66
  • Плюс 1
Ссылка на комментарий
Поделиться на другие сайты

попробовал я, и так как ты сказал Garik66, заменил globalalloc(_fuer,4) на _fuer:
dd 0 но толку ноль, что то я делаю не так, а ты Garik66 говоришь, (часто можно использовать в качестве фильтра значение другого регистра при срабатывании твоей инструкции). на примере ко ко во ни будь скрипта можешь показать.

Да и самое главное, в этой инструкции, movss xmm0,[rcx+0C] находится не только топливо, но и лом и многое другое.

интересно где ни будь есть видео урок как правильно это делать, ведь тема хорошая, у многих бы проблемы решились с поиском свой чужой,

не кто не знает может есть где ни будь видео урок.

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

на примере ко ко во ни будь скрипта можешь показать.

Baracuda, так на вскидку быстро не найду скрипты, но примеров было много на форуме.

А так почитай мои ранние статьи, например это сообщение и пройди по ссылкам (если они конечно ещё работают) в этом сообщении.

Там есть ссылки и на два видео - нахождение фильтров классическим способом (через Анализ структур) и способом фильтр/регистр.

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

я несколько месяцев не сидел за компьютером, забыл совсем что у тебя уроки есть, капец СПАСИБО Garik66, что на помнил.

сейчас гляну может поможет.


Да Garik66 уроки хорошие, но мене всё таки надо научится делать скрипт+указатель, уж очень меня зацепило это.

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

  • 2 недели спустя...

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

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

ребята помогите, не могу в писать число 8 bytes в скрипт, пробовал и так mov dword ptr [ecx+esi*8+00004730],#9000000000000000, и так mov byte ptr [ecx+esi*8+00004730],#9000000000000000, не работает, а когда это же число вписываешь в найденный адрес, то всё работает отлично.

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

value dq 9000000000000000

value dq 9000000000000000

NullAlex: Специальные теги никто не отменял.

mov rax,9000000000000000mov [rcx+rsi*8+0x00004730],rax
movq xmm0,[value]movq [ecx+esi*8+0x00004730],xmm0
fld qword[value]fstp qword[ecx+esi*8+0x00004730]
  • Плюс 1
Ссылка на комментарий
Поделиться на другие сайты

  • 4 месяца спустя...

вот у меня есть инструкция mov eax,[r8] в ней несколько сотен тысяч адресов, и естественно присутствуют те адреса которые мене нужны, но я не знаю как сделать указатель именно на тот адрес который мене нужен, вот я например нашёл ID например денег 20, что мене делать дальше.

 

 

 

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

пример не получается показать, опять со спойлером завис.

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

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

[ENABLE]

alloc(newmem,2048,"XCom2.exe"+1405EE) 
label(returnhere)
label(originalcode)
label(money)

newmem:
cmp rdx,20
jne originalcode
mov [money],r8

originalcode:
mov eax,[r8]
mov [r10],eax
jmp returnhere

money:
dq 0

"XCom2.exe"+1405EE:
jmp newmem
nop
returnhere:
registersymbol(money)

[DISABLE]
dealloc(newmem)
"XCom2.exe"+1405EE:
mov eax,[r8]
mov [r10],eax

unregistersymbol(money)

 

 

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

33 минуты назад, Baracuda сказал:

опят не могу создать со спойлером

Чтобы скрипт оказался под спойлером, нужно:

1. Нажимаем тег спойлера "глаз". Появиться спойлер.

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

3. Нажимаем тег кода. Появляется код.

4. Внутрь вставляем скрипт и выбираем подсветку - внизу справа - несколько вариантов - лично я выбираю JavaScript.

 

Получаем:

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

[ENABLE]
{$LUA}
timer = createTimer(true)
timer:setInterval(5)
timer.OnTimer = function()
if getAddressList().getMemoryRecordByID("79").Value == "0" then
sleep "3000"
getAddressList().getMemoryRecordByID("79").Value = "1"
end
end

{$ASM}
aobscan(aob_TimerMission,xx89xxxxxxxxc2xxxxxxxxxxxxxxxxxxxxxxxxxx8bxxxx85xx74xx8bxxxxxxxxxx8bxxffxxxxxxxxxx85)
alloc(newmem_TimerMission,2048)
label(returnhere_TimerMission)
label(flag)
registersymbol(flag)
registersymbol(aob_TimerMission)

newmem_TimerMission:
cmp [flag],1
jne @f
mov [flag],0
inc eax

@@:
mov [ecx+08],eax
pop esi
jmp returnhere_TimerMission

flag:
dd 1

aob_TimerMission:
jmp newmem_TimerMission
returnhere_TimerMission:

[DISABLE]
{$LUA}
timer:setEnabled(false)

{$ASM}
aob_TimerMission:
db 40 89 41 08 5E

unregistersymbol(flag)
unregistersymbol(aob_TimerMission)
dealloc(newmem_TimerMission)

 

 

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

1 час назад, Baracuda сказал:

вот у меня есть инструкция mov eax,[r8] в ней несколько сотен тысяч адресов, и естественно присутствуют те адреса которые мене нужны, но я не знаю как сделать указатель именно на тот адрес который мене нужен, вот я например нашёл ID например денег 20, что мене делать дальше.

От тебя нужно:

1. СЕ-шный АА скрипт из этой инструкции с аобсканом (mov eax,[r8]).

2. Если ID найдено в структуре, то смещение до ID Пример: 

[r8+08] = 20 - для денег, у других адресов другие значения по этому смещению

3. А также и то, что ты хочешь сделать с деньгами - Пример:

Бесконечные деньги 100000

4. Тип данных, в каком типе хранятся деньги - float, 4 байта и т.д.

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

 

с деньгами я хочу просто при нажатии прибавлять

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

[ENABLE]

aobscanmodule(MON,XCom2.exe,41 8B 00 41 89 02)
alloc(newmem,2048,MON)
label(returnhere)
label(originalcode)
label(money)

newmem:
cmp rdx,20
jne originalcode
mov [money],r8///////ДЕНЬГИ ХРАНАТСЯ в 4 байта

originalcode:
mov eax,[r8]
mov [r10],eax
jmp returnhere

money:
dq 0

MON:
jmp newmem
nop
returnhere:
registersymbol(MON)
registersymbol(money)

[DISABLE]
MON:
 db 41 8B 00 41 89 02

unregistersymbol(MON)
unregistersymbol(money)
dealloc(newmem)

 

 

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

2 минуты назад, Baracuda сказал:

просто при нажатии прибавлять

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

Сейчас выложу скрипт.

 

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

не Garik66 ты не понял, мене нужен указатель через скрипт.

 

ЗАПУСКАЕШЬ СКРИПТ РАБОТАЕТ УКАЗАТЕЛЬ, НАПРИМЕР, НА ДЕНЬГИ, ОТКЛЮЧИЛ СКРИПТ, УКАЗАТЕЛЬ ПЕРЕСТАЛ РАБОТАТЬ.

Тема по которой я иду указана в верху, я её брал сайта, но с инструкцией в которой один адрес, я знаю как указатель сделать, а вот в инструкции в которой сотни тысяч адресов, я не знаю как сделать на нужный.

 

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

24 минуты назад, Baracuda сказал:

не Garik66 ты не понял, мене нужен указатель через скрипт.

Так сразу бы и сказал.

Попробуй:

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

[ENABLE]
aobscanmodule(MON,XCom2.exe,41 8B 00 41 89 02)
alloc(newmem,2048,MON)
label(returnhere)
label(originalcode)
label(p_money)
registersymbol(p_money)
registersymbol(MON)

newmem:

originalcode:
mov eax,[r8]
cmp rdx,20
jne @f
mov [p_money],eax

@@:
mov [r10],eax
jmp returnhere

p_money:
dd 0

MON:
jmp newmem
nop
returnhere:

[DISABLE]
MON:
 db 41 8B 00 41 89 02

unregistersymbol(MON)
unregistersymbol(p_money)
dealloc(newmem)

 

ЗЫ:

Только это не адрес, где хранятся денюжки а уже сами деньги будут, как я понял в eax находится уже само значение денег.

 

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

Короче не понимаю, что происходит - у меня СЕ не хочет компилировать даже строчку оригинального кода:

mov eax,[r8]

 

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

Так, вроде получилось - СЕ принял.

Попробуй так:

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

[ENABLE]
aobscanmodule(MON,XCom2.exe,41 8B 00 41 89 02)
alloc(newmem,2048,MON)
label(returnhere)
label(originalcode)
label(p_money)
registersymbol(p_money)
registersymbol(MON)

newmem:
cmp rdx,20
jne originalcode
push r8
pop [p_money]

originalcode:
mov eax,[r8]
mov [r10],eax
jmp returnhere

p_money:
dq 0

MON:
jmp newmem
nop
returnhere:

[DISABLE]
MON:
 db 41 8B 00 41 89 02

unregistersymbol(MON)
unregistersymbol(p_money)
dealloc(newmem)

 

В [p_money] - после активации скрипта будет лежать адрес денег. А сам p_money - будет указателем на этот адрес. Надеюсь добавить в таблицу адрес с указателем сможешь.

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

все разобрался ID денег был не правильный

 

а теперь как сделать в второй указатель, уже на материал,

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

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

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

не работает

Сделай скрин, как ты забил адрес в таблицу..Т.е. раскрой адрес "Изменить адрес" и сделай скрин. Мне кажется ты ошибся.

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

  • Гость закрыл тема
Гость
Эта тема закрыта для публикации ответов.
×
×
  • Создать...

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

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