-
Постов
2 999 -
Зарегистрирован
-
Победитель дней
129
Тип контента
Профили
Форумы
Загрузки
Блоги
Весь контент MasterGH
-
Оформление форума приятно хочется ещё больше почаще заходить на форум. Xipho писал, что отключит репутацию Администрации, так что Администрация будет в топах недолго...
-
Сложность тут всё-таки это не главная цель. Очевидно, что цель была показать наглядный пример как сделать бессмертие только для своего игрока и как это сделать скриптами на Cheat Engine. Хорошо, что этот пример и прост, и одновременно чем-то хорошо похож на то, что может встретиться в играх. Сделать другой такой трейнерми чтобы он был и сложнее и похож на существующие проблемы в многих играх будет сложно. Было дело я видел трейнми настолько закрученные, что это превращалось в экзотику, которую в играх я не видел даже. Это называется угробить своё время на создание трейнми решение которого используется очень редко. Могут быть, правда, маньяки, которые любят полазить в отладке и им все равно что им подсунут
-
На здоровье Желаю успехов
-
Могу добавить одно. Игра исполняется виртуальной машиной Явы. Отсюда танцы с бубном Поэтому я думаю, что даже найти адрес счётчика ресурсов проблематично. Я не нашёл не 4, 2, 1 байтами. Текст не искал. Помнится есть декомпиляторы jar файлов. Вот и поковырять им minecraft.jar с перекомпиляцией наверно будет проще чем искать адреса или пытаться изменить код.
-
А как именно не работает? Как ошибка вылазит, если вылазит? 1) Если вылазит сообщение "Игра должна быть запущенна до трейнера", то может быть в названии окна есть какие-то проблемы с русскими символами, если они там есть. 2) Сделай аналогичные сообщения для проверки ProcessId, Handlewindow. Проверь WriteProcessMemory(HandleWindow,ptr(Address),buf,NumberOfBytes,write) на исключение. Если исключение возникает выведи мессагу. Возможно у адреса защита от записи. Или блокировка Антивирусом. 3) Потом мне не нравится GetMem c переменной buf, т.е. вот эти манипуляции. GetMem(buf,1); buf^ := Chr(PokeValue); //... FreeMem(buf); Проверь существует ли действительно адрес buf 4) Я точно не помню, но кто знает, может WriteProcessMemory не успевает выполнится по каким-то причинам и тут же идёт сразу FreeMem(buf) и CloseHandle(HandleWindow); 5) Может быть нужно какие-то параметры компиляции поставить. 6) Может быть требуется присутствие каких то dll-ок. См. пункт 5 Короче поставь мессаги на каждой функцией. И обверни блок кода от begin до end в обработку исключения с выводом мессаги о об этом исключении. Можно также извлечь информацию об этом исключении используя WinAPI. К сожалению я не буду заниматься тестированиями. Подсказал чем смог. Ещё предлагаю поискать примеры на дельфи без GetMem -> FreeMem...
-
Если я не ошибся, то этот вариант программы будет лучше построен: -------------------------------------------------- --[[ Фризер процесса. клавиши: HOME - включает (но не морозит), просто "взводит курок" END - отключает (размораживает процесс если был заморожен) F4 - морозит процесс SPACE - морозит с задержкой указанной в sleep(8000) = 8сек. Клавиши и задержки можно менять и дописывать при необходимости по аналогии. * Перед "употреблением" это примечание удалить (т.к CE не любит кирилицы) --]] --------------------------------------------------- function checkEnd(timer) if not enableHotkey and isKeyPressed(VK_HOME) then enableHotkey = true else if enableHotkey then if (isKeyPressed(VK_END)) then enableHotkey = false unpause() else if (isKeyPressed(VK_SPACE)) then sleep(8000) pause() else if (isKeyPressed(VK_F4)) then pause() end end end end end end enableHotkey = false tEnd=createTimer(nil) timer_setInterval(tEnd, 100) timer_onTimer(tEnd, checkEnd) timer_setEnabled(tEnd, true)
-
VirtualAlloc / HeapAlloc / malloc / new Первый вариант объяснения: Второй вариант: Тот кто усвоил - молодец.
- 1 ответ
-
- 1
-
-
В первый пост я добавил исходник. Забыл указать как устанавливать. Самый простой вариант распаковать файлы из ce_luasocket.rar в папку c CE. Запустить cheatengine-i386.exe и для проверки выполнить например http = require("socket.http") print(http.request("http://forum.gamehacklab.ru")) Если ошибок не будет, то увидим исходник html-я. К первому посту я прикрепил исходник. С его помощью можно скомпилировать под 64-рязрядную платформу. Использовать 32-х разрядные модули или 64-разрядные можно используя Lua команды: cheatEngineIs64Bit(): Returns true if CE is 64-bit, false if 32-bit targetIs64Bit(): Returns true if the target process is 64-bit, false if 32-bit
-
Спасибо, keng.
-
Сообщаю Xihpo и Kvazimado и всем о том, что я переместил форум "Видео обмана игр всех категорий" на самую первую строчку на нашем форуме, т.к. посчитал, что это наиболее важный и интересный вид информации по созданию читов особенно для тех кто первый раз приходит на наш форум. Этому форуму явно не место где-то в месте после середины сайта форума GameHackLab. Так же я надеюсь, что будет увеличиваться количество тем в этом форуме и что многим захочется что-то там написать и оставить после себя. Чем более мы будем известными на ютубе, тем больше найдём "талантливых людей", которые возможно пожелают сделать что-то интересное или полезное.
-
Очень правильный вопрос. И если автор темы не ответит на него, то все будут заниматься "угадыванием". Очень сомневаюсь, что автора интересуют сингл-игры, потому что свою проблему он преподнёс, как будто знает метод для хака сетевых игр с помощью подмены сетевых данных сниферами.
-
Я посмотрел. Твой трек музыки битый. Поменяй на на другой трек музыки. Переименуй в ресурсах трек музыки таким образом чтобы не было пробелов в его имени. Измени строку (например): И наконец самое важное. Посмотри у тебя два раза реализована функция onOpenProcess. Тебе нужна одна: function onOpenProcess(processid) xmplayer_stop() control_setCaption(UDF1_someLabel, "Process is exist") end Сделай все изменения в своём 1.CT и выбери сохранить из главного меню. А там выбери сохранить как Stand Elone *.exe
-
Ну тогда можешь сохранить свою таблицу как *.CT и приаттачить её сюда. Возможно проблема легко решаема.
-
На CE 6.2 Beta 3 я написал твой код. Создал форму и на форме label с именем someLabel. Изменил название процесса на котором тестировал. В опциях главного окна выбрал сохранить. Далее сохранить как. Далее указал добавить xm проигрывание... И всё работает. Когда происходит присоединение к процессу, то label корректно отображает подключение к процессу "Process is exist"
-
Xipho хотел сделать поддержку наград за особые заслуги. Это будет правильнее чем добавлять скопом баллы репутации. Когда талантливых пользователей около 10, то уже забываешь за что наградил их большим количеством баллов. Поэтому лучше баллы увеличивать за информацию в постах. А за особые заслуги, такие как активность, индивидуальность и т.п. лучше давать награды в виде какой-то медальки или какой-то картинки с надписью. Особенно понравилось, дай Бог нам ума. Дай Бог нам его побольше, т.к. видимо не хватает
-
ce_luasocket.rar Исходник: luasrc.rar Теперь удобным образом можно производить сетевые соединения ftp, http, smtp прямо из Lua кода. Если правильно всё установить, то можно например сделать так http = require("socket.http") print(http.request("http://forum.gamehacklab.ru")) И в lua консоли увидим кодовую разметку главного страницы нашего форума. Файлы распаковать в папку Autorun. ----------------------------------------------------- 1) Я думаю каким-то образом можно отправлять сообщения на некоторый почтовый адрес, о том что пользователь получил какую-то критическую ошибку (типа баг репорта); 2) Можно скачивать какой-то контент для работы CE скриптов, который постоянно лежит на каком-то адресе ftp или html; 3) Можно сделать что-то на подобии автоматического обновления; 4) В общем можно много чего придумать, если фантазия позволит;
-
Я провел эксперимент и вот что получилось. Некоторые компоненты главной формы могут мешать, когда у нас уже есть готовая таблица. Поэтому хорошо бы иметь возможность как скрывать так и показывать то, что порой мозолит глаза. Чтобы это сделать добавьте Lua-код при запуске программы:
-
Cheat Engine 6.2 Beta 5 (Tue Feb 14, 2012) Скачать Это не все изменения. На форуме CE около 8-страниц обсуждений, тестов и там могли быть ещё исправления.
-
frm = createForm() label = createLabel(frm) -- 1 Сопособ для будущей CE 6.2 font = control_getFont(label) font_setColor(font,'1000') -- 2 Сопособ для будущей CE 6.2 intValueFont = getProperty(label, 'Font') font = integerToUserData(intValueFont) setProperty(font, 'Color', '1000') control_setCaption(label, 'Red')
-
Started with a ce lua wiki entry Link ->> here Составляется справочное руководство. Следите за обновлением. Напоминаю, что сырые справки на SVN находятся тут и тут.
-
Можешь поискать у нас на форуме темы по словам "BitConverter" и "Convert" А лучше сразу поищи информацию в MSDN
-
4 способа решения сделать так чтобы оружие стреляло: 1) Найти код в процессе игры (некий switch), который говорит о том что будет/был выстрел. Ну и соответственно искусственно вызывать ветку кода поправив один или пару прыгов; 2) WinAPI эмуляция ввода мышки (о ней уже писали - MSDN рекомендует обычно SendInput, а не mouse_event и не keybd_event ... и лучше всё-таки это делать через таймер, а не хуком в конец сцены (почему так лучше комментировать не буду, надо тестить)); 3) DirectXInput эмуляция ввода мышки; 4) Эмуляция на уровне драйвера мышки (или клавиатуры) По всем методам можно найти не мало информации в Интернете. ------------------