Fixer Опубликовано 26 сентября, 2013 Поделиться Опубликовано 26 сентября, 2013 Если не там создал тему - переместите)Моя первая тема, не судите строго Короч делай раз: ищи значение, которое тебе надо. например значение патронов.делай два: жмакни правой кнопкой и поставь бряк на запись.делай три: сделай так, чтоб значение изменилось. если патроны, то выстрели.делай четыре: у тебя будут инструкции, получающие доступ к твоему значению. тебе надо выбрать ту инструкцию, у которой кол-во хитов равно твоим выстрелам, после присоединения отладчика. когда нашел инстркцию - жмякни показать память.делай пять: видишь внизу бегают страшные буквы и цифры? это память. а то что чуть выше - инструкции. там где память (ниже) жмякни правой кнопкой и выбери "перейти по адресу" и детально напиши адресс инструкции, к которой ты перешел из отладчика. нажми перейти. у тебя высветится память той инструкции (как я это понимаю).делай шесть: выдели все 16 пунктов (каждый пункт - это байт. байт - 2 знака) и скопируй. создай текстовик, и запиши туда это первое значение.делай семь: теперь обрати внимание на верхнюю часть вью мемори - инструкции. жмякни на ту инструкцию, к которой ты перешел правой кнопкой и выбери затереть нопами. NOP - ассемблерная инструкция которая говорит ничего не делать. када процессор доходит до нупов - он их перескакивает как конь дохлую белку. я отвлекся. вобщем когда ты затрешь нупами у тебя изменятся твои байты внизу. скопируй их в наш текстовик под номером два.делай восемь: ну чтож, скрипт готов. теперь нажми на "файл" и выбери "создать трейнер используя текущую таблицу". тебе вылетит окошко с твоим трейнером, а точнее его созданием. жмакни "свой дизайн" и постирай там все. создай чек бокс (это такая фиговнка, которая сбоку стоит квадрат который можно вкл - выкл а слева текст) короче это текст можешь отредактить там же, в графе "Text" потом перейди в правый раздел отвечающий за события.делай девять: нажми три точки рядом с ван клик. вылетит таблица луа. в луа между двумя созданными надписями копируем вот этот код, стерев нижний endstringListAddresses = 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 Ссылка на комментарий Поделиться на другие сайты Поделиться
MasterGH Опубликовано 27 сентября, 2013 Поделиться Опубликовано 27 сентября, 2013 После того как stringListAddresses больше ненужен обычно его уничтожают. Для этого есть соответствующая функция. Ссылка на комментарий Поделиться на другие сайты Поделиться
Fixer Опубликовано 27 сентября, 2013 Автор Поделиться Опубликовано 27 сентября, 2013 После того как stringListAddresses больше ненужен обычно его уничтожают. Для этого есть соответствующая функция.извиняйте. просто первый пост... если есть идеи, как улучшить мой код - скажите) я не против критики) Ссылка на комментарий Поделиться на другие сайты Поделиться
∟DarkPan Опубликовано 28 сентября, 2013 Поделиться Опубликовано 28 сентября, 2013 Вот скрипт по инстереснее+Также с некаторымы сигнатурами активация за 1 секунду!+Вылазиет сообщение "Сигнатура не найдена"+Короче+В 1 кнопку!+xDСтавим репку!======================================================================function CEButton1Click(sender)results=AOBScan("?? ?? ?? ?? ?? ?? ?? ?? ?? ??", "+X-W-C)if(results==nil)thenmessageDialog('Сигнатура не найдена!',1,2)return endcount=stringlist_getCount(results)for i=0,(count-1),1 doadressDarkPan=stringlist_getString(results,i)writeBytes(adressDarkPan, 0x??, 0x??, 0x??, 0x??, 0x??, 0x??, 0x??, 0x??, 0x??, 0x??)endmessageDialog('Активировано!',2,2)--Script by DarkPanend============================================================================================================================================function CEButton1Click(sender)byte = "?? ?? ?? ?? ?? ?? ?? ?? ?? ??"results=AOBScan(byte, "+X-W-C) --Флаги сканированияif(results==nil)thenmessageDialog('Сигнатура не найдена!',1,2)return endcount=stringlist_getCount(results)for i=0,(count-1),1 doadressDarkPan=stringlist_getString(results,i)writeBytes(adressDarkPan, 0x??, 0x??, 0x??, 0x??, 0x??, 0x??, 0x??, 0x??, 0x??, 0x??)endmessageDialog('Активировано!',2,2)--Script by DarkPanend======================================================================А еслит ещо в поток поместить вообще супр будет, трейнер не будет виснуть!======================================================================Ставим спасибки :-D HackingMemory, Dart Vanya, спасибо вам, за мои знания! Ссылка на комментарий Поделиться на другие сайты Поделиться
Recpec158 Опубликовано 27 февраля, 2016 Поделиться Опубликовано 27 февраля, 2016 ∟DarkPan, не работает твой скрипт! Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения