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

MasterGH

Ветераны
  • Постов

    2 999
  • Зарегистрирован

  • Победитель дней

    129

Весь контент MasterGH

  1. Забыл, надо чтобы таймер был глобальной переменной. Это новый Lua local m_timer = createTimer() Заменить на m_timer = createTimer()
  2. Если дома много компов с установленной игрой, есть сеть с роутером, то через IP можно провести поиск цепочек указателей по сети. Или же на одном компе запустить несколько игр и подключить через локал хост. Поиск указателей может быть нужен не для заморозки значения, а в первую очередь для определения связей структур. У врагов и главного героя эти связи могут отличаться и быть похожими на некоторых уровнях указателей. Ну, в общем как-то так.
  3. Процесс в CE уже должен быть открыт address = 0x0045b5a4m_streamTada_tada = createMemoryStream()m_streamTada_tada.loadFromFile('D:\\tada.wav') -- заменить на свой звукfunction OnTimer() if(readInteger(address) > 0) then m_timer.Enabled = false playSound(m_streamTada_tada, false) endendlocal m_timer = createTimer()m_timer.Interval = 1000m_timer.OnTimer = OnTimer
  4. aliast, 1. параметры статистики могут находится рядом в памяти. Можно попробовать найти их всех рядом 2. одна инструкция может читать все параметры статистики. Чтобы найти её попробовать поставить брейкпоинт на чтение на один адрес параметра статистики и ждать инструкций в логах на протяжении игры 3. дизассмить по трейслогу и ковырять 4. статистика может храниться не в оперативной памяти, а на жестком диске, в реестре. Есть специальные утилиты, которые проверяют обращение к реестру, жесткому диску (например, Procmon.exe)
  5. Если извращаться, то можешь попробовать написать плагин CE Lua, который будет из всей таблицы генерировать и компилировать код C#/C++ (или код других языков) в exe трейнер (или dll).
  6. Так Lua код в памяти лежит открыто. Находиться очень быстро. function checkKeys(timer)if TITANO.CEEdit1.Text==TITANO.CEEdit5.Text thenif TITANO.CEEdit5.Text=="1" thenif TITANO.CEEdit2.Text=="2" thenif TITANO.CEEdit6.Text==TITANO.CEEdit2.Text thenif TITANO.CEEdit3.Text==TITANO.CEEdit7.Text thenif TITANO.CEEdit7.Text=="3" thenif TITANO.CEEdit4.Text=="4" thenif TITANO.CEEdit8.Text==TITANO.CEEdit4.Text thenTITANO.CELabel1.Caption="AAB"TITANO.CEEdit4.Text="1"endendendendendendendendend
  7. Если (указатель на главного персонажа в структуре врага равен нулю), то враг не бегает за персонажем и не видит его.Так что можно попробовать сравнить структуры в CE
  8. 1. Читай про Base Relocation Table 2. Инъекцию можно делать выше 01592F27
  9. Замени mov [[[[["GNZ.exe"+009EFC6C]+C8]+AC]+14]+278]+69C],#100на push eaxmov eax,[eax+AC]mov eax,[eax+14]mov eax,[eax+278]mov [eax+69C],#100pop eax или по аналогии на весь указатель. Если есть ошибки, то в пошаговой отладке посмотри.
  10. Динамическое создание (CE 6.4) frm = createForm() frm.Show()Еще форму можно сохранять в файл и загружать из файла
  11. Хм.. как так я написал "Попробую", а "не попробуй". Даже в мыслях не было что-то делать. Странная опечатка. Насчет настроек D7 не знаю, возможно под 64 bit никак. Увы. Посмотри в Гугле, я думаю найдешь инфу
  12. Пример для jmp far 000007FEF5822000Через qword ptr на указатель 03A90000 - FF 25 00000000 - jmp qword ptr [03A90006]03A90006 - указатель на адрес, по которому будет прыжок с перевернутыми байтами 000007FEF5822000 03A90006: 00 20 82 F5 FE 07 00 00*Только вот адрес в квадратных скобках не может быть больше 4-х байт. Как я понял по документации от интелов длинные прыжки на 8-ми байтный адрес не поддерживаются. Если интересно вбей в Гугл "64-ia-32-architectures-software-developer-instruction-set-reference-manual-325383.pdf"
  13. У регионов и блоков памяти имеются атрибуты защиты. Например, атрибут "на исполнение кода" (тот же PAGE_EXECUTE) и если искать по нему сигнатуру, то поиск будет значительно быстрее.
  14. myForm.Show();myForm - имя формы в инспекторе объектов (свойство "Name")
  15. Проводить к одному из типов. LPCVOID, ULONG_PTR, DWORD_PTRПодробности в MSDN.
  16. Xipho, все правильно написал. Там программулина на C++ в ресурсах. Исполняется, затем удаляется. Я уже сожалею, что написал такой костыль. Советую писать на языке программирования + WinApi Возможно, TargetTransparent.exe у тебя нет в ресурсах таблицы. Тогда эту ошибку может вызывать функция, когда tablefile не найден Либо возьми мой пример и отредактируй его под свой. Либо в своем ищи ошибки выводя логи по каждой функции через print(...) * Можно обойтись без проги, которая ищет форму и вызывает LayeredWindowAttributes. А именно через другой костыль - ассемблерное выполнение в процессе игры или в процессе CE. Вроде даже через Lua можно вызывать функции в CE 6.5. tablefile_saveToFile(tablefile, fullName)
  17. Я думаю, что Сheat Engine 6.5 1. Выйдет в Новый год. Уже подобное было с одной из версий CE. 2. В этой версии CE, скорее всего, новых интересных инструментов не будет. Я увидел только один новый инструмент по поиску регионов памяти, права которых менялись. Повышение версии с 6.4 на 6.5 наверно порадует только тех, кто пишет на Lua.
  18. 1. ceregreset.exe - сброс всех настроек 2. Попробовать поиск в cheatengine-i386.exe 3. Попробовать поиск в cheatengine-x86_64.exe Если поиск снова не удается, то могу предложить обратиться на форум CE или скачивать исходники, ковыряться в отладке CE в Lazarus (придется учить Паскаль/Дельфи соответственно).
  19. print(translate('Open'))print('Путь текущего файла перевода ' .. getTranslationFolder())--Примеры переводаprint(translate('Close'))print(translate('Yes'))print(translateID('addresslist.rswhatvaluetochangethisto'))Если выпонить код, то выведет Путь текущего файла перевода C:\Program Files (x86)\Cheat Engine 6.5\languages\ru_RU\ Открыть Закрыть Да на какое значение изменить? translate() и translateID() возвращает перевод того "*.po" файла, который загружен.Это значит если хотим перевести с английского на русский, то надо чтобы был загружен русский "*.po". Если хотим русского на английский сразу и без перезагрузки CE, то похоже никак не сделать. Потому что loadPOFile(getCheatEngineDir()..'languages\\cheatengine-x86_64.po') не работает, язык только в ini переключать и перезагружать CE. В общем с русского на английский у меня не получилось получить перевод. Надо писать парсер двух .po файлов на lua, больше никак.
  20. Из новых окон я увидел только окно, которое ищет изменённые права регионов памяти (ну и наверно блоков памяти). Из визуальных изменений вроде больше ничего. Много изменений по Lua функционалу. Могу выделить 8 моментов. Появились функции работы с локализацией Брейкпоинт можно связывать с Lua функцией (теперь это не одна общая функция) Класс DissectCode я надеюсь теперь позволяет получить список адресов определенных инструкций, если не из всех, то из большинства найденных (прыжки, условные прыжки, вызовы) Новые классы по работе со структурами Новый класс TreeView. С его помощью можно попарсить трейслоги, т.к. они в TreeView компонентах Календарик появился. Мелочь, а приятно. Дату и время сохранить в нужном моменте. setUserRegistryEnvironmentVariable(name, string) позволит запомнить название и строковый параметр в "историю". Если надо будет прочитать, то getUserRegistryEnvironmentVariable(name): string. stringToMD5String(string): Returns an md5 hash string. Позволит данные строки прохешировать в md5. Например, первые 255 байт текстуры переводим в строку и хешируем. Запоминаем эту текстуру по хешу. Есть новое по dbvm и dbk, но практическое применение их не очень понимаю. Это что-то типа двойной отладки, т.е. отладки отладки. Более полное описание "нового" собрал по памяти из main.lua. Некоторые классы уже были, но в них новые функции. В общем кому интересно. Могут попадаться и старые функции, т.к. не помню точно.
  21. Может быть другую профессию выбрать?
  22. Я думаю, что самый надежный способ поиска указателя это найти его в отладочном коде. Например как здесь Поиск указателя для игры Never Winter Nigth. Тоже самое через трассировку в Cheat Engine. Автоматические поиски цепей указателей в CE может быть долгим процессом и менее надежным. Ну и есть способы не строить указатели - делать инъекцию кода.
  23. Исследователям института неврологии Макса Планка (Max Planck Florida Institute for Neuroscience) и университета Каназава (Kanazawa University) (Япония) удалось получить изображения структурной динамики живых нейронов с беспрецедентным пространственным разрешением
  24. Используй пошаговую отладку и найдешь все свои ошибки. Пару бряков на выполнение кода (кнопкой F5) до "RiseAndFall.exe"+3AE683 и до "RiseAndFall.exe"+3AC183. Затем F7 по шагам до инъекции кода и обратно. Узнаешь почему вылет. Скорее всего, из-за прыжка на returnhere под "RiseAndFall.exe"+3AC183, когда надо прыгнуть ниже "RiseAndFall.exe"+3AE683
×
×
  • Создать...

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

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