сегодня случайно обнаружил интиресную штуку, которую можно использовать как простой антиотладочный приём: если из списков загруженых модулей процесса удалить инфу о главном модуле, то такой процесс становится невидимым для ольки, вобщем код лучше всяких слов =) Код (Text): #include <windows.h> #include "ntdll.h" #pragma comment(linker,"/ENTRY:xWinMain") PVOID GetPEB(void) { PVOID PebBase = NULL; __asm { push eax mov eax,FS:[0x30] mov PebBase,eax pop eax } return PebBase; } void CleanLoadModuleList(PLIST_ENTRY pModuleListHead) { PLIST_ENTRY pModuleListPtr = pModuleListHead->Flink; (pModuleListPtr->Blink)->Flink = pModuleListPtr->Flink; (pModuleListPtr->Flink)->Blink = pModuleListPtr->Blink; } void FuckupPEB(void) { PPEB pPeb = (PPEB)GetPEB(); ZeroMemory(pPeb->ProcessParameters->CommandLine.Buffer, pPeb->ProcessParameters->CommandLine.Length); ZeroMemory(pPeb->ProcessParameters->ImagePathName.Buffer, pPeb->ProcessParameters->ImagePathName.Length); CleanLoadModuleList(&pPeb->Ldr->ModuleListMemoryOrder); CleanLoadModuleList(&pPeb->Ldr->ModuleListInitOrder); CleanLoadModuleList(&pPeb->Ldr->ModuleListLoadOrder); } int APIENTRY xWinMain(void) { FuckupPEB(); MessageBox(0, "try to attach to this process in OllyDBG", "hek =/", 0); return 0; } собраный бинарник http://cr4sh.0x48k.cc/olly_fun.exe UPD: не ругайте, если боян =)