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

Программирование трейнеров на Delphi


Рекомендуемые сообщения

  • 2 месяца спустя...

У вас в шапке уж больно увесистый и некомпактный трейнер в качестве примера приведен. Прошлым летом интересовался программированием трейнеров, в качестве языка выбрал Делфи, если кому интересно вот мой вариант, писался для игры GRID версии 1.3. Скачать исполняемый файл вышел всего в 48кб. Инклудов использовано по минимуму, больше и не надо.

trainer+src.rar

Изменено пользователем MasterGH
файл залит на форум (на тот случай если пропадёт на хостинге)
Ссылка на комментарий
Поделиться на другие сайты

"уж больно увесистый и некомпактный трейнер"... Это Вы похвастаться хотите?! Ну пусть будет так.

Вы можете создать свой пост с содержанием того как может выглядеть первый пост этой темы. Если всё будет ок, то я изменю свой первый пост должным образом.

Ссылка на комментарий
Поделиться на другие сайты

MasterGH Вообще то просто скинул сурсы своего трейнера. Умный человек скачает, откроет , по изучает. Про изменение мануал, содержимого ваших записей ничего не писал и ни кого обидеть не хотел.

PS Процесс создания трейнера на делфи описать статейкой могу , если мне самому она понравится , обязательно выложу здесь, а там уже на ваше усмотрение...

Ссылка на комментарий
Поделиться на другие сайты

Если будите писать статью, то пишите лучше отдельной темой, а не в этой. В будущем я создам подфорум "Программирование трейнеров на Delphi" и в нём будут темы из постов этой темы, а также отдельные темы.

Кстати DefWindowProc правильно располагать в конце WindowProc(), а не в начале как в вашем коде. То что вы трейнеры умеете писать на WinAPI это весьма похвально.

Если стремиться к маниакальному размеру трейнера, то Вы сами можете увидеть в дизассемблере, что каждый Ваш трейнер будет иметь схожую информацию с другими трейнерами. Само содержание файла .exe будет повторяться и т.п. Это наводит на мысль иметь один исполняемый .exe файл который обрабатывал бы сверх компактные "скрипты-сценарии" + файл ресурсов. Именно это умеет делать LUA-engine в Cheat Engine 6.1 (которая пока ещё официально не отреализина). Т.е. то же что вы пишите на Дельфи, можно написать с успехом на LUA... Так что имейте в виду, что Ваши трудовые ресурсы которые вы вкладываете в свой трейнер на Дельфи WinAPI больше и трейнер ваш не такой компактный, если он будет не один, а их будет больше ~100. Наличие Cheat Engine это единственный недостаток для малых скриптовых-трейнеров...

Успехов!

Ссылка на комментарий
Поделиться на другие сайты

MasterGH LUA то штука универсальная. Её и так ко всему можно прикрутить , не обязательно CE за собой везде таскать. Сейчас либы под делфи LUAшные изучаю, застопорился на простой и основной вещи - таблицы

Вот пример кода , который по идее должен возвращать строковые данные из таблицы

Опираясь на вот этот материал писал

Открыть


var i:integer;
begin
lua_getglobal(L,Pchar(table));
if not lua_istable(L,-1) then
begin
Result:='';
Exit;
end;
lua_pushnil(L);
i:=1;

while lua_next(L,i) <> 0 do
begin
case lua_type(L,-2) of
LUA_TSTRING: Result:=Result+string(lua_tostring(L,-2))+' ';
end;

case lua_type(L,-1) of
LUA_TSTRING: Result:=Result+string(lua_tostring(L,-1))+' ';
end;
lua_pop(L,1);
end;
end;
function get(table: string):string;

а вот если не с массивом то все ок


lua_getglobal(L, 'width');
lua_getglobal(L, 'height');

Width := lua_tonumber(L, -2);
Height := lua_tonumber(L, -1);
  

На деле функция выводит имена ВСЕХ функции\переменных\массивов в глобале L без значений, даже если type является string, хотя с обычными переменными проблем нет.

Примеров по этой теме маловато, но если тему развить, можно и универсальный трейнер сделать, со своим "must have" набором функций. Если по луа мануалы или примеры встречались, выложите кто - нибудь.

Ссылка на комментарий
Поделиться на другие сайты

MasterGH LUA то штука универсальная. Её и так ко всему можно прикрутить , не обязательно CE за собой везде таскать.

Может быть таскать и не обязательно по каким-то соображениям. Но CE поддерживает LUA функции дизассемблера, ассемблера, отладки , различные методы обхода защит... И это уже написано, и это обновляется и фиксится. И это можно очень умело использовать при создании автоматических инъекций в новых патчах одной и той же игры. Можно, конечно не "таскать" CE, а использовать его исходники с каждым обновлением вырезая их из проекта SVN. Можно вообще не использовать функции диз/ассемблера и отладки и делать трейнеры под каждую игру, под каждый новый патч. У каждого человека свои взгляды на то что может уметь его трейнер.

По вопросам с LUA подсказать пока не могу. Ибо с LUA мало опыта. Точнее разобраться я могу, но позже.

Ссылка на комментарий
Поделиться на другие сайты

  • 9 месяцев спустя...

KoBRaAndrey, ты просил ответить в эту тему. Отвечаю на вопрос:

>> Как я могу переписать данный код в Delphi?

Очевидно. Можно переписать изучив примеры исходников Cheat Engine, примеры создания трейнеров на Дельфи. Всё можно найти в Интернете включая документацию по Дельфи, WinApi и т.п. Если требуется готовое решение, то я им заниматься не буду ;)

Ссылка на комментарий
Поделиться на другие сайты

  • 1 год спустя...
×
×
  • Создать...

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

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