An simple debugger written in C++ and WinAPI. Just easy? No. It's not just easy. I was asked for AI but not all are very luck. At last point it was successfully.
Example output:
Process created.
Loaded DLL name ''
Loaded DLL name ''
Loaded DLL name 'C:\Users\asdfs\source\repos\Debugger\x64\Release\Debugger.exe'
Loaded DLL name 'C:\Users\asdfs\source\repos\Debugger\x64\Release\Debugger.exe'
Loaded DLL name 'C:\Users\asdfs\source\repos\Debugger\x64\Release\Debugger.exe'
Loaded DLL name 'C:\Users\asdfs\source\repos\Debugger\x64\Release\Debugger.exe'
Loaded DLL name 'C:\Users\asdfs\source\repos\Debugger\x64\Release\Debugger.exe'
Loaded DLL name 'C:\Users\asdfs\source\repos\Debugger\x64\Release\Debugger.exe'
Loaded DLL name 'C:\Users\asdfs\source\repos\Debugger\x64\Release\Debugger.exe'
Loaded DLL name 'C:\Users\asdfs\source\repos\Debugger\x64\Release\Debugger.exe'
Loaded DLL name 'C:\Users\asdfs\source\repos\Debugger\x64\Release\Debugger.exe'
Loaded DLL name 'C:\Users\asdfs\source\repos\Debugger\x64\Release\Debugger.exe'
Loaded DLL name 'C:\Users\asdfs\source\repos\Debugger\x64\Release\Debugger.exe'
Loaded DLL name 'C:\Users\asdfs\source\repos\Debugger\x64\Release\Debugger.exe'
Thread Address `0000000077735940` created
Loaded DLL name 'C:\Users\asdfs\source\repos\Debugger\x64\Release\Debugger.exe'
Loaded DLL name 'C:\Users\asdfs\source\repos\Debugger\x64\Release\Debugger.exe'
Thread Address `0000000077735940` created
Loaded DLL name 'C:\Users\asdfs\source\repos\Debugger\x64\Release\Debugger.exe'
Thread Address `0000000077735940` created
Loaded DLL name 'C:\Users\asdfs\source\repos\Debugger\x64\Release\Debugger.exe'
Loaded DLL name 'C:\Users\asdfs\source\repos\Debugger\x64\Release\Debugger.exe'
Loaded DLL name 'C:\Users\asdfs\source\repos\Debugger\x64\Release\Debugger.exe'
Loaded DLL name 'C:\Users\asdfs\source\repos\Debugger\x64\Release\Debugger.exe'
Exception code: 4000001f
Loaded DLL name 'C:\Users\asdfs\source\repos\Debugger\x64\Release\Debugger.exe'
Loaded DLL name 'C:\Users\asdfs\source\repos\Debugger\x64\Release\Debugger.exe'
RegQueryValueEx 1 failed: C0000034
RegQueryValueEx 2 failed: C0000034
Hook_IAT_x64_IAT(774A0000, ntdll.dll, NtCreateUserProcess, 74D82680, 74D8C054)
Hooking failed (-2).
LDNTVDM: BasepProcessInvalidImageReal = 00000000
LDNTVDM: BaseIsDosApplication = 00000000
Hook_IAT_x64_IAT(774A0000, ntdll.dll, CsrClientCallServer, 74D81FB0, 74D89008)
Hooked 777BE880 -> 74D81FB0
Hook_IAT_x64_IAT(774A0000, ntdll.dll, CsrAllocateMessagePointer, 74D82110, 00000000)
Hooked 777BE750 -> 74D82110
Hook_IAT_x64_IAT(00400000, KERNEL32.DLL, SetConsolePalette, 74D83200, 74D8C050)
Hooking failed (-1).
Hook_IAT_x64_IAT(774A0000, ntdll.dll, NtQueryInformationProcess, 74D82C10, 00000000)
Hooked 77772BC0 -> 74D82C10
Hook_IAT_x64_IAT(76560000, ntdll.dll, NtQueryInformationProcess, 74D82C10, 00000000)
Hooked 77772BC0 -> 74D82C10
ldntvdm Init done
Loaded DLL name 'C:\Users\asdfs\source\repos\Debugger\x64\Release\Debugger.exe'
Loaded DLL name 'C:\Users\asdfs\source\repos\Debugger\x64\Release\Debugger.exe'
Loaded DLL name 'C:\Users\asdfs\source\repos\Debugger\x64\Release\Debugger.exe'
Loaded DLL name 'C:\Users\asdfs\source\repos\Debugger\x64\Release\Debugger.exe'
Loaded DLL name 'C:\Users\asdfs\source\repos\Debugger\x64\Release\Debugger.exe'
Loaded DLL name 'C:\Users\asdfs\source\repos\Debugger\x64\Release\Debugger.exe'
Loaded DLL name 'C:\Users\asdfs\source\repos\Debugger\x64\Release\Debugger.exe'
Loaded DLL name 'C:\Users\asdfs\source\repos\Debugger\x64\Release\Debugger.exe'
Loaded DLL name 'C:\Users\asdfs\source\repos\Debugger\x64\Release\Debugger.exe'
Loaded DLL name 'C:\Users\asdfs\source\repos\Debugger\x64\Release\Debugger.exe'
Loaded DLL name 'C:\Users\asdfs\source\repos\Debugger\x64\Release\Debugger.exe'
Loaded DLL name 'C:\Users\asdfs\source\repos\Debugger\x64\Release\Debugger.exe'
Loaded DLL name 'C:\Users\asdfs\source\repos\Debugger\x64\Release\Debugger.exe'
Loaded DLL name 'C:\Users\asdfs\source\repos\Debugger\x64\Release\Debugger.exe'
Thread Address `0000000077735940` created
Thread Address `0000000077735940` created
Thread ID `233c` is exited with return value 0
Thread ID `1a58` is exited with return value 0
Thread ID `26f0` is exited with return value 0
Thread ID `1f24` is exited with return value 0
Thread ID `2b98` is exited with return value 0
Process exited with return value 0