Есть одна веселая игра. И есть к ней боты. Меня заинтересовала её защита... Работа бота: при нажатии PrintScr бот читает картинку, смотрит где противники и рисует траектории на экране. Рисует так: GetDC(0) + TextOut Это перестало работать. (Там защит целый таз. Даже дрова сделали и обновляют базу ботов) Тогда немного подумав я сделал GetDC + GetDesktopWindow. но это тоже прикрыли Прикрывают интересным способом - вся графика выводимая графика смещена вниз. Т.е. при выводе TextOut(0,0,"COOL",4); я получаю надпись где-то внизу экрана. Они как-то уродуют DC. Уже попробовал: SetViewportExtEx(h,0,0,NULL); SetWindowExtEx(h,0,0,NULL); SetWorldTransform(h,&x); SetBrushOrgEx(h,0,0,NULL); SetWindowOrgEx(h,0,0,NULL); SetViewportOrgEx(h,0,0,NULL); OffsetWindowOrgEx(h,0,0,NULL); OffsetViewportOrgEx(h,0,0,NULL); всё равно канва смещена МОжет кто-нибудь знает как они двигают канву? (Исследовать игру лень - при включении дебагера всё падает, а иногда комп ребутиться. Привилегии на дебаг проги уже получить не могут + в процессах игру не видно. Я сам в такое не верил, пока не запустил эту корейскую игрушку. 8))
Для TextOut отрицательные координаты тоже робят. Сделай типа так: invoke TextOut, hdc, 0, -50, offset sText, Sizeof sText1
Zero Ice Не пробовали создать полноэкранное прозрачное (см. ниже) окно и рисовать в нём? Код (Text): if(uMsg == WM_NCHITTEST) return HTTRANSPARENT; if(uMsg == WM_ERASEBKGND) return 1; if(uMsg == WM_PAINT){ /* а тут рисуем траектории и т.д. */ } В данном случае DC не будет иметь никакого отношения к игровому и приложение никак не сможет помешать его использовать ЗЫ: Если это окно создаётся отдельным приложением, то не помешает поставить ему стиль WS_EX_TOPMOST.
2Topor пашет, но текст обрезан (как будто за границу окна вышел) 2Quantum не вариант. Там DDraw с fullscreen. (никакого топ моста)