MasterGH Опубликовано 4 января, 2013 Автор Поделиться Опубликовано 4 января, 2013 ANT' timestamp='1356647518' post='12662']В окне отладчика есть пункт "Dissect data/structures". При нажатии всегда вызывается окно "Structure dissect" (Structuresfrm2.pas), но в исходниках есть еще и "Memory dissect" (Structuresfrm.pas)Как до него добраться ?Что из себя представляет "Structure linker" ?Так же не понятно назначение "Structure spider". Иногда использую его как альтернативу "Structure dissect", но думается, что не для этого он предназначен."Memory dissect" скорее всего, старая форма в исходниках. Её наверно было проще и быстрее Дарк Байту оставить и создать новую "Structure dissect" (Structuresfrm2.pas). Так что до старой добираться наверно нет смысла.>>Что из себя представляет "Structure linker" ?Мне сложно определить значимость данного функционального окна. Ясно одно, что без этих функций можно обойтись. Возможно Structure linker помог бы при большом количестве открытых окон "Structure dissect" и после того как структуры были перезагружены в игре (загрузка новой сцены, перезапуск игры, перезапуск после случайного вылета игры). Значимость каждой галочки по описанию можно только догадываться, надо проверять на практике более точно. Ссылка на комментарий Поделиться на другие сайты Поделиться
aliast Опубликовано 4 января, 2013 Поделиться Опубликовано 4 января, 2013 А может быть Memory dissect это dissect code? Или диссект код там тоже есть? Дисект код это анализ файла, сбор инфы по всем джампам. Вещь удобная, но на практике пока не пригодилось. Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость Figaroo Опубликовано 29 января, 2013 Поделиться Опубликовано 29 января, 2013 Cheat engine 6.2 , при попытке поставить брейкпоинт(на запись, на доступ) на какое либо значение вылетает ошибка "НЕ удается прикрепить отладчик к этому процессу! Вы можете попробывать открыть процесс используя средство выбора процесса и попытаться снова! Если в этот раз не получилось, проверьте, есть ли у вас привелегии на отладку"win 7 x64 запускаю с правами админаЧто делать? Подскажите?PS. Настройки типа отладчика не активны.... Ссылка на комментарий Поделиться на другие сайты Поделиться
aliast Опубликовано 30 января, 2013 Поделиться Опубликовано 30 января, 2013 Что делать? Подскажите?PS. Настройки типа отладчика не активны....Переключить отладчик в режим VEH Debugger или, если не поможет, в Kernel Mode, отключив обязательную проверку подписи драйверов при запуске винды.По поводу недоступности настроек отладчика - нужно просто перезапустить Cheat Engine и не выбирая процесса игры изменить эти опции - они блокируются после выбора процесса если не ошибаюсь. Ссылка на комментарий Поделиться на другие сайты Поделиться
misha Опубликовано 26 февраля, 2013 Поделиться Опубликовано 26 февраля, 2013 Как с помощью LUA в CE изменять фокус окна (активно, неактивно)? Как отправлять в определенное окно нажатие клавиши? Ссылка на комментарий Поделиться на другие сайты Поделиться
MasterGH Опубликовано 26 февраля, 2013 Автор Поделиться Опубликовано 26 февраля, 2013 Я думаю тут проще будет написать отдельную программу (С++,C# и т.п.) и её вызывать из CE. В CE Lua Engine простых методов я не увидел, разве что ассемблерный код выполнять в некотором процессе. Ссылка на комментарий Поделиться на другие сайты Поделиться
CTIGRA Опубликовано 10 апреля, 2013 Поделиться Опубликовано 10 апреля, 2013 Подскажите пожалуйста, как реализовать такую логику на автоассемблере и тренер-генераторе:кнопка + = прибавляет опред. число в st(0) кнопка - = вычитаетПроблема в том, что нужно сделать так чтобы скрипт работал "одну итерацию". Иначе он будет прибавлять значение с частатой "тиканья" игры. Ссылка на комментарий Поделиться на другие сайты Поделиться
MasterGH Опубликовано 11 апреля, 2013 Автор Поделиться Опубликовано 11 апреля, 2013 Немного осложняет, что используется генератор трейнеров. Есть две версии: свой дизайн трейнеров в котором можно делать кнопки и связывать с функциями (финкция из пункта 2 ниже) и есть версия генератора трейнера с галочками и кнопки там не создашь.Один из вариантов, который бы я использовал для разовой записи значения.1. Создать Форму, кнопку и связывание кнопки с функцией2. Создаём в Lua запись, суть которой не делать повторной инъекции и обнулять значение по зарегенной метке разрешающее разовую запись в st0isInjection = falsefunction LuaCheat0()if not isInjection thenisInjection = trueprint("Firts Injection")autoAssemble([[alloc(newMem,2048)label(...)label(...)....cmp byte ptr [isOnceSumm], 00je originalCodemov byte ptr[isOnceSumm], 01//работа с ST0....originalCode:....isOnceSumm:db 00....]])elseautoAssemble([[isOnceSumm:db 01 // разрешаем разовую запись]])endendСохранем Lua скрипт. Конечно, надо скрипт писать правильно, у меня только наброски4. Генерим трейнерЕсли что-то не получится, то проверить на ошибки. Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость Ekib Опубликовано 15 июня, 2013 Поделиться Опубликовано 15 июня, 2013 Доброго времени, всем участникам!Только начал осваивать программу CheatEngine (версия 6.3) в частности на игре Grid2. Возник вопрос, как найти адреса оппонентов, для того чтобы замедлить их скорость? Здесь есть таблицы для игры Grid2, но СЕ их не принимает... Ругается: Error while scaning for AOB's: Opponents_aob! Видимо, адреса отличаются от релиза игры, которая была у автора таблиц (у меня репак от Механиков)... Если кто знает, пните, куда смотреть Заранее благодарен! Ссылка на комментарий Поделиться на другие сайты Поделиться
Xipho Опубликовано 15 июня, 2013 Поделиться Опубликовано 15 июня, 2013 Рекомендую найти тот же релиз, что и у автора таблицы, скачать таблицу и проанализировать ее. Правда, не думаю, что таким образом ты многое узнаешь. Для поиска оппонентов может быть несколько вариантов, и каждый из них рассматривался на форуме (правда, необязательно применительно к данной игре). Суть в так называемых "фильтрах" на игрока/врага. Но могут быть и другие случаи, в двух словах их все не опишешь. Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость Ekib Опубликовано 15 июня, 2013 Поделиться Опубликовано 15 июня, 2013 (изменено) Относительно релиза, думал уже, но на самом деле, единственное, что я из этого поимею, это результат выполнения скрипта таблицы не вникнув в суть =) Форум просмотрел весь, нашел только топик связанный с управлением автомобилями противника при помощи ArtMoney, суть примерно та же, но мануал предоставлен не полный, как найти адреса оппонентов не сказано (хотя бы направление поиска и отсева), только возможность рассчитать на калькуляторе адрес второго и последующих противников! Придется шуршать страницами с самых азов, т.к. идея заинтересовала...------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Да и кроме того судя по таблицам у автора в игре не используется расширение системы команд avx. А у меня запускается игра с grid2_avx.exe. Поэтому чтобы пользовать вышеуказанные таблицы в первозданном виде, придется менять машину, т.к. вероятность совпадения адресов минимальна Изменено 15 июня, 2013 пользователем Ekib Ссылка на комментарий Поделиться на другие сайты Поделиться
Xipho Опубликовано 15 июня, 2013 Поделиться Опубликовано 15 июня, 2013 Весь геймхакинг строится не только на анализе кода, но и на постройке предположений и их проверке. К примеру, можно попробовать предположить, что все машины в гонке - это вектор (динамический массив) указателей на объекты всех игроков (либо самих объектов, но это более ресурсоемко и, как следствие, редко применяется. Впрочем, такой вариант все равно не исключен). К чему я это? К тому, что, допустим, предположив вышесказанное, и найдя адрес машины своего игрока, можно поисследовать память "вокруг" этого адреса, и, возможно, найти адреса оппонентов. Я сразу говорю, это лишь теоретические рассуждения, и к ломаемой тобой игре могут не иметь ни малейшего отношения, но они должны дать тебе тот самый "волшебный пендаль" в нужную для взлома игр сторону. И таки да, для успешного взлома нужно не только знать азы ассемблера, но и настоятельно рекомендуется знать какой-либо из высокоуровневых языков программирования, и, разумеется, их ветвь - объектно-ориентированное программирование (ООП). Без знаний ООП очень сложно успешно ломать современные игры со всевозможными приемами "запутывания" геймхакера. Также весьма рекомендуется изучать модель памяти Windows. Это, так скажем, "факультативное" чтение, но эти знания тоже могут весьма и весьма быть полезными. Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость Ekib Опубликовано 16 июня, 2013 Поделиться Опубликовано 16 июня, 2013 =) Любой хакинг строится в основном на постройке предположений и их проверке. С++ знаю на уровне самоучки, писал когда-то, немного Знаком с SoftIce, исходя их этого и с моделью памяти Win (до XP включительно). Правда всем этим занимался последний раз лет восемь назад, была необходимость. Сам уже не играю в принципе, сейчас меня за компами сменили дочки, для них и интересовался В любом случае благодарю за ответ и извиняюсь, что развел офф-топ в теме! Ссылка на комментарий Поделиться на другие сайты Поделиться
MasterGH Опубликовано 16 июня, 2013 Автор Поделиться Опубликовано 16 июня, 2013 Доброго времени, всем участникам!Только начал осваивать программу CheatEngine (версия 6.3) в частности на игре Grid2. Возник вопрос, как найти адреса оппонентов, для того чтобы замедлить их скорость? Здесь есть таблицы для игры Grid2, но СЕ их не принимает... Ругается: Error while scaning for AOB's: Opponents_aob! Видимо, адреса отличаются от релиза игры, которая была у автора таблиц (у меня репак от Механиков)... Если кто знает, пните, куда смотреть Заранее благодарен!Cheat Engine 6.3 может неправильно работать с той таблицей. Попробуйте поставить CE 6.2 с официального сайта со страницы скачиваний.По поводу как искать адреса оппонентов это Вы можете задать вопрос автору того скрипта в личное сообщение.Я думаю, что когда машина ускорялась или замедлялась автор таблицы отсеивал адрес скорости (или ускорения) своей машины. Поставил брейкпоинт, нашёл инструкции. Определил инструкцию на которой проскакивали как свой адрес так и вражеские. Определи черерез сравнения структур фильтр "свой чужой" - число 3 (cmp [eax+00001E60],#3). Написал скрипт, проверил. Написал сигнатуру. Опять проверил. Ну и все Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость ZIDRIK Опубликовано 18 января, 2014 Поделиться Опубликовано 18 января, 2014 Доброго времени.Решил попользоваться Cheat Engine 6.3 RUS. Немного водной части. Имеется игра с Dynamic Memory Allocation распределением памяти. Через CE было найдено интересующее значение и соответственно указатель (который меняется после перезапуска игры). Собственно сам вопрос очевиден: как найти статистический адрес / указатель (который не будет изменяться после перезапуска игры) необходимого значения? Может есть статьи на этот счет... Заранее благодарю за ответ. Ссылка на комментарий Поделиться на другие сайты Поделиться
aliast Опубликовано 2 июня, 2014 Поделиться Опубликовано 2 июня, 2014 А как включить в EXE-тренер спидхак? Галочку при генерации тренера поставил, хоткеи на спидхак в настройках CE прописал, а в тренере хоткеи не срабатывают В CheatEngine хоткеи работают, в тренере нет.Другой вопрос - можно ли заставить CETRAINER (тренер на скриптах) заставить работать в 64-битными играми? Ковырять исходники CE не предлагать ) Ссылка на комментарий Поделиться на другие сайты Поделиться
MasterGH Опубликовано 2 июня, 2014 Автор Поделиться Опубликовано 2 июня, 2014 Тема по работе со скоростью игры. Код нужно будет дописать к автоматически созданному. Ссылка на комментарий Поделиться на другие сайты Поделиться
aliast Опубликовано 3 июня, 2014 Поделиться Опубликовано 3 июня, 2014 Код нужно будет дописать к автоматически созданному.А как дописать код к EXE-тренеру то? CETRAINER у меня не пашет, а в EXE где какой код генерируется? Ссылка на комментарий Поделиться на другие сайты Поделиться
MasterGH Опубликовано 3 июня, 2014 Автор Поделиться Опубликовано 3 июня, 2014 Насколько я помню. Генеришь трейнер как обычно и сохраняшь как exe на диск D например. Затем открываешь окно правки Lua кода из меню главного окна CE (или нажать на CTRL+ALT+L). Там должен быть сгенирован Lua код типа этого--TRAINERGENERATORSTART----This is autogenerated code. Changing code in this block will--get erased and rewritten if you regenerate the trainer code--Uncomment the following line if this is a Cheat Table format trainer and you don't want CE to show (Tip, save as .CETRAINER alternatively)--hideAllCEWindows()RequiredCEVersion=6.3if (getCEVersion==nil) or (getCEVersion()<RequiredCEVersion) thenmessageDialog('Please install Cheat Engine '..RequiredCEVersion, mtError, mbOK)closeCE()endaddresslist=getAddressList()memrec0=addresslist_getMemoryRecordByID(addresslist,0)memrec0_hotkey0=memoryrecord_getHotkeyByID(memrec0,0)function onPostHotkey0(Hotkey)--Executed after the "toggle*" cheat got executedlocal memrec=memoryrecordhotkey_getOwner(Hotkey)local isActive=memoryrecord_isActive(memrec) --get the state after the hotkey got triggeredcheatcomponent_setActive(CETrainer_CHEAT0, isActive)if gBeepOnAction thenbeep()endendmemoryrecordhotkey_onPostHotkey(memrec0_hotkey0,onPostHotkey0)control_setVisible(CETrainer_SEPERATOR, false)strings_add(getAutoAttachList(), "test.exe")gBeepOnAction=falseform_show(CETrainer)function AboutClick()showMessage(gAboutText)endgAboutText=[[This trainer was made by Cheat Enginewww.cheatengine.org]]function CloseClick()closeCE()return caFree --onClick doesn't care, but onClose would like a resultend--TRAINERGENERATORSTOP--Вот в него и добавляешь код спидхака.speed = 1.0function IncSpeed(hotkey)speed = speed + 1speedhack_setSpeed(speed)endfunction DecSpeed(hotkey)speed = speed - 1speedhack_setSpeed(speed)endfunction ResetSpeed(hotkey)speed = 1.0speedhack_setSpeed(1.0)endfunction SetHotKey(func, hotkey)local objectHotKey = createHotkey(func, hotkey)generichotkey_setKeys(objectHotKey, hotkey)generichotkey_onHotkey(objectHotKey, func)endfunction onOpenProcess(processid)SetHotKey(IncSpeed, VK_F2)SetHotKey(DecSpeed, VK_F3)SetHotKey(ResetSpeed, VK_F4)end--TRAINERGENERATORSTART----This is autogenerated code. Changing code in this block will--get erased and rewritten if you regenerate the trainer code--Uncomment the following line if this is a Cheat Table format trainer and you don't want CE to show (Tip, save as .CETRAINER alternatively)--hideAllCEWindows()RequiredCEVersion=6.3if (getCEVersion==nil) or (getCEVersion()<RequiredCEVersion) thenmessageDialog('Please install Cheat Engine '..RequiredCEVersion, mtError, mbOK)closeCE()endaddresslist=getAddressList()memrec0=addresslist_getMemoryRecordByID(addresslist,0)memrec0_hotkey0=memoryrecord_getHotkeyByID(memrec0,0)function onPostHotkey0(Hotkey)--Executed after the "toggle*" cheat got executedlocal memrec=memoryrecordhotkey_getOwner(Hotkey)local isActive=memoryrecord_isActive(memrec) --get the state after the hotkey got triggeredcheatcomponent_setActive(CETrainer_CHEAT0, isActive)if gBeepOnAction thenbeep()endendmemoryrecordhotkey_onPostHotkey(memrec0_hotkey0,onPostHotkey0)control_setVisible(CETrainer_SEPERATOR, false)strings_add(getAutoAttachList(), "test.exe")gBeepOnAction=falseform_show(CETrainer)function AboutClick()showMessage(gAboutText)endgAboutText=[[This trainer was made by Cheat Enginewww.cheatengine.org]]function CloseClick()closeCE()return caFree --onClick doesn't care, but onClose would like a resultend--TRAINERGENERATORSTOP--Открываешь из главного окна CE форму трейнера и добавляешь лейблу с описанием горячих клавиш Ссылка на комментарий Поделиться на другие сайты Поделиться
aliast Опубликовано 4 июня, 2014 Поделиться Опубликовано 4 июня, 2014 Ага, нашёл. Но можно сделать проще: http://forum.gamehacklab.ru/topic/2634-speed-hack/page__view__findpost__p__17827 Ссылка на комментарий Поделиться на другие сайты Поделиться
MasterGH Опубликовано 4 июня, 2014 Автор Поделиться Опубликовано 4 июня, 2014 Ага, нашёл. Но можно сделать проще: http://forum.gamehac...dpost__p__17827Да чем оно проще??? И там, и там копировал, да вставил. Все готовое уже. Ну мышкой чуть больше раз пощелкал и в клаву потыкал.В моем примере скорость можно уменьшать, увеличивать и сбрасывать, а там она задается фиксированная. Так что смотря какие цели... Ссылка на комментарий Поделиться на другие сайты Поделиться
exorcise Опубликовано 9 августа, 2014 Поделиться Опубликовано 9 августа, 2014 В настоящее время используются все отладочные регистры. Освободите один из них и попробуйте снова. < Это пишет CE когда ставлю бряк. Что делать? Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость Опубликовано 9 августа, 2014 Поделиться Опубликовано 9 августа, 2014 В настоящее время используются все отладочные регистры. Освободите один из них и попробуйте снова. < Это пишет CE когда ставлю бряк. Что делать?С такой же проблемой сталкиваюсь периодически. Скорее всего это связано с новыми версиями СЕ. Мне помогает перезапуск СЕ и игры. Стоит также поиграть с настройками отладчиков. Ссылка на комментарий Поделиться на другие сайты Поделиться
A1t0r Опубликовано 9 августа, 2014 Поделиться Опубликовано 9 августа, 2014 В настоящее время используются все отладочные регистры. Освободите один из них и попробуйте снова. < Это пишет CE когда ставлю бряк. Что делать?Ставить на память одновременно можно только 4 бряка. Если выпадает такое сообщение, то убери ненужный и вперёд) Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость Опубликовано 9 августа, 2014 Поделиться Опубликовано 9 августа, 2014 Ставить на память одновременно можно только 4 бряка. Если выпадает такое сообщение, то убери ненужный и вперёд)Само-собой, да только в СЕ установлен флаг на авто-снятие бряков. Плюс к тому, ручное снятие бряков как-то кривовато работает, так что... Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения