24K Опубликовано 8 апреля, 2012 Поделиться Опубликовано 8 апреля, 2012 (изменено) Здесь напишу как найти Float значение, и как написать скрипт (С помощью Cheat Engine) буду рассказывать всё подробноВзял игру Need For Speed Undercover (Будем взламывать закись азота)1) Открываем Cheat Engine2) Выбираем процесс игры "nfs.exe"3) Выбираем тип значения ("Value Type") открылся список из списка выбираем "4 byte"4) Выбираем тип сканирования ("Scan Type") открылся список из списка выбираем "Unknown initial value" (Это означает "Поиск неизвестного значения")5) Заходим в игру, выбираем профиль, выбираем машину на которой установлено нитро6) Сворачиваем игру, возвращаемся к программе, нажимаем "Fist Scan" (Это означает "Начать поиск")7) Заходим в игру, и используем закись азота (т.е уменьшаем или прибавляем этот процесс называется "Отсеивание")8) Сворачиванием игру, возвращаемся к программе, нажимаем "Next Scan" (это означает "Следующие сканирование" или "Отсеивание")9) Продолжаем так делать несколько раз пока не найдётся несколько адрес (Ваш адрес или нет можно проверить путём "Замораживание адреса", слево есть такой маленький квадратик, нажмите на него (Этим вы заморозили адрес, т.е адрес изменяться не будет) заморозили адрес, вошли в игру, если закись азота не уменьшается то адрес наш10) Сворачиваем игру, возвращаемся к программе, по нашему найденному адрес жмём по правой кнопки мышкой и нажимаем "Find out what accesses this adress" (Это означает "Брекпоинт на доступ")11) Возвращаемся в игру и уменьшаем или прибавляем кол - во закиси азота12) Сворачиваем игру, возвращаемся к программе, и в не большом окне появились инструкции, ищем примерно такое значение "fld dword ptr [ecx+000000b4]" (Мы должны именно с этой инструкцией работать)13) Справо нажимаем "Show disassembler" (Это означает "Показать дизассемблер")14) Далее (Сверху есть панель) жмём "Tools" ----> "Auto Assembler" (Это означает "Инструменты" ---> "Ассемблер")15) Далее (Сверху есть панель) жмём "Template" ----> Cheat Table flamework code" (Это означает "Шаблон" ----> "вставление секций [ENABLE] и [DISABLE]"16) Далее "Template" ----> "Code ingection" (Это означает "Шаблон" ----> "Внедрение кода")17) Далее приступаем к написанию скриптаДолжен получиться вот такой скрипт:[ENABLE]//code from here to '[DISABLE]' will be used to enable the cheatalloc(newmem,2048) //2kb should be enoughlabel(returnhere)label(originalcode)label(exit)007358B0:jmp newmemnopreturnhere:newmem: //this is allocated memory, you have read,write,execute access//place your code heremov [ecx+000000b4],(float)1originalcode:fld dword ptr [ecx+000000b4] <---- Наша инструкцияexit:jmp returnhere[DISABLE]//code from here till the end of the code will be used to disable the cheat007358B0:fld dword ptr [ecx+000000b4]//Alt: db D9 81 B4 00 00 00dealloc(newmem) <---- Убираем dealloc(newmem) в конец скрипта чтобы игра не глючила и не вылетала18) Далее "File" ----> "Assign to current cheat table" (Это означает "Файл" ----> "Связь с текущей таблицей")19) Чтобы активировать скрипт нужно его заморозитьЕсть второй способ нахождения Float значения:1) Открываем Cheat Engine2) Выбираем процесс игры "nfs.exe"3) Выбираем тип значения ("Value Type") открылся список из списка выбираем "Float"4) Выбираем тип сканирования ("Scan Type") открылся список из списка выбираем "Unknown initial value" (Это означает "Поиск неизвестного значения") (Также вместо "Unknown initial value" ("Поиск неизвестно значения") можно сделать "Exact Value" ("Поиск точного значения") и где написано "Value" (Значение) написать 15) (Потом когда уменьшили или увеличили закись азота "Процесс отсеивания") в "Scan Type" ("Тип сканирования") в открылся список и выбираем "Decreased Value" ("Значение уменьшилось") или "Increased Value" ("Значение увеличилось")Дальше всё также как и в первой способе!Автор: 24K Изменено 11 апреля, 2012 пользователем 24K 3 Ссылка на комментарий Поделиться на другие сайты Поделиться
keng Опубликовано 8 апреля, 2012 Поделиться Опубликовано 8 апреля, 2012 А объяснить, что делает инструкция? (: Ссылка на комментарий Поделиться на другие сайты Поделиться
Xipho Опубликовано 8 апреля, 2012 Поделиться Опубликовано 8 апреля, 2012 За труды по написанию, конечно, плюс, но есть одно большое "НО!": Это тупо рассказ о том, КАК делался скрипт. Никаких намеков на объяснение того ПОЧЕМУ он делался именно так в тексте нет. Следовательно, этот способ актуален ТОЛЬКО для этой игры и НИЧЕМУ новичка не научит. Потом пойдут нубские вопросы, на которые некоторые форумчане снова начнут реагировать неадекватно, потому что для ПРОДВИНУТЫХ эти самые "ПОЧЕМУ" очевидны, а вот для новичка - нет. Рекомендую переработать статью так, чтобы она действительно могла служить туториалом для новичка, и чтобы у него после прочтения не возникали нубские вопросы. Ссылка на комментарий Поделиться на другие сайты Поделиться
Bromvol Опубликовано 9 апреля, 2012 Поделиться Опубликовано 9 апреля, 2012 А объяснить, что делает инструкция? (:-Она хранит наш запас нитро Xipho не надо так грузить -=CaliberWerkz=-'а! Он сделал все правильно и даже сказал что можно изменять тип значения(!) в самом скрипте. На сколько я помню, то ему всего 12 лет(он где-то писал об этом).Из того что он не сказал еще о скриптах и значенияхэто то что можно менять тип например тип 4 байта=типу float=типу double, а если посмотреть ети типы в HEX'e то значения у них все равные!!! А в скрипте можно было писать по-разному (float)1 например в том же HEX'e "mov [ecx+000000b4], HEX значение"Я думаю что калибер сделал все на отлично, а кого заинтересует тот найдет больше и копнет глубже.CaliberWerkz МОЛОДЕЦ и УМНИК что сделал такую хорошую инструкцию по взлому!!! Так держать Ссылка на комментарий Поделиться на другие сайты Поделиться
Xipho Опубликовано 9 апреля, 2012 Поделиться Опубликовано 9 апреля, 2012 Bromvol, никто его не "грузит". Это здравая конструктивная критика. Флуд заканчиваем. Ссылка на комментарий Поделиться на другие сайты Поделиться
24K Опубликовано 9 апреля, 2012 Автор Поделиться Опубликовано 9 апреля, 2012 В 08.04.2012 в 20:53, Xipho сказал: За труды по написанию, конечно, плюс, но есть одно большое "НО!": Это тупо рассказ о том, КАК делался скрипт. Никаких намеков на объяснение того ПОЧЕМУ он делался именно так в тексте нет. Следовательно, этот способ актуален ТОЛЬКО для этой игры и НИЧЕМУ новичка не научит. Потом пойдут нубские вопросы, на которые некоторые форумчане снова начнут реагировать неадекватно, потому что для ПРОДВИНУТЫХ эти самые "ПОЧЕМУ" очевидны, а вот для новичка - нет. Рекомендую переработать статью так, чтобы она действительно могла служить туториалом для новичка, и чтобы у него после прочтения не возникали нубские вопросы.посижу подумаю над новой версии статьи Ссылка на комментарий Поделиться на другие сайты Поделиться
ARM4ND0 Опубликовано 9 апреля, 2012 Поделиться Опубликовано 9 апреля, 2012 Цитата 3) Выбираем тип значения ("Value Type") открылся список из списка выбираем "4 byte"Вообще убила))...Согласен с другими, ты показал как делать скрипт "когда значение float"... Цитата посижу подумаю над новой версии статьиНе нужно новую статью написать, ты только редактируй и добавь так,чтобы новичкам понятно было. Ссылка на комментарий Поделиться на другие сайты Поделиться
Synapsehome Опубликовано 9 апреля, 2012 Поделиться Опубликовано 9 апреля, 2012 Спасибо за тутор Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость GoODRus Опубликовано 4 июля, 2013 Поделиться Опубликовано 4 июля, 2013 Зачем делать скрипты если можно найти указатель на адрес и все? Ссылка на комментарий Поделиться на другие сайты Поделиться
MasterGH Опубликовано 4 июля, 2013 Поделиться Опубликовано 4 июля, 2013 1) Есть большая вероятность, что указатель может быть не правильно найден2) Есть большая вероятность, что на поиск указателя уйдёт много сил и времени, и он так и не будет найден или не будет правильно найден3) Есть большая вероятность, что простой скрипт даже без сканирования сигнатуры будет написан очень быстро и искать указатели не нужно при этом4) Если у игры постоянно выходят патчи ИЛИ делаем читы для других игроков, то есть большая вероятность, что скрипты будут более эффективнее чем указатели. Указатели не будут работать, а скрипты будут работать. Есть несколько вариантов как это сканирование сделать. Просто сигна, сигна с дырками, сигна с дырками с дизассемблером+сгенериррованная инъекция кода. У каждого способа свой шанс на успех на разных патчах игр.5) Скриптами можно сделать некоторые читы махом - например добавить все ресурсы в Герои Меча и Магии6) Скриптами можно делать Убийство с одного раза7) Скриптами CE Lua можно сделать почти все что угодно связанное с читами, хоть бота, который будет сам играть за Вас.Минусы скриптов:1) Требуется опыт написания скриптов - набить руку при создании скриптов на куче игр.2) На скриптах АА (автоассемблера CE) порой нужно делать фильтры на регистры, значения адресов и т.п. иначе например будут все бессмертны и враги, и друзья. Это может быть сложным. Ссылка на комментарий Поделиться на другие сайты Поделиться
Vlad2 Опубликовано 8 августа, 2013 Поделиться Опубликовано 8 августа, 2013 Цитата 7) Скриптами CE Lua можно сделать почти все что угодно связанное с читами, хоть бота, который будет сам играть за Вас.Классно сказано! :D Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения