Code injected into a legitimate process destabilising it.
What gives it awayCrashes in a normally stable application with an unfamiliar faulting module, particularly one loaded from a user or temp directory.
ATT&CK T1055Nothing matches that yet. Tell us what you were looking for and it goes on the list.
Windows Application Log · Event 1000
A program stopped working. The event names the crashing program, the component it died inside, and the exception code — and the faulting module is usually the field that identifies the real culprit rather than the application you were using.
Also written as Application Error 1000Event ID 1000Faulting application nameapp crash event id
A program crashed. The important line is the faulting module — that is the specific file that failed, and it is often not the program you were running. If it names a graphics driver or an add-on, that is what needs updating.
Group by faulting module rather than by application when triaging fleet-wide; a single bad shell extension or driver produces crashes across many unrelated programs. The exception code separates access violations from stack overflows from managed exceptions, which changes the investigation entirely.
Sanitised. Addresses come from the RFC 5737 documentation ranges.
Faulting application name: notepad.exe, version: 10.0.19041.1, time stamp: 0x00000000
Faulting module name: ntdll.dll, version: 10.0.19041.1, time stamp: 0x00000000
Exception code: 0xc0000005
Fault offset: 0x000000000004f1c2
Faulting process id: 0x1cf4
Faulting application start time: 0x01dcf000a1b2c3d4
Faulting application path: C:\Windows\System32\notepad.exe
Faulting module path: C:\Windows\SYSTEM32\ntdll.dll
Report Id: 0a1b2c3d-0000-0000-0000-00000000abcd Everything else in the log line is context.
The same name as the applicationThe program crashed in its own code. A bug in that software. ntdll.dllA generic Windows component, which usually means the real fault is elsewhere — often memory corruption or a third-party add-on. KERNELBASE.dllTypically a managed or unhandled exception surfacing here rather than a fault in the file itself. A graphics driver fileA display driver fault. Update or roll back the driver. An unfamiliar third-party DLLA shell extension, add-on, or injected component. Frequently the actual culprit. 0xc0000005Access violation — the program touched memory it should not have. The most common by a wide margin. 0xc0000374Heap corruption. Often caused by a component other than the crashing program. 0xe0434352An unhandled .NET exception. The application's own logs will say more than this event does. 0xc00000fdStack overflow, typically runaway recursion. 0x80000003A breakpoint, which usually means a debug build or something attached to the process. Most of the time it is one of these.
What gives it awayCrashes in a normally stable application with an unfamiliar faulting module, particularly one loaded from a user or temp directory.
ATT&CK T1055What gives it awayRepeated access violations in an application that handles untrusted input — a browser, a document reader, a network service — often at a consistent fault offset.
ATT&CK T1203What gives it awayRepeated crashes of an antivirus or EDR component, especially alongside other unusual activity on the host.
ATT&CK T1562.001Get-WinEvent -FilterHashtable @{LogName='Application'; ProviderName='Application Error'; Id=1000} -MaxEvents 50 | Select-Object TimeCreated, Message | Format-List Event | where EventLog == 'Application' and Source == 'Application Error' and EventID == 1000 | extend App = extract(@'Faulting application name: (\S+)', 1, RenderedDescription), Module = extract(@'Faulting module name: (\S+)', 1, RenderedDescription) | summarize crashes = count(), apps = dcount(App) by Module | order by crashes desc index=wineventlog sourcetype=WinEventLog:Application EventCode=1000 | rex "Faulting module name: (?<module>\S+)" | stats count dc(host) as hosts by module | sort -count An access violation — the program tried to read or write memory it was not allowed to touch. It is by far the most common application crash, and it usually means a bug in the faulting module rather than anything about your machine. If it repeats in the same module, that module is what needs updating or removing.
Almost never. ntdll.dll is a core Windows component that nearly everything calls, so faults frequently surface there even when the real cause is elsewhere — commonly memory corruption caused by a third-party add-on or shell extension. Look at which applications are crashing and what they have in common rather than at ntdll itself.
Read the faulting module name in the event; it is the specific file that failed. If it belongs to the application, look for an update from its vendor. If it is a third-party DLL, try the program with add-ons disabled. If it is a driver file, update or roll back that driver. The Report Id also links to a dump file, if one was written, which will name the exact function.
1000 in the Application log means one program crashed while Windows kept running. 1001 in the System log, from the WER-SystemErrorReporting provider, means the whole machine blue-screened. They share a number but nothing else, so always check which log and which provider you are looking at.
Last reviewed 28 August 2026