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

Поиск сигнатур в СЕ


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

Если не там создал тему - переместите)

Моя первая тема, не судите строго :-D

Короч делай раз: ищи значение, которое тебе надо. например значение патронов.

делай два: жмакни правой кнопкой и поставь бряк на запись.

делай три: сделай так, чтоб значение изменилось. если патроны, то выстрели.

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

делай пять: видишь внизу бегают страшные буквы и цифры? это память. а то что чуть выше - инструкции. там где память (ниже) жмякни правой кнопкой и выбери "перейти по адресу" и детально напиши адресс инструкции, к которой ты перешел из отладчика. нажми перейти. у тебя высветится память той инструкции (как я это понимаю).

делай шесть: выдели все 16 пунктов (каждый пункт - это байт. байт - 2 знака) и скопируй. создай текстовик, и запиши туда это первое значение.

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

делай восемь: ну чтож, скрипт готов. теперь нажми на "файл" и выбери "создать трейнер используя текущую таблицу". тебе вылетит окошко с твоим трейнером, а точнее его созданием. жмакни "свой дизайн" и постирай там все. создай чек бокс (это такая фиговнка, которая сбоку стоит квадрат который можно вкл - выкл а слева текст) короче это текст можешь отредактить там же, в графе "Text" потом перейди в правый раздел отвечающий за события.

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


stringListAddresses = AOBScan("первый адресс","*X*W-C")
if (stringListAddresses~=nil) then
lenghtLines = stringlist_getCount(stringListAddresses)
for i = 0, lenghtLines-1 do
address = stringlist_getString(stringListAddresses, i)
writeBytes(address ,второй адресс);
end -- for end;
showMessage("Успешно!")
end -- if (stringListAddresses~=nil) end;
end --Конец 8* Speed Рука/Кирка

Одна поправка!!!! там где второй адресс - не просто вставляйте, а перед каждым байтом ставьте 0x а после байта запятую, чтобы получилось примерно вот так:


writeBytes(address ,0x90, 0x90, 0x90, 0xE8, 0xD2, 0xC3, 0x08, 0x00, 0x89, 0x45, 0x08, 0xBF, 0xB4, 0xB0, 0xFD, 0x5A);

Ну думаю ты меня понял.

делай десять: жмакай выполнить. дальше изменяй названия таблица на свое (по желанию) и выводи трейнер.

ВАЖНО!!! При выводе указывай путь на диск C и имя файла должно быть на английском. в конечном окне оставь 32 битный процесс и поставь галочку где векс отдадчик. он беспалевный.

В конце у вас должен получится примерно вот такой скрипт:


stringListAddresses = AOBScan("89 46 60 E8 D2 C3 08 00 89 45 08 BF B4 B0 FD 5A","*X*W-C")
if (stringListAddresses~=nil) then
lenghtLines = stringlist_getCount(stringListAddresses)
for i = 0, lenghtLines-1 do
address = stringlist_getString(stringListAddresses, i)
writeBytes(address ,0x90, 0x90, 0x90, 0xE8, 0xD2, 0xC3, 0x08, 0x00, 0x89, 0x45, 0x08, 0xBF, 0xB4, 0xB0, 0xFD, 0x5A);
end -- for end;
showMessage("Успешно!")
end -- if (stringListAddresses~=nil) end;
end --Конец 8* Speed Рука/Кирка

Ну вроде все сказал.

Помоему норм получилось...

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

После того как stringListAddresses больше ненужен обычно его уничтожают. Для этого есть соответствующая функция.

извиняйте. просто первый пост... :rolleyes: если есть идеи, как улучшить мой код - скажите) я не против критики)

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

Вот скрипт по инстереснее

+Также с некаторымы сигнатурами активация за 1 секунду!

+Вылазиет сообщение "Сигнатура не найдена"

+Короче

+В 1 кнопку!

+xD

Ставим репку!

======================================================================

function CEButton1Click(sender)

results=AOBScan("?? ?? ?? ?? ?? ?? ?? ?? ?? ??", "+X-W-C)

if(results==nil)then

messageDialog('Сигнатура не найдена!',1,2)

return end

count=stringlist_getCount(results)

for i=0,(count-1),1 do

adressDarkPan=stringlist_getString(results,i)

writeBytes(adressDarkPan, 0x??, 0x??, 0x??, 0x??, 0x??, 0x??, 0x??, 0x??, 0x??, 0x??)

end

messageDialog('Активировано!',2,2)--Script by DarkPan

end

======================================================================

======================================================================

function CEButton1Click(sender)

byte = "?? ?? ?? ?? ?? ?? ?? ?? ?? ??"

results=AOBScan(byte, "+X-W-C) --Флаги сканирования

if(results==nil)then

messageDialog('Сигнатура не найдена!',1,2)

return end

count=stringlist_getCount(results)

for i=0,(count-1),1 do

adressDarkPan=stringlist_getString(results,i)

writeBytes(adressDarkPan, 0x??, 0x??, 0x??, 0x??, 0x??, 0x??, 0x??, 0x??, 0x??, 0x??)

end

messageDialog('Активировано!',2,2)--Script by DarkPan

end

======================================================================

А еслит ещо в поток поместить вообще супр будет, трейнер не будет виснуть!

======================================================================

Ставим спасибки :-D :-D :-D

HackingMemory, Dart Vanya, спасибо вам, за мои знания!

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

  • 2 года спустя...
×
×
  • Создать...

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

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