VAR remotedebugger
VAR is_debugger_present
VAR create_toolhelp
VAR nt_query_info_process
GPA "CheckRemoteDebuggerPresent", "kernel32"
MOV remotedebugger, $RESULT
GPA "IsDebuggerPresent", "kernel32"
MOV is_debugger_present, $RESULT
GPA "CreateToolhelp32Snapshot", "kernel32"
MOV create_toolhelp, $RESULT
GPA "NtQueryInformationProcess", "ntdll"
MOV nt_query_info_process, $RESULT
CMP remotedebugger, 0
JE api_not_found
BP remotedebugger
CMT remotedebugger, "CheckRemoteDebuggerPresent"
CMP is_debugger_present, 0
JE api_not_found
BP is_debugger_present
CMT is_debugger_present, "IsDebuggerPresent"
CMP create_toolhelp, 0
JE api_not_found
BP create_toolhelp
CMT create_toolhelp, "CreateToolhelp32Snapshot"
CMP nt_query_info_process, 0
JE api_not_found
BP nt_query_info_process
CMT nt_query_info_process, "NtQueryInformationProcess"
MSG "All APIs have been located and broken on"
JMP the_end
api_not_found:
MSG "There was a problem finding one or more APIs, check the breakpoint list"
the_end:
RET
Comments