Привет. Нужно обойти античит ssClient. Эта падла снимает скриншоты игры из экрана пользователя и отправляет их на сервер админу. Если бы на этом все заканчивалось, то пусть бы жило. Так этот гребаный античит еще и рабочий стол фиксирует, по крайней мере я видел на скриншоте фоновый рисунок, значки в трее, и даже окно аськи с ником пользователя и контакт листом! Админу игрового сервера это знать совсем ни к чему. Вызовы апи я еще не анализировал, т.к. это затруднено. Ни Logger из Debugging Tools, ни BoundsChecker не могут анализировать вызовы апи сетевых приложений. Вызов socket() под ними всегда возвращает -1, и, естественно, программа дальше не работает как надо. Я написал прогу, переводящую ssClient на неинтерактивную Window Station и другой Desktop. Ниже привожу код. Вопрос. Достаточно ли этого? Или античит все равно может каким-то образом снимать скриншоты? Код (Text): void main() { HWINSTA hWinSta; HDESK hDesk; STARTUPINFO StartupInfo; PROCESS_INFORMATION ProcessInfo; memset(&StartupInfo, 0, sizeof(STARTUPINFO)); memset(&ProcessInfo, 0, sizeof(PROCESS_INFORMATION)); hWinSta = CreateWindowStation("FuckSSWindowStation", 0, GENERIC_ALL, NULL); if (hWinSta == NULL) printf("CreateWindowStation failed.\n"); if (!SetProcessWindowStation(hWinSta)) printf("SetProcessWindowStation failed.\n"); hDesk = CreateDesktop("FuckSSDesktop", NULL, NULL, 0, GENERIC_ALL, NULL); if (hDesk == NULL) printf("CreateDesktop failed.\n"); StartupInfo.cb = sizeof(STARTUPINFO); StartupInfo.lpDesktop = "FuckSSWindowStation\\FuckSSDesktop"; if (!CreateProcess(NULL, "ssc.exe", NULL, NULL, FALSE, NULL, NULL, NULL, &StartupInfo, &ProcessInfo)) printf("CreateProcess failed.\n"); WaitForSingleObject(ProcessInfo.hProcess, INFINITE); if (!CloseDesktop(hDesk)) printf("CloseDesktop failed.\n"); if (!CloseWindowStation(hWinSta)) printf("CloseWindowStation failed.\n"); }
Son of God Если он использует GDI в юзермоде, то этого будет достаточно. Другое дело, что админ сразу заподозрит неладно, вместо игры наблюдая чистый фон. Так, что надо параллельно будет иммитировать деятельность игры в другом десктопе. Кстати, не ужели этот клиент как-то препятствует взлому игры? Вообще свинство - траффик юзера расходовать ради шпионских целей в таких количествах... З.Ы. Вот против таких тупых методов защиты, и работают сетевые взломщики игр вроде моего и продвинутого CheatEngine...
alpet Пусть лучше видит чистый фон, чем конфиденциальную информацию. Имитировать игру - имхо, геморрой. Взлому игры этот клиент не препятствует. Он только доставляет админу скриншоты, а тот визуально определяет наличие читов вроде Wallhack. Что есть свинство, я согласен. Расскажи про свой взломщик.
Son of God Простенький взломщик с открытыми кодами (Delphi 6). Разрабатывается медленно, но уверенно. Обладает очень быстрым поиском (основное достоинство). На сейчас поделен на клиентскую и серверную часть, которые можно на разных компах запускать (с небольшими переделками, можно серверную часть сделать скрытой). Более подробно на сайте wgc.ogl.ru
ssclient, esl aequitas обходятся перехватом 3х функций CreateCompatibleBitmap, ReleaseDC и GetTickCount (чтоб не просекли временной простой античита от *очистки* экрана в игре) CreateCompatibleBitmap: флаг на отключение визуализации, сохранение текущего тика таймера, ожидание флага успешного отключения, вызов оригинальной функции ReleaseDC - флаг на включение визуализации GetTickCount: возвращать сохраненное в CreateCompatibleBitmap значение +(rand() % 50) в интервале от сохраненного, до вызова ReleaseDC + 1000 (1 сек) (c) mattdog
Вроде как прочитал что он скрипны отправляет на указанный ftp, если это правда - моно легко присеч канекты к 21 порту и все дела..
xdf Значит ли это, что моей проги недостаточно? (Сорри, не силен в GDI) Flasher Если явно помешать соединению, то в принципе может и с сервера начать выкидывать, хотя я не проверял.
Son of God, я включил отслежку канектов к 21 и начал играть гдет 2 часа, потом выхожу - и некаких логов. Значит либо это гон что картинки идут на ftp, либо сам клиент не фотает через определённое время, а только по требования с сервера, значит если попытаются, и не получится, подумают что у них косяк Или моно тревогу подцепить на прогу, если попытаются, выйдешь на раб стол, отрубишь прогу, они сфотают, увидят тя мирно сидяшим на своём раб столе, успокоятся, ты опять врубишь и пойдёшь дальще читерить )
Еще можно попробовать интересный вариант - установить игру и античит в виртуальную машину, сделать доступ виртуальной машине к реальной сети через NAT, сделать перенаправление портов TCP 27030 и UDP 27030 (стандартные порты ssClient'a) в виртуальную машину, а все остальное пусть идет в реальную. В виртуальной машине запускаем античит и игру без читов (создав локальную игру). А с реальной машины читим
Так в виртуальной машине не нужен DirectX. Режима Software достаточно. Играть ведь с реальной, а виртуальная только для отвода внимания.
А много игор сейчас поддерживают софтварный режим? Мне этот вопрос просто интересен, так как недавно очень нужно было запустить одну он-лайн игру под виртуальной. оследнюю игру, которую я вспоминаю с софтом, это анреал.
Half-Life 1 поддерживает. Был успешно запущен под VMware 5 в режиме Software. Насчет остальных не знаю.
Я было надеялся, что есть какой-то способ насильно переводить в софтовый режим =( Значит неактуально.