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

Как написать скрипт который ищет сигнатуру и заменяет её?


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.  Вручную искать и заменять не очень охота  каждый раз. Спасибо!

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

Если ты хочешь через таблицу заменять, а сигнатура уникальна, то сделай просто:

[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 сигнатуру)

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

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

Когда будешь включать скрипт будет заменяться

заменяться будет только один раз (первая попавшаяся сигна.

А ему нужно:

3 часа назад, DenAks сказал:

ищет все адреса со значением(сигнатурой)

 

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

1 минуту назад, Garik66 сказал:

заменяться будет только один раз

У меня там написано внизу что 1 раз, а ещё если много то лучше всего сделать на lua, но это не ко мне, ещё можно изгалиться и сделать много скриптов таких, положить их в группу и в свойствах указать что бы они активировались вместе с ней, можно такой поиск сделать и на ассемблере, но это надо подумать сколько времени этот скрипт будет искать все адреса, у меня есть такой опыт по minercraft, так вот лучше не стоит, одни проблемы. Точно знаю что такая функция есть в lua, но я там не разбираюсь.

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

28 минут назад, inaginary сказал:

У меня там написано внизу что 1 раз

да но по времени. получается, что запись про одну после моего поста :D

 

4 часа назад, DenAks сказал:

Вручную искать и заменять не очень охота  каждый раз.

Посмотри это - должно подойти.

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

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
Ссылка на комментарий
Поделиться на другие сайты

20 минут назад, MasterGH сказал:

Программировать

Я ТС тоже ссылку кинул, на примерный скрипт.

Но у тебя как всегда круче https://tenor.com/view/grilla-yes-hell-thumbs-up-grills-gif-10889686

 

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

  • 1 год спустя...
В 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?

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

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

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

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