DenAks Опубликовано 3 февраля, 2019 Поделиться Опубликовано 3 февраля, 2019 Здравствуйте уважаемые форумчани! Появился такой вопрос, как написать скрипт который ищет все адреса со значением(сигнатурой) 7B 14 AE 47 E1 7A 84 3F 00 00 00 00 00 00 00 40 и заменяет на другую - 66 66 66 66 66 66 D6 3F 00 00 00 00 00 00 00 40. Вручную искать и заменять не очень охота каждый раз. Спасибо! Ссылка на комментарий Поделиться на другие сайты Поделиться
imaginary Опубликовано 3 февраля, 2019 Поделиться Опубликовано 3 февраля, 2019 (изменено) Если ты хочешь через таблицу заменять, а сигнатура уникальна, то сделай просто: [ENABLE] aobscan(labelName,7B 14 AE 47 E1 7A 84 3F 00 00 00 00 00 00 00 40) //Ищет registersymbol(labelName) //обьявляет глобальный доступ labelName: db 66 66 66 66 66 66 D6 3F 00 00 00 00 00 00 00 40 //Заменяет [DISABLE] labelName: db 7B 14 AE 47 E1 7A 84 3F 00 00 00 00 00 00 00 40 //Возвращает unregistersymbol(labelName) Когда будешь включать скрипт будет заменяться, выключать восстанавливаться, можешь поставить хоткеи, а если тебе надо что бы без ожидания поиска, то вынеси aobscan в отдельный скрипт, а в другом скрипте уже впиши изменение сигнатуры по адресу. (Заменяет 1 сигнатуру) Изменено 3 февраля, 2019 пользователем inaginary Дополнено Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 3 февраля, 2019 Поделиться Опубликовано 3 февраля, 2019 2 минуты назад, inaginary сказал: Когда будешь включать скрипт будет заменяться заменяться будет только один раз (первая попавшаяся сигна. А ему нужно: 3 часа назад, DenAks сказал: ищет все адреса со значением(сигнатурой) Ссылка на комментарий Поделиться на другие сайты Поделиться
imaginary Опубликовано 3 февраля, 2019 Поделиться Опубликовано 3 февраля, 2019 1 минуту назад, Garik66 сказал: заменяться будет только один раз У меня там написано внизу что 1 раз, а ещё если много то лучше всего сделать на lua, но это не ко мне, ещё можно изгалиться и сделать много скриптов таких, положить их в группу и в свойствах указать что бы они активировались вместе с ней, можно такой поиск сделать и на ассемблере, но это надо подумать сколько времени этот скрипт будет искать все адреса, у меня есть такой опыт по minercraft, так вот лучше не стоит, одни проблемы. Точно знаю что такая функция есть в lua, но я там не разбираюсь. Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 3 февраля, 2019 Поделиться Опубликовано 3 февраля, 2019 28 минут назад, inaginary сказал: У меня там написано внизу что 1 раз да но по времени. получается, что запись про одну после моего поста 4 часа назад, DenAks сказал: Вручную искать и заменять не очень охота каждый раз. Посмотри это - должно подойти. Ссылка на комментарий Поделиться на другие сайты Поделиться
imaginary Опубликовано 3 февраля, 2019 Поделиться Опубликовано 3 февраля, 2019 1 минуту назад, Garik66 сказал: но по времени. получается, что запись про одну после моего поста Не не не! ? у меня на 2 минуты раньше Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 3 февраля, 2019 Поделиться Опубликовано 3 февраля, 2019 1 минуту назад, inaginary сказал: Не не не! ? у меня на 2 минуты раньше да. посмотрел не правильно. Ссылка на комментарий Поделиться на другие сайты Поделиться
MasterGH Опубликовано 3 февраля, 2019 Поделиться Опубликовано 3 февраля, 2019 10 часов назад, DenAks сказал: как написать скрипт который ищет все адреса со значением(сигнатурой) 7B 14 AE 47 E1 7A 84 3F 00 00 00 00 00 00 00 40 и заменяет на другую - 66 66 66 66 66 66 D6 3F 00 00 00 00 00 00 00 40 Программировать Спойлер {$lua} [ENABLE] function WriteSignatures(targetSignature, overrideSignature, codePage) local byteLine = overrideSignature:gsub("%w+", "0x%0,"):sub(1,-2) local results = AOBScan(targetSignature, codePage) if (results == nil) then return end for i = 0, results.Count-1 do local address = getAddress(results.getString(i)) local lineCode = 'writeBytes('..address..','.. byteLine..')' loadstring(lineCode)() end results.destroy() end local targetSignature = '7B 14 AE 47 E1 7A 84 3F 00 00 00 00 00 00 00 40' local overrideSignature = '66 66 66 66 66 66 D6 3F 00 00 00 00 00 00 00 40' local codePage = '-X*C*W' -- для кода: '+X-C-W',а для данных:'-X*C*W' WriteSignatures(targetSignature, overrideSignature, codePage) [DISABLE] 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 3 февраля, 2019 Поделиться Опубликовано 3 февраля, 2019 20 минут назад, MasterGH сказал: Программировать Я ТС тоже ссылку кинул, на примерный скрипт. Но у тебя как всегда круче https://tenor.com/view/grilla-yes-hell-thumbs-up-grills-gif-10889686 Ссылка на комментарий Поделиться на другие сайты Поделиться
Jason Опубликовано 3 февраля, 2019 Поделиться Опубликовано 3 февраля, 2019 а в читэнжине нет встроеного создателя сигнатур? Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость KekBoy Опубликовано 15 апреля, 2020 Поделиться Опубликовано 15 апреля, 2020 В 03.02.2019 в 14:39, imaginary сказал: Если ты хочешь через таблицу заменять, а сигнатура уникальна, то сделай просто: [ENABLE] aobscan(labelName,7B 14 AE 47 E1 7A 84 3F 00 00 00 00 00 00 00 40) //Ищет registersymbol(labelName) //обьявляет глобальный доступ labelName: db 66 66 66 66 66 66 D6 3F 00 00 00 00 00 00 00 40 //Заменяет [DISABLE] labelName: db 7B 14 AE 47 E1 7A 84 3F 00 00 00 00 00 00 00 40 //Возвращает unregistersymbol(labelName) Когда будешь включать скрипт будет заменяться, выключать восстанавливаться, можешь поставить хоткеи, а если тебе надо что бы без ожидания поиска, то вынеси aobscan в отдельный скрипт, а в другом скрипте уже впиши изменение сигнатуры по адресу. (Заменяет 1 сигнатуру) Как такое же сделать уже если я использовал AOB Injection? Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения