DOT MATRIX WITH STEREO SOUND
BATTERY
    _    _   _ _____ ___        _    _   _    _    _  __   _______ ___ ____
   / \  | \ | |_   _|_ _|      / \  | \ | |  / \  | | \ \ / / _____|_ _/ ___|
  / _ \ |  \| | | |  | |_____ / _ \ |  \| | / _ \ | |  \ V /\___ \ | |\___ \
 / ___ \| |\  | | |  | |_____/ ___ \| |\  |/ ___ \| |___| |  ___) || | ___) |
/_/   \_\_| \_| |_| |___|   /_/   \_\_| \_/_/   \_\_____|_| |____/___|____/
ANTI-ANALYSIS TECHNIQUE COLLECTION
- 72 techniques for the curious mind -
72
TECHNIQUES
59
ANTI-DEBUG
13
ANTI-SANDBOX
> ABOUT
A collection of real-world anti-analysis techniques discovered during malware research and reverse engineering. Each technique is implemented as a standalone proof-of-concept in C with source code, build instructions, and documentation.

Purpose: Educational resource for security researchers, malware analysts, and reverse engineers.
Platform: Windows | Language: C | License: MIT
!! FOR EDUCATIONAL AND RESEARCH PURPOSES ONLY !!
Do not use these techniques for malicious purposes.

cat techniques/anti-sandbox.db

ANTI-SANDBOX :: 13 techniques


ANTI-SANDBOX
IDTechniqueDescription
AS001SetErrorModeDetects sandbox by inspecting SetErrorMode behavior for hooks
AS002ForcedRaceConditionSleepForces race condition to detect changes in sleep() behavior
AS003CheckProcessListScans process list for known analysis tool names
AS004CheckLoadedModulesDetects injected DLLs from analysis tools in current process
AS005CheckRegistryKeysSearches Windows Registry for VM-related device names
AS006CopyOfNtdllLoads clean ntdll.dll copy to bypass hooked functions
AS007SetTimerUses message-driven timer to bypass sandbox time acceleration
AS008BlockInputDetects API hooking by analyzing BlockInput behavior
AS009NtDelayExecutionEvades sandbox analysis by introducing long execution delays via native API
AS010WaitForSingleObjectUses event synchronization timeout to bypass sandbox time acceleration
AS011CreateWaitableTimerUses high-resolution waitable timer to evade sandbox time acceleration
AS012CreateTimerQueueTimerUses timer queue callbacks to bypass sandbox time acceleration
AS013SleepLoopEvades sandbox time acceleration by splitting delay into many short Sleep calls

cat techniques/anti-debugging.db

ANTI-DEBUGGING :: 59 techniques


