2FED не приходит у меня там в тестовой проге на это сообщение мессбокс повешан и он вызывается только один раз при системном вызове, а при моём нет посылаю ему WD_DESTROY - нормально принимается так-что есть тело - давай дело
короче смысл в чём это пока полудохлый концепт но может из него что-то получиться в своём большинстве программы в мессадже WM_CREATE инициализирую для себя ресурсы и очень крайне редко проверяют на повторный вызов WM_CREATE, т.е. пологаются на систему, что он точно 1 раз делается получается что можно завалить нужную программу нехваткой ресурсов при определённом количестве этих мессаджей ) хотел поэксперементировать на дыру "повторная инициализация с ликом(утечкой)" на фаерах и антивирусах, но застрял на своей тестовой задаче.. получается винда всётаки не даёт посылать самому WM_CREATE, защищая проги, которые безоговорочно полагаются на его единственнй вызов. если всётаки винда даст посылать самому WM_CREATE, не ожидающей этого программе, это легко лечиться созданием флага инициализации в ней и его узанья.
2FED кому-то это может пригодиться сейчас главная задача, что подопытный не принимает WM_CREATE от SendMessage приложения киллера может кто-объяснить почему и, если можно, как это обойти?
очепятка это , на самом деле они и не отправлялись.. да, это получается всё-таки защита винды для однократного вызова WM_CREATE в проге киллере после SendMessage гетластеррор даёт ERROR_ACCESS_DENIED т.е. получается есть список запрещённых сообщений? что-то не получается в мсдн найти правила ограничений на сообщения ни кто не подкинет ссылочки по теме правил запрещённых мессаджей?
zhindos неа он же не коммикадзе, чтобы сам себя вспороть. здесь рассматривается способ замочить другую программу чисто с помощъю мессаджей. подовляющее количество кодеров в обработке WM_CREATE в приложении рассчитывают на еденичную посылку этого мессаджа и не аккуратно пишет это обработчик. в коде не проверяется выделены ли какие ресурсы, а сразу начинают выделять новые. косяк!!! если ресурсы уже были выделены, то при получении повторно этого мессаджа нужно в холостую вернуться или опять выделить, но предворительно освободив выделенные для этого ресурсы. вот на этой утечке ресурсов и строиться предпологаемая атака. т.е. выделяет новые, а старые теряются и что-бы это осуществить надо как-то проталкивать жертве WM_CREATE. просто SendMessage это сделать не получается. я до этого случая и не подозревал что винда может грохать некоторые мессаджы - типа моего WM_CREATE
wsd В общем вызываешь SetWindowsHook(Ex), описание в MSDN, там есть параметр - handle модуля и указатель на ф-ию ловушки с определенной сигнатурой. Для этого перед этим пишешь Dll-ку, где экспортируешь эту-самую ф-ию ловушки. Тип ловушки - лучше всего WH_GETMESSAGE, при этом твоя ф-ия вызывается каждый раз после того, как GetMessage извлекает очередное сообщение из очереди. И уже в этой ф-ии делай, зная hwnd, посылай хоть 100000..... раз свой WM_CREATE... З.Ы Твоя проблема была в том, что в Windows с объектами-окнами некоторые операции(такие как урывание его и/или посылка WM_CREATE/WM_DESTROY) может осуществлять только поток, создавший окно, есле это не так, то ошибка будет, как ты и написал - ERROR_ACCESS_DENIED З.З.Ы Зато в винде при переходе на 32-битную платформу сохранили механизм ловушек, что позволяет иногда делать забавные вещи
zhindos с WM_CREATE да, а на счёт WM_DESTROY ты погорячился. у меня WM_DESTROY прекрасно всё чужое мочит. это я знаю и к теме это ни как не относиться может есть какой не стандартный способ послать WM_CREATE ? или тему можно грохнуть
wsd а на счёт WM_DESTROY ты погорячился. Да у меня WM_DESTROY прекрасно всё чужое мочит. А что он у тебя мочит? Это сообщение само по себе не разрушает окно, а только шлется после того, как окно разрушено ф-ией DestroyWindow. Единственное, если в его обработчике прописано что-нибудь типа PostQuitMessage или ExitProcess, что обычно пишется в WinProc-e "главного" окна приложения. может есть какой не стандартный способ послать WM_CREATE ? А это какой??? И чем тебе не нравится вышеописанный способ?
zhindos по хендлу главного окна любой заданной проги этот? и если я туда врежусь, то после этого есть миллион более коротких cпособов замачить и мессадж WM_CREATE становиться не актуальным я ищу способ именно чисто меседжом, без внедрения завалить, но похоже болт
zhindos это не единственный способ досадно что с месаджем не катит - красиво бы валились ;( исправляется этот баг реанициализации с утечкой легко, но его дочерта есть ) Спасибо за участие! Тему грохните, толку от неё 0