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

MasterGH

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

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

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

    129

MasterGH стал победителем дня 7 августа 2023

MasterGH имел наиболее популярный контент!

Репутация

504 Structure hunter

Информация о MasterGH

Посетители профиля

73 698 просмотров профиля
  1. Определиться, что именно тебе интересно и чем ты сам хочешь заниматься. Если самому нечем заниматься. то это вопрос к самому себе. Если же есть чем заниматься, но не дают, то это вопрос к админам. Лучше об этом сообщать (в тех же пожеланиях). Я бы смотрел в строну образования. Gamehacklab[RU] может мотивировать в изучении программирования и тем самым в выборе IT-специальности. Дать понять. что это за ресурс. 1) Для тех, кто просто ищут готовые читы, трейнеры 2) Для тех, кто заказывает и продает услуги по читам. 3) Для тех, кто учиться. Мне кажется, что третья категория совсем неочевидная. Человек, не понимает. Видит форум. Разделы. Первую тему, которую он создаст это "как найти готовые читы или трейнер". Ему скажут или сам делай и учись (смотри курсы), или ступай в заказы. И нет такого, чтобы была мотивация разобраться в том, как самому написать скрипт. Зато есть мотивация — выложи готовое и скачай готовое. Т.е. то, что лежит на видном месте: готовые трейнеры, готовые таблицы, готовые скрипты. А еще категории форумов неоднозначно сформулированны о том, что в них обсуждается. То ли категория для вопросов, как читы готовые найти или категория о том, кто их смог бы помочь сделать. В категории должно быть все-таки очевидно написано, какие темы там будут либо дайте готовое, либо я буду учиться и нужна помощь. В общем такое видение у меня.
  2. MasterGH

    5. Поиск смещений

    Если с Вашей стороны будет статья или видео о том, как применяется этот плагин (успешно или не успешно) для CE 7.2, то возможно будет и выше обнова. А так просто обновлять под циферки CE, честно говоря пока не вижу. У меня этих CE разных версий штук пять установлено. Все никак не почищу И давайте писать на новом форуме по возможности
  3. Судя по посту Xipho, есть надежда, что хоть какой-то форум будет Я предлагаю идею привязать активных пользователей к разделам форума. повторяющиеся вопросы — разрешать. Для этого специальный лояльный модератор-помогатор и специальный раздел "Вопросы для начинающих". У раздела создать подразделы. Несколько. Пока не знаю какие. Я бы нзначил Питроника(желание помочь) и Гарика(вежливость + опыт) на этот раздел. Название подразделов обсудить с ними. готовые ответы — разрешать. Раздел "Вопрос-ответ". Этот раздел специально для тех, кому надо быстро и без проблем получить ответ и не ковыряться по два часа. Назначил бы модератором Partizan. Т.к. он выдает готовые ответы часто. Но, если раздел для начинающих, то Partizan там не пишет готовые ответы сразу. Подразделы здесь обсудить с Partizan раздел "Опытные". На него поставить imaginary, justHack. Подразделы обсудить с ними. В этом разделе нельзя задавать "тупых вопросов". Иначе перенаправят тему для начинающих. Рекомендую сделать в этой теме FAQ. Чтобы самим не забыть, что вопросы уже обсуждали. Раздел "общение". Подраздел "Решение вопросов". Поставить Garik66, SerVick, Antonshka для решение споров. Цель — найти компромисс. Сообщения с разборками отправлять туда или создавать темы отельные. В конце темы — принятие решения. Есть спор возник, то его надо обязательно решить и написать в конце темы решение. DieVisn и Alex2411 могут быть модераторами в разделе публикаций. Например в подразделе "таблицам CE". их контролю содержания, что они работают. Следить за отвзывами по таблицам. Если, конечно, Alex2411 захочет и остальные не будут против. Ну, как-то так. Т.е. идея разделы разбить по активным позициям иначе мы не сдвинемся — никто писать не будет, т.к. друг друга "блокируем" и начинает какой-нибудь разбор полетов.
  4. Есть множество предложений создать бесплатный форум. Примеры Можно будет свободно общаться как и раньше. У кого-то будет время и тот сможет наполнять разделы. Кто-то сможет быть модератором. И совсем необязательно будущий форум закрывать, если там не будет активности или не будет времени им заниматься. Согласовать надо два момента (это к тебе xipho): 1) объявление о том, что форум переехал по другому адресу 2) ссылку на этот форум разместить по возможности на видом месте. Чтобы человек мог перейти по ссылке. Этот вариант для тех, кто хочет продолжать общаться на форуме, создавать темы, писать комментарии, ставить оценки и т.п.
  5. Наверно, надо целиком таблицу .CT смотреть. Так ошибки. По скрипту и сравнению с прошлой версией, вроде, нормально.
  6. Скорее всего, так решил Dark Byte и посчитал, что такое число нажатий достаточно. Число нажатий можно проверить в окне установки hotkeys при редактировании memory record через контекстное меню
  7. Я не особо любитель автономных трейнеров. Если бы я заморочился, то т.к. форма генерируемого трейнера продолжает работать с обычными MemoryRecord из таблицы CE, то можно в MemoryRecord подменять Hotkey. Я бы все удалил с формы. Создал бы сначала CECheckbox1, CEEdit1 и связал бы их с некоторым MemoryRecord по уникальному названию. В MemoryRecord подменял бы Hotkey через обработчик CEEdit1. По esc клавише стирать все, что в CEEdit1 Потом бы для остальных записей по аналогии... На мой взгляд, это большие заморочки и сложнее чем если писать на WinAPI + язык программирования. Я бы предложил просто пользоваться *.CT-таблицей 🙂
  8. Разобраться будет непросто. Основной принцип надо уловить. 1) userDefinedKeys - Lua-таблица с hot-keys. Не более 5 комбинаций нажатий. В эту таблицу происходит запись и чтение. 2) (object1.ClassName=='tcheat') and (object2.ClassName=='TMemoryRecordHotkey') это типы недокументированные в celua.txt. Экземпляры этих типов генерируются на форме при создании hot-keys 3) Сколько опций нагенерировали на форме, столько надо добавить потом. например addChangeHotkeyKeysFunctionality(CETrainer.CHEAT0,memrec0_hotkey0) addChangeHotkeyKeysFunctionality(CETrainer.CHEAT1,memrec1_hotkey0) addChangeHotkeyKeysFunctionality(CETrainer.CHEAT2,memrec2_hotkey0) 4) userPressedKey - обработчик нажатий в поле ввода текста, который будет работать с таблицей кодов hotkeys userDefinedKeys на 5 нажатий 5) clearHotkey() - обработчик клика на кнопку, очистит таблицу кодов hotkeys userDefinedKeys 6) -- создание формы changeHotkeyKeysForm "local function formCreate()". Принцип, который надо понять и уловить состоит в подмене хоткеев в tcheat и TMemoryRecordHotkey. Как именно подменяется можно увидеть по исходникам и по документации. К сожалению, документировано не все. Те, кто постоянно лазят на форуме CE, по исходником CE они знают и описание tcheat и TMemoryRecordHotkey. С моими комментариями: Вариант, рабочий. Главное не запутаться, когда будешь переделывать под свой вариант меняя опции или добавляя свои. Если что не понятно, то пиши. Я когда исходник открыл вообще ничего не понял. Когда начинаешь разбираться, потом картина выстраивается. Если бы я делал с нуля, то, наверно, делал бы без tcheat и TMemoryRecordHotkey, но остальное почти также с convertKeyComboToString
  9. Проверить, чтобы переменные были без кавычек. Т.е. debug_continueFromBreakpoint(co_stepover), а не debug_continueFromBreakpoint('co_stepover'). Функция debug_continueFromBreakpoint(co_stepover) делает шаг на следующую инструкцию не заходя в call. Далее прочитать регистры и далее вызывать debug_continueFromBreakpoint(co_run) чтобы отпустить отладку. Если этого не сделать, то ничего и не произойдёт — висит в отладке. Учитывать нахождение на EIP при брейкпоинте на адресе брейкпоинта или на адресе следующем за адресом брейкпоинта. Например, это позволит прочитать eax из mov eax, [eax] двумя способами. 1 способ до перезаписи eax (EIP на инструкции брейкпоинта). Это software-брейкпоинт. Способ2 после перезаписи (EIP на инструкции следующей за инструкцией, на которой сработал брейкпоинт). Это hardware-брейкпоинт(он же по умолчанию). Оба режима, можно ставить вручную или программно. debug_setBreakpoint(address, size OPTIONAL, trigger OPTIONAL, breakpointmethod OPTIONAL, functiontocall() OPTIONAL) -- Где на EIP повлияет --Breakpoint methods: bpmInt3=0 --- software breakpoint bpmDebugRegister=1 -- hardwarebreakpoint bpmException=2 -- ну, это не нужно(медленный), на регион памяти (где здесь EIP будет, уже не помню)
  10. Да, лучше спросить у Дарк Байта. Может быть, сделать можно через registerCustomTypeLua. Нет? Если есть желание. можешь погуглить. Можешь написать на C# через чтение памяти Или другими программами попытаться просматривать память. Типа winHex Могут быть и программы альтернативы. Хотя CE как небольшой комбайн, но не все же ему уметь делать во всех кодировках. Пробуй IDA, Hidra и т.п.
  11. Отвечая на вопрос существует ли возможность, то она лично у Вас теоретически всегда существует, а именно самостоятельно изучить программирование и сделать, но вряд ли кто-то другой будет этим заниматься с отдельной кодировкой. Логику работы кодировки можно увидеть в исходниках MemoryBrowserFormUnit, исходниках hexviewunit.pas. Там не только чтение, но и запись в кодировке.
  12. Ну, такой я предлагать не буду 😃 Ну, может такой вменямый (визуально)? Большое количество опций, наверно, лучше оставить в таблице как есть без трейнеров. Вот пример Или вот такая вменяемая таблица? Или такая Во всяком случае можно выбрать отдельные опции или сгруппировать их, что-то вроде этого вполне вменяемо (сделан на Cheat Engine) А если опций еще больше и нужны галки, то тогда использовать контролы. Списки, вкладки и т.п.
  13. Ты уверен, что нужна ссылка? Это плагины к OllyDbg. Ссылки все битые. Им лет 10. Можешь поискать в Интернете "OllyDbg и названия этих плагинов".
  14. Хотя ответ был, но я приведу функции, которые могут пригодится 1. Открытие процесса: openProcess("Tutorial-i386.exe") 2. Добавить процесс в список процессов для автоподкючения: getAutoAttachList().add("Tutorial-i386.exe") 3. Функция, которая срабатывает, когда процесс подключился: function onOpenProcess(processid) // здесь некоторый код end 4. Активация записи по её имени: getAddressList().getMemoryRecordByDescription("Название записи в таблице CE").Active = true. Если такой записи еще в таблице нет, то вызовет ошибку. 5. При добавлении записи в CE сразу вызывается код в АА-скрипте. Так CE проверяет все, что там находится. Это может создать лишний таймер. Как это проверить? Через логи и print() 6. Если объединить пункты выше и отказаться от таймера, то получится что-то вроде этого. 7. Ошибка, очень похоже, связана с названием записи напротив галки. Т.е. она отсутствует. 8. Ну, а как программное разворачивать вложенные читы и активировать их? Идем в документацию и что-то вроде этого ищем про memoryRecord.Options. Выставляnm Options можно как вручную так и скриптом Более полно все функции описаны в документации Хотя там не все есть. Например, про "memrec" внутри уже созданного АА-скрипта. Тогда не нужно использовать local memoryRecord = getAddressList().getMemoryRecordByDescription("Активирующий скрипт"), а сразу memrec и с ним работать.
  15. Какую логику работы скриптов хотим получить? Вариант1 1. Если нажали на галку в таблице CE, то делать автоматически аттач к процессу? 2. Как только подключился процесс, то активировать другую галку? Или вариант2 1. Чтобы нажали на галку и начался поиск процесса 2. Как только процесс найден, то все вложенные записи под этой же галкой показались(развернулись)? Критерий "Как правильно написать этот скрипт для табличного варианта?" мне пока не совсем понятен.
×
×
  • Создать...

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

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