Приветствую! Возникла такая проблема, глобально перехватываю api вызовы...А именно добавление пользователя - NetUserAdd, если добавлять через панель управления, то все нормально отлавливается, а если через командную строку - net user /add username password, то ничего не отлавливается. Кто-нибудь сталкивался с подобной проблемой, как ее решить? P.S. Глобальный перехват делал по Рихтеру.
Наверно дело в том, что твоя длл инжектится только в gui-приложения, если ты делал перехват через SetWindowsHook
dev попробуй через HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows\AppInit_DLLs
dev Вроде бы в AppInitdll можно прописать, по идее должно подгружаться только к тем приложениям где есть импорты user32, но на практике вроде ко всем грузится, хотя за последнее не ручаюсь, сам где-то прочитал не помню где =), ну или руками во все процессы удаленным потоком + хук на CreateProcess =) upd опоздал =)
причем тут окно то, непонял, я писал про хук CreateProcess в cmd лучше не мучаться и сделать через AppInit_Dlls, но такой метод палиться всем, если ты чето нехорошее пишешь конечно
Прописал по ключю свою длл, теперь выдает при запуске любого приложения "Ошибка при инициализации приложения (0xc0000005). Для выхода из приложения нажмите кнопку "Ок"."))...
код длл должен быть таким: Код (Text): BOOL APIENTRY DllMain(HANDLE hModule,DWORD ul_reason_for_call,LPVOID lpReserved) { if ( ul_reason_for_call == DLL_PROCESS_ATTACH ) { MessageBoxA( 0, "laod", "load", 0 ); } if ( ul_reason_for_call == DLL_PROCESS_DETACH ) { MessageBoxA( 0, "unlaod", "unload", 0 ); } return true; }