Сообщений: 10
Тем: 2
Зарегистрирован: Jun 2014
Репутация:
0
06-18-2014, 02:29 PM
(Сообщение последний раз редактировалось: 06-18-2014, 02:30 PM grabedinex.)
Добрых суток уважаемые, я у вас новенький.
Вообщем появилась задумка написать свою универсальную защиту под разные хроники. Суть защиты в сокет сервере и передачи трафика по ключам ssh
идея есть,а из языков знаю только C# и чуть чуть java(благо они похожи, ООП) и документации навалом.
С серверной частью проблем нет, а вот клиент...
Вот тут то и назревает у меня 1 серьезный для меня вопрос.
Вот есть к примеру LameGuard и другие мение известные защиты.
посмотрел я исходники клиентской части, там всего лишь dll. и не чего интересного.
А вот как пишется эта dll. куда ее инжектить, как узнать классы в игре... И вообще вот эти основы мне не понятны. Что то может почитать?
и обязательно ли писать эту dll на C(++) можно ли написать на С#
И как узнать какие классы мне нужны.
Я думаю понятно задал свой вопрос, хотелось бы получить направление, может что то почитать, может можно стороними программами прямо во время игры смотреть что делает игра, и как посылает трафик что бы потом искать классы в dll( ну это же ужас...)
Пока я себе все представляю так...
Добавлено через 45 секунд
Совсем забыл добавить, начать я решил с interlude
Сообщений: 2,102
Тем: 40
Зарегистрирован: Apr 2008
Репутация:
12,296
Отладчик(под кернелем) + смекалка + небольшие знаниявагон знаний асм'а...да куча всего нужно, для вменяемого крекинга клиента ладвы(если не идти как баран, в слепую, по "мануалам" и "примерам" с КодерХ).
Да и для бейса, понадобится неплохой скилз в протекторах и их анпакинге, в разгребании туч сдампленной инфы и прочего, реверс-инженерного оумна.
---
Приветствую. Чуть не тот портал. CoderX поможет, как примерами так и документацией. Удачи
Сообщений: 526
Тем: 28
Зарегистрирован: Oct 2009
Репутация:
7,209
Для написания клиентской части защиты вовсе не обязательно особо ковыряться в во внутренней структуре клиента.
Для своей собственной шифрации игрового трафика достаточно уже сформированные клиентские пакеты зашифровать своим методом.
Клиенты любой игры используют для работы с сетью WinAPI функции для работы с сокетами, изучайте сплайсинг и все у вас получиться.
Сообщений: 2,102
Тем: 40
Зарегистрирован: Apr 2008
Репутация:
12,296
MHard;367157 Написал:Для написания клиентской части защиты вовсе не обязательно особо ковыряться в во внутренней структуре клиента. KilRoy;367155 Написал:если не идти как баран, в слепую
По факту, 1н хендлер несет в себе все что нужно. Как и функции сенд\рецейва, так и крипт\декрипт пакетов. Но отписать это в таком виде(Нужно с инита, вытащить с регистра ecx указатель на объект), тоже самое что стрелять с базуки по воробьям...глупая затея, тем более без базовых знаний.
Сообщений: 10
Тем: 2
Зарегистрирован: Jun 2014
Репутация:
0
coderX то что нужно, большое спасибо, завтра потихоньку начну изучать.
Сообщений: 236
Тем: 7
Зарегистрирован: Jun 2014
Репутация:
697
Именно из за того что я чайник в реверсинге/ASM, такая идея с моей стороны сфейлилась. Смог сделать только "общесистемную" защиту, так сказать. А не конкретную.
Что по сути является мало эффективным в некоторых аспектах)
DLL c хуками и прочими модификациями пишется на С, of course. Инжектить либу при каждом запуске было бы костылём , лучше сделать так чтоб клиент сам ее подгружал.
З.ы никогда не пытайся инжектить managed код в нативный процесс, lol
З.ы вместо инжекта DLL лучше инжектить саму защиту как целый PE образ что бы она работала из под самого процесса L2.exe
З.ы Учитывай тот факт, что некоторые боты могут просто захучить функции CreateRemoteThread/RtlCreateUserThread(NTDLL версия) и твоя защита ничего не заинжектит в клиент , так что читай начало моего сообщения.
Для того что бы этого не случилось можно хучить KiFastSystemCall, но в таком случае остается вариант с Kernel Mode ботом который захучит SSDT таблицу.
Короче жопаболь еще та и факторов куча
Сообщений: 2,455
Тем: 53
Зарегистрирован: Apr 2010
Репутация:
19,728
Добавлю еще свои 5ть копеек.
Если делать крипт через хук сокетов, то конкретно в защите будет мало толку, так как большинство читов/ботов/хаков работают через хукинг функций клиента, т.е. сам пакет они ловят, либо добавляют именно в самом клиенте, соответственно, крипт который будет сделан на хуках сокетов будет на уровень ниже по абстрактной модели.
Цитата:А вот как пишется эта dll. куда ее инжектить, как узнать классы в игре... И вообще вот эти основы мне не понятны. Что то может почитать?
Берете дизассемблер, вскрываете engine.dll и смотрите. Классы, структуры и функции.
m0nster.art - clear client patches, linkz to utils & code.
Гадаю по капче.
Сообщений: 236
Тем: 7
Зарегистрирован: Jun 2014
Репутация:
697
Pointer*Rage Написал:Добавлю еще свои 5ть копеек.
Если делать крипт через хук сокетов, то конкретно в защите будет мало толку, так как большинство читов/ботов/хаков работают через хукинг функций клиента, т.е. сам пакет они ловят, либо добавляют именно в самом клиенте, соответственно, крипт который будет сделан на хуках сокетов будет на уровень ниже по абстрактной модели.
Берете дизассемблер, вскрываете engine.dll и смотрите. Классы, структуры и функции.
В таком случае можно сделать так, что бы сам клиент исчез и боты не могли в нем ничего хукать.
Ну т.е Ring 0 - Source of Inspiration
Есть в моих идеях что то) :redlol:
З.ы
привет, скинь жабу в пм)
|