Submarina Опубликовано 26 сентября, 2015 Поделиться Опубликовано 26 сентября, 2015 (изменено) Привет всем, тема взята с 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) Изменено 26 сентября, 2015 пользователем Baracuda Ссылка на комментарий Поделиться на другие сайты Поделиться
LIRW Опубликовано 27 сентября, 2015 Поделиться Опубликовано 27 сентября, 2015 да там надо что бы с этой инструкцией работал только один адрес и после активации скрипта надо вернуться в игру, только тогда и обновится адрес. Поди всё это дело пробовал не возвращаясь в игру,а просто активировал скрипт,он не чего не записал - значит не работает!!!! Может адрес не добавляться на пример если инструкция срабатывает только после выстрела или тому подобное. Я с таким скриптом на limbo прыжок делал. 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 27 сентября, 2015 Поделиться Опубликовано 27 сентября, 2015 (изменено) помогите разобратся что бы такое можно было делать с любыми скриптами.Baracuda, вначале проверь разовая ли твоя инструкция (событие в игре - срабатывание инструкции) или постоянно работающая. Для таких скриптов лучше использовать часто работающую инструкцию.Второе проверь с какими адресами работает твоя инструкция (F3 0F 10 41 0C), если не только с твоим адресом (нужным тебе), то найди фильтр (часто можно использовать в качестве фильтра значение другого регистра при срабатывании твоей инструкции).PS: и третье: вместо globalalloc(_fuer,4), можно использовать конструкцию без выделения дополнительной памяти, т.е.:[ENABLE]label(_fuer)registersymbol(_fuer)---------_fuer:dd 0---------[DESABLE]unregistersymbol(_fuer) Изменено 27 сентября, 2015 пользователем Garik66 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Submarina Опубликовано 27 сентября, 2015 Автор Поделиться Опубликовано 27 сентября, 2015 (изменено) попробовал я, и так как ты сказал Garik66, заменил globalalloc(_fuer,4) на _fuer:dd 0 но толку ноль, что то я делаю не так, а ты Garik66 говоришь, (часто можно использовать в качестве фильтра значение другого регистра при срабатывании твоей инструкции). на примере ко ко во ни будь скрипта можешь показать. Да и самое главное, в этой инструкции, movss xmm0,[rcx+0C] находится не только топливо, но и лом и многое другое. интересно где ни будь есть видео урок как правильно это делать, ведь тема хорошая, у многих бы проблемы решились с поиском свой чужой,не кто не знает может есть где ни будь видео урок. Изменено 27 сентября, 2015 пользователем Baracuda Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 27 сентября, 2015 Поделиться Опубликовано 27 сентября, 2015 на примере ко ко во ни будь скрипта можешь показать.Baracuda, так на вскидку быстро не найду скрипты, но примеров было много на форуме.А так почитай мои ранние статьи, например это сообщение и пройди по ссылкам (если они конечно ещё работают) в этом сообщении.Там есть ссылки и на два видео - нахождение фильтров классическим способом (через Анализ структур) и способом фильтр/регистр. 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Submarina Опубликовано 27 сентября, 2015 Автор Поделиться Опубликовано 27 сентября, 2015 (изменено) я несколько месяцев не сидел за компьютером, забыл совсем что у тебя уроки есть, капец СПАСИБО Garik66, что на помнил.сейчас гляну может поможет.Да Garik66 уроки хорошие, но мене всё таки надо научится делать скрипт+указатель, уж очень меня зацепило это. Изменено 27 сентября, 2015 пользователем Baracuda Ссылка на комментарий Поделиться на другие сайты Поделиться
Submarina Опубликовано 6 октября, 2015 Автор Поделиться Опубликовано 6 октября, 2015 Привет всем, я хотел спросить, вот я сделал скрипт + указатель он работает когда включаешь скрипт, но мигает сбрасывается до 0, и снова встает на то число которое установил, как это убрать, что бы указатель не мигал при включении скрипта. Ссылка на комментарий Поделиться на другие сайты Поделиться
Submarina Опубликовано 8 октября, 2015 Автор Поделиться Опубликовано 8 октября, 2015 (изменено) ребята помогите, не могу в писать число 8 bytes в скрипт, пробовал и так mov dword ptr [ecx+esi*8+00004730],#9000000000000000, и так mov byte ptr [ecx+esi*8+00004730],#9000000000000000, не работает, а когда это же число вписываешь в найденный адрес, то всё работает отлично. Изменено 8 октября, 2015 пользователем Baracuda Ссылка на комментарий Поделиться на другие сайты Поделиться
Xipho Опубликовано 8 октября, 2015 Поделиться Опубликовано 8 октября, 2015 dword - запись 4 байтbyte - запись одного байта http://www.club155.ru/x86cmdmmx/MOVQ Ссылка на комментарий Поделиться на другие сайты Поделиться
gmz Опубликовано 9 октября, 2015 Поделиться Опубликовано 9 октября, 2015 value dq 9000000000000000value dq 9000000000000000NullAlex: Специальные теги никто не отменял.mov rax,9000000000000000mov [rcx+rsi*8+0x00004730],raxmovq xmm0,[value]movq [ecx+esi*8+0x00004730],xmm0fld qword[value]fstp qword[ecx+esi*8+0x00004730] 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Жажда Знаний Опубликовано 10 октября, 2015 Поделиться Опубликовано 10 октября, 2015 Спасибо, очень полезная информация NullAlex: Цитировать все сообщение необязательно. Неужели так до сих пор и не дошло? Ссылка на комментарий Поделиться на другие сайты Поделиться
Submarina Опубликовано 21 февраля, 2016 Автор Поделиться Опубликовано 21 февраля, 2016 (изменено) вот у меня есть инструкция mov eax,[r8] в ней несколько сотен тысяч адресов, и естественно присутствуют те адреса которые мене нужны, но я не знаю как сделать указатель именно на тот адрес который мене нужен, вот я например нашёл ID например денег 20, что мене делать дальше. Изменено 21 февраля, 2016 пользователем Baracuda Ссылка на комментарий Поделиться на другие сайты Поделиться
Submarina Опубликовано 21 февраля, 2016 Автор Поделиться Опубликовано 21 февраля, 2016 (изменено) опят не могу создать со спойлером Изменено 21 февраля, 2016 пользователем Baracuda Ссылка на комментарий Поделиться на другие сайты Поделиться
Submarina Опубликовано 21 февраля, 2016 Автор Поделиться Опубликовано 21 февраля, 2016 (изменено) пример не получается показать, опять со спойлером завис. Изменено 21 февраля, 2016 пользователем Baracuda Ссылка на комментарий Поделиться на другие сайты Поделиться
Submarina Опубликовано 21 февраля, 2016 Автор Поделиться Опубликовано 21 февраля, 2016 (изменено) Скрытый текст [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) Изменено 21 февраля, 2016 пользователем Baracuda Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 21 февраля, 2016 Поделиться Опубликовано 21 февраля, 2016 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 Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 21 февраля, 2016 Поделиться Опубликовано 21 февраля, 2016 (изменено) 1 час назад, Baracuda сказал: вот у меня есть инструкция mov eax,[r8] в ней несколько сотен тысяч адресов, и естественно присутствуют те адреса которые мене нужны, но я не знаю как сделать указатель именно на тот адрес который мене нужен, вот я например нашёл ID например денег 20, что мене делать дальше. От тебя нужно: 1. СЕ-шный АА скрипт из этой инструкции с аобсканом (mov eax,[r8]). 2. Если ID найдено в структуре, то смещение до ID Пример: [r8+08] = 20 - для денег, у других адресов другие значения по этому смещению 3. А также и то, что ты хочешь сделать с деньгами - Пример: Бесконечные деньги 100000 4. Тип данных, в каком типе хранятся деньги - float, 4 байта и т.д. Изменено 21 февраля, 2016 пользователем Garik66 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Submarina Опубликовано 21 февраля, 2016 Автор Поделиться Опубликовано 21 февраля, 2016 (изменено) с деньгами я хочу просто при нажатии прибавлять Скрытый текст [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) Изменено 21 февраля, 2016 пользователем Baracuda Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 21 февраля, 2016 Поделиться Опубликовано 21 февраля, 2016 2 минуты назад, Baracuda сказал: просто при нажатии прибавлять Во-первых сразу поясню, что прибавление сложнее, чем просто бесконечные деньги, т.к. инструкция скорее всего очень часто обращается к адресам, т.е нужно добавлять в этом случае флаг для одноразового выполнения. Сейчас выложу скрипт. 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Submarina Опубликовано 21 февраля, 2016 Автор Поделиться Опубликовано 21 февраля, 2016 (изменено) не Garik66 ты не понял, мене нужен указатель через скрипт. ЗАПУСКАЕШЬ СКРИПТ РАБОТАЕТ УКАЗАТЕЛЬ, НАПРИМЕР, НА ДЕНЬГИ, ОТКЛЮЧИЛ СКРИПТ, УКАЗАТЕЛЬ ПЕРЕСТАЛ РАБОТАТЬ. Тема по которой я иду указана в верху, я её брал сайта, но с инструкцией в которой один адрес, я знаю как указатель сделать, а вот в инструкции в которой сотни тысяч адресов, я не знаю как сделать на нужный. Изменено 21 февраля, 2016 пользователем Baracuda Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 21 февраля, 2016 Поделиться Опубликовано 21 февраля, 2016 (изменено) 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 находится уже само значение денег. Изменено 21 февраля, 2016 пользователем Garik66 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 21 февраля, 2016 Поделиться Опубликовано 21 февраля, 2016 (изменено) Короче не понимаю, что происходит - у меня СЕ не хочет компилировать даже строчку оригинального кода: mov eax,[r8] Изменено 21 февраля, 2016 пользователем Garik66 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 21 февраля, 2016 Поделиться Опубликовано 21 февраля, 2016 (изменено) Так, вроде получилось - СЕ принял. Попробуй так: Скрытый текст [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 - будет указателем на этот адрес. Надеюсь добавить в таблицу адрес с указателем сможешь. Изменено 21 февраля, 2016 пользователем Garik66 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Submarina Опубликовано 21 февраля, 2016 Автор Поделиться Опубликовано 21 февраля, 2016 (изменено) все разобрался ID денег был не правильный а теперь как сделать в второй указатель, уже на материал, я так понял нужен второй ID искать для материала. Изменено 21 февраля, 2016 пользователем Baracuda Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 21 февраля, 2016 Поделиться Опубликовано 21 февраля, 2016 4 минуты назад, Baracuda сказал: не работает Сделай скрин, как ты забил адрес в таблицу..Т.е. раскрой адрес "Изменить адрес" и сделай скрин. Мне кажется ты ошибся. 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения