GodGame
-
Постов
12 -
Зарегистрирован
-
Посещение
Тип контента
Профили
Форумы
Загрузки
Блоги
Сообщения, опубликованные GodGame
-
-
Andrey, дело в том что у тебя смешались две не зависимых между собой реализации.
Та реализация что с демо скином и тремя кнопками, не имеет в себе поддержки скриптов. Там можно только задать горячии клавиши и байт код, который запишется по определенному адресу при нажатии на эту клавишу.
А скрипты не имеют возможности генерации в исполняемый файл, их можно запускать только из программы, вся работа происходит под капотом GodGame.
Не уже ли ассемблер и и дизассемблер могут вместиться в 74кб-ный трейнер?Конечно могут. Трейнеры пухнут в первую очередь из за графики, и реализации GUI. Вспомним Delphi при добавлении юнита Form размер увеличивается с 15кб до 450кб.
Эти функции работают с SIMD инструкциями, т.е. с инструкциями типа movsd и т.п.?немного не понял о чем идет речь. Есть таблицы, мнемоник и опкодов, на них и завязына вся работа. Можно посмотреть реализацию в исходникак CheatEngine.
Работают ли эти функции с 64-разрядными приложениями? Вроде я читал что не работают.Пока нет, но будут (я надеюсь) как я перейду на Delphi XE2.
Будут ли события в инспекторе объектов для формы?Хз... надо посмотреть что можно сделать.
Ты бы что ли тутор сделал бы на своём сайте по созданию простого трейнера с демо-скином. А то я не знаю. Демо скрипт есть, демо скин есть, а как они связаны не понятно. Я ещё еле угадал как кнопки разместить на форме демоскина.Дело в том, что я не умею хорошо объяснять (писать туторы), да и времени на все не хватает.
Вот думал keng поможет http://forum.gamehacklab.ru/topic/1002-%d0%b4%d0%b5%d0%bb%d0%b0%d0%b5%d0%bc-map-hack-%d0%b4%d0%bb%d1%8f-warcraft-iii/page__view__findpost__p__5656 ан нет, не понравилась ему моя программа
-
- Доработан инспектор объектов, теперь отображаются все свойства компонента, так-же стало возможным назначать собития.
- Из списка меню компонентов, убранны лишние компоненты которые нельзя создавать для дизайна.
- Добавлены новые функции для скриптов: (Assemble, ReadPtr, WritePtr, Scan, ScanToList). Пример использования можно посмотреть в папке ("Demo\Script.gst").
- Исправленны небольшие недочеты.
- Доработан инспектор объектов, теперь отображаются все свойства компонента, так-же стало возможным назначать собития.
-
Если кто покажет данный код более облегченно на c# ,будем обсуждать.
Ну как-бы я выше написал как можно упростить функцию PointerRead, с PointerWrite практически аналогично, единственное типы у переменных надо доработать.
-
ZOCKIR, помоему все усложненно, особенно Pointer(Read/Write) я правда на C# не писал, не знаю как там с типами (в частности с указателями), но примерно так.
public byte[] PointerRead(IntPtr MemoryAddress, uint bytesToRead, int[] Offset, out int bytesRead)
{
int iPointerCount = Offset.Length - 1;
int ptrBytesRead;
int buffer = new byte[bytesToRead];
for (int i = 0; i < iPointerCount; i++)
{
GmeHackLab.ReadProcessMemory(m_hProcess, (IntPtr)MemoryAddress, (IntPtr)MemoryAddress, 4, out ptrBytesRead);
MemoryAddress += Offset[i];
}
GmeHackLab.ReadProcessMemory(m_hProcess, (IntPtr)MemoryAddress, (IntPtr)buffer, bytesToRead, out ptrBytesRead);
return buffer;
}Вот так бы это выглядело на Delphi
procedure ReadMemory(Address: Pointer; Offsets: array of Word; Buffer: Pointer; Size: Integer);
var
I: Integer;
bytesRead: Iteger;
begin
for I := 0 to High(Offsets) do
begin
if ReadProcessMemory(h_Process, Address, @Address, bytesRead) then
Inc(Address, Offsets[I]);
end;
ReadProcessMemory(h_Process, Address, Buffer, Size);
end; -
нет более расширенных возможностей дизайнера форм
Ну все впереди работаю над этим.
не поддерживает ассемблерные скрипты, конечно хотелось, чтобы поддерживалаFLS, Посмотрим что можно сделать.
часто вылезает такое окно с ошибкойZOCKIR, Можно подробнее, после каких действий, ну там при поиске, при работе в отладчике или в скриптах ???
В ошибках указано что у меня 2048 памяти, хотя на компе большеМагия однако будет время посмотрю в чем там трабла.
-
Ну что-же, потихоньку работа идет.
Теперь в скриптах можно так.
//------------------------------------------------------------------------------
// Запись в память через указатель --- абстрактный пример ----------------------
//------------------------------------------------------------------------------
procedure WriteProcessClick(Sender: TObject);
const
Ptr = $00401000; // Указатель
begin
// Теперь что-бы не писать так:
// Addr := ReadInteger(Ptr);
// Addr := ReadInteger(Addr + $F4);
// Addr := ReadInteger(Addr + $A0);
// WriteProcessMemory(Addr, HStr('FF 00 00 00'), 4);
// можно все заменить одной функцией
WritePtr(Ptr, [$F4, $A0], HStr('FF 00 00 00'), 4); // Пишем в память
end;
//------------------------------------------------------------------------------
// Выполнить свой код в чужом процессе
//------------------------------------------------------------------------------
procedure CallRemoteFuncClick(Sender: TObject);
const
Msg = 'GodGame'#0'CallRemoteFunc';
var
AllocMem : Pointer;
AllocStr : Pointer;
Code : string;
AddrMB : Pointer;
begin
// Выделяем память в открытом процессе
AllocMem := VirtualAlloc($1000);
AllocStr := VirtualAlloc($1000);
AddrMB := GetProcAddress('MessageBoxA');
// Внедряем строку в открытый процесс
WriteProcessMemory(AllocStr, Msg, Length(Msg));
// Создаем ассемблерный код
// --------------------------------------------------
Code := Assemble(['push 0',
'push ' + IntToHex(AllocStr, 8), // Адрес строки GodGame
'push ' + IntToHex(AllocStr + 8, 8), // Адрес строки CallRemoteFunc
'push 0',
'call ebx', // ebx - адрес MessageBoxA
'ret']);
// --------------------------------------------------
// Внедряем код в открытый процесс
WriteProcessMemory(AllocMem, Code, Length(Code));
// Запускаем наш код
CallRemoteThread(AllocMem, AddrMB);
end;PS: Народ! не ужели никто кроме MasterGH программу не смотрел или нечего сказать ? Пишите, может какие замечания предложения есть, да и вообще общее впечатление о программе.
-
onOpenProcess(processid)
disassemble(address)
getInstructionSize(address)
Есть такие, остальное учту.
-
В как бы Инспекторе объектов очень не достаёт обработчиков событий
Планируется в будущих версиях, возможно даже будет реализованно: при изменении свойств в инспекторе, они будут сразу изменятся и в редакторе кода, а не как сейчас, только копирование в буфер.
Хорошо бы иметь возможность встраивать ассемблерный код или ассемблерный скрипт, а не байты как в этом примере:Не вопрос, будет в следующей версии.
Может быть я плохо смотрел, вроде нет функций для работы с отладчиком, сканером памяти...Нет зрение не подвело действительно пока таких возможностей нет, решаю пока как лучше реализовать, в виде классов или просто функций ?
Программа наверно будет в будущем платная, как я понял из соглашения дистрибутиваНет, хотя! если добавить фич, перевести на английский язык, написать развернутую справку то... Все-же нет, не будет, по крайней мере в обозримом будущем.
Просто мне надо поюзать её как-нибудьОбязательно
-
Вышла новая версия 1.4
Список изменений:
Версия 1.4.0.0 - 18.11.2011
- Добавлена поддержка и поиск многоуровневых указателей, то есть ("Указатель на указатель").
- В отладчик добавлена возможность трассировки и установки своих точек прерывания, так-же добавлено окно стека и редактор памяти.
- Добавлен скриптовый язык, с синтаксисом Object Pascal. Пример использования можно посмотреть в папке ("Demo\Script.gst").
- Добавлен встроенный формульный калькулятор. Теперь в поле поиска значения, можно вводить математическую формулу, поддерживаются все математические операции что и в скриптах, например, (2+2*3) shl 2, и программа будет искать результат формулы, то есть 32. Удобно использовать, если вы знаете, как кодируется значение в игре. Например, 100 жизни может хранится как - 100 xor ("число").
- Добавлен конвертер величин.
- В ("редакторе памяти") улучшен поиск, так-же теперь можно копировать и вставлять массивы байт.
- Заменена иконка программы.
- Исправлен серьезный баг! не находился не один адрес при отсеивании.
Версия 1.3.0.0 - 18.08.2011
- Добавлен новый тип поиска ("Строка").
- Добавлен новый тип поиска ("Массив байт").
Версия 1.2.0.0 - 08.08.2011
- Добавлены новые настройки "Использовать свои функции для доступа к памяти". При задействовании данных функций, GodGame использует свой сервис для работы с памятью, тем самым, обходя все возможные защиты памяти. Использовать в случае, если GodGame не может открыть процесс или прочитать память процесса. платформа (x86)
- Добавлена поддержка и поиск многоуровневых указателей, то есть ("Указатель на указатель").
-
MasterGH, Да скрипты планируются в будующих версиях, только в каком виде пока не решил...
На всех указанных адресах при условии WHERE будет создана инъекция ADDNEWASSEMBLEФишка интересная обязательно учту.
-
Давненько вышла уже более функциональная версия, прошу заценить, принимаю конструктивную критику, пишите чего не хватает, чего хотелось бы.
История версий
Версия 1.1.0.0 - 27.07.2011
- Добавлено окно приветствия
- Теперь программа работает и на Windows 7
- Добавлен Поиск комманд в окне отладчика
- Изменена цветовая схема в окне отладчика
- Теперь статичные адреса помечаются другим цветом
- Изменен диалог Выбор процесса, добавленна опция: не показывать системные процессы и показывать процессы только с окнами, сортировка процессов, иконки для процессов.
- Добавлен специальный манифест для меньших конфликтов с системой защиты UAC
- Заменены некоторые иконки в программе
- Убранны за ненадобностью некоторые пункты меню
- А также исправлены небольшие ошибки и недочеты
Версия 1.0.0.0 - 5.05.2011
Первая полноценная версия добавленно очень много, вот некоторые из добавленных возможностей:
- Добавлен Отладчик для продвинутых
- Speed Hack
- Вызов удаленных функций
- Внедрение своих DLL
- Поиск неизвестного значения
- И много много других исправлений
- Добавлено окно приветствия
GodGame
in Вопросы по утилитам
Опубликовано
Уже второй хочет что-бы программа была на одном уровне с такими гигантами как OLLY и др
Очнитесь! это просто сканер памяти, с простеньким отладчиком для замены пары инструкций, и генератором трейнеров с простеньким функционалом.
Если вам нужно что-то серьезно дебажить, трасировать и тп, для это-го и сущиствуют такие программы как OLLY.
Половине пользователей даже возможностей ArtMoney хватает, без всяких там отладчиков.