GET /api/techniques/71/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, DELETE, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 71,
    "key": "unhandled-exception-filter",
    "unprotect_id": "U0108, B0001.030",
    "name": "Unhandled Exception Filter",
    "description": "An application-defined function that passes unhandled exceptions to the debugger, if the process is being debugged. Otherwise, it optionally displays an application error message box and causes the exception handler to be executed.\r\n\r\nIf an exception occurs and no exception handler is registered, the `UnhandledExceptionFilter` function will be called. It is possible to register a custom unhandled exception filter using the `SetUnhandledExceptionFilter`. But if the program is running under a debugger, the custom filter won’t be called, and the exception will be passed to the debugger. \r\n\r\nTherefore, if the unhandled exception filter is registered and the control is passed to it, then the process is not running with a debugger.",
    "resources": "https://evilcodecave.wordpress.com/2008/07/24/setunhandledexception-filter-anti-debug-trick/\nhttps://anti-debug.checkpoint.com/techniques/exceptions.html",
    "creation_date": "2019-03-18T13:42:14Z",
    "tags": "exception",
    "modification_date": "2023-10-04T10:43:55.620000Z",
    "category": [
        3
    ],
    "rules": [
        71
    ],
    "attachments": [],
    "featured_api": [
        394,
        403
    ],
    "contributors": []
}