ANTI-DEBUGGING
IDTechniqueDescription
--- PEB & Process Info ---
AD001CheckProcessDebugPortQueries ProcessDebugPort via NtQueryInformationProcess
AD002IsDebuggerPresentChecks PEB debug flag using IsDebuggerPresent API
AD003CheckRemoteDebuggerPresentDetects debugger attached to specific process
AD004ProcessDebugObjectHandleQueries ProcessDebugObjectHandle to detect debugging
AD005CheckPEBDirectly inspects debug flags in PEB structure
AD015NtQueryObjectEnumerates object types looking for DebugObject
AD040ProcessDebugFlagsQueries ProcessDebugFlags via NtQueryInformationProcess
AD041NtGlobalFlagChecks PEB NtGlobalFlag for heap debugging flags set by debugger
AD042HeapFlagsInspects heap Flags and ForceFlags for debugger-set values
AD047SystemKernelDebuggerInformationDetects kernel-mode debuggers by querying system kernel debugger flags
AD050KUSER_SHARED_DATAReads KdDebuggerEnabled from KUSER_SHARED_DATA to detect kernel debugger
AD051HEAP_TAIL_CHECKING_ENABLEDDetects debugger by checking for 0xABABABAB heap tail sentinel
--- Exception-Based ---
AD006SetUnhandledExceptionFilterDetects debugger takeover of exception handling chain
AD007CloseHandleChecks if CloseHandle raises exception on invalid handle
AD008SetHandleInformationAbuses HANDLE_FLAG_PROTECT_FROM_CLOSE to detect debugger
AD011DbgPrintDetects debugger via DbgPrint exception behavior
AD016RaiseExceptionRaises DBG_CONTROL_C to detect exception interception
AD023INT3Uses vectored exception handler with INT3 instruction
AD024INT3 Long FormUses long form of INT3 (0xCD03) for detection
AD025INT 2DKernel debugger interrupt for detection
AD026INT1 ICEBPUses ICEBP instruction (0xF1) for detection
AD027INT1 Long FormTwo-byte form of INT 1 (0xCD01) for detection
AD028POPFD Trap FlagManipulates Trap Flag via POPFD to trigger single-step
AD029INT1 with PrefixesUses instruction prefixes before ICEBP
AD052Instruction CountingDetects debugger by counting HW breakpoint single-step exceptions
AD053Stack Segment RegisterDetects single-stepping debugger via SS register trap inhibit
AD054EnumWindowsProcDetects debuggers by enumerating windows with known tool titles
AD055DbgSetDebugFilterStateDetects kernel debugger via NtSetDebugFilterState success status
--- Memory & Breakpoints ---
AD012GetWriteWatchMonitors protected memory for debugger modifications
AD017SoftwareBreakpointScans function memory for breakpoints (0xCC)
AD018AntiStepOverChecks for breakpoint at function return address
AD019MemoryBreakpointUses guard page exception to detect debugger
AD020NtQueryVirtualMemoryChecks working set page attributes for modifications
AD045CodeChecksumContinuously monitors function checksums to detect breakpoints
AD049DetectAPIPatchDetects debugger by comparing API function bytes across processes
--- Self-Protection ---
AD014NtSetInformationThreadHides thread from debugger using ThreadHideFromDebugger
AD021DbgBreakPoint PatchPatches DbgBreakPoint to prevent debugger attachment
AD022DbgUiRemoteBreakin HookPatches DbgUiRemoteBreakin to block debugger attachment
AD030Self-DebuggingAttempts to debug itself to detect existing debugger
AD034SwitchDesktopHides process from debugger by switching to a new desktop
--- Timing-Based ---
AD035GetLocalTimeDetects debugger by measuring elapsed time of a workload
AD036GetSystemTimeDetects debugger via UTC timing analysis of a workload
AD037GetTickCountDetects debugger by comparing millisecond tick counts
AD038QueryPerformanceCounterDetects debugger using high-resolution performance counter
AD039timeGetTimeDetects debugger using multimedia timer elapsed time
AD043RDTSCDetects debugger using CPU timestamp counter cycle measurement
--- Other Detection ---
AD009RtlQueryProcessHeapInformationDetects debugger by examining heap flags
AD010RtlQueryProcessDebugInformationChecks heap flags via RtlQueryProcessDebugInformation
AD013GetThreadContextInspects hardware breakpoint registers (Dr0-Dr7)
AD031GenerateConsoleCtrlEventDetects debugger by checking console control event handling
AD032GetShellWindowCompares parent PID against Explorer to detect abnormal exec
AD033FindWindowDetects debuggers by searching for known window class names
AD044OpenProcess CSRSSDetects elevated debugger by attempting to open csrss.exe
AD046CreateFileA ExclusiveDetects debugger by attempting exclusive file access on executable
AD048LoadLibraryDetects debugger via file handle behavior after LoadLibraryA
AD056SwitchToThreadDetects debugger by exploiting thread scheduler behavior during single-stepping
AD057TLS CallbackExecutes code before main entry point using Thread Local Storage callbacks
AD058Process JobDetects debuggers by enumerating processes in the job object
AD059WudfIsAnyDebuggerPresentDetects debugger via undocumented UMDF platform API in WudfPlatform.dll

cat /etc/motd



YOU ARE PLAYER #000000 SINCE 1989

[ GITHUB ]  |  [ CONTACT ]

<-- BEST VIEWED ON GAME BOY DMG-01 -->
Nintendo GAME BOY™
B
A
SELECT
START