39{
43
44 if (SplitCommand.size() >= 2)
45 {
48 return;
49 }
50
51
52
53
55
56
57
58
60
61
62
63
64 Status = DeviceIoControl(
67
68 &UnhideRequest,
70 &UnhideRequest,
72
73 &ReturnedLength,
74 NULL
75 );
76
77 if (!Status)
78 {
79 ShowMessages(
"ioctl failed with code 0x%x\n", GetLastError());
80 return;
81 }
82
84 {
85 ShowMessages(
"transparent debugging successfully disabled :)\n");
86 }
89 {
91 }
92 else
93 {
95 }
96}
UCHAR BOOLEAN
Definition BasicTypes.h:39
#define FALSE
Definition BasicTypes.h:54
unsigned long ULONG
Definition BasicTypes.h:37
#define DEBUGGER_ERROR_DEBUGGER_ALREADY_UHIDE
error, the debugger is already in transparent-mode
Definition ErrorCodes.h:93
#define DEBUGGER_OPERATION_WAS_SUCCESSFUL
General value to indicate that the operation or request was successful.
Definition ErrorCodes.h:23
#define IOCTL_DEBUGGER_HIDE_AND_UNHIDE_TO_TRANSPARENT_THE_DEBUGGER
ioctl, request to enable or disable transparent-mode
Definition Ioctls.h:120
#define SIZEOF_DEBUGGER_HIDE_AND_TRANSPARENT_DEBUGGER_MODE
Definition RequestStructures.h:541
HANDLE g_DeviceHandle
Holds the global handle of device which is used to send the request to the kernel by IOCTL,...
Definition globals.h:471
VOID ShowMessages(const char *Fmt,...)
Show messages.
Definition libhyperdbg.cpp:96
request for enable or disable transparent-mode
Definition RequestStructures.h:549
UINT64 KernelStatus
Definition RequestStructures.h:565
BOOLEAN IsHide
Definition RequestStructures.h:550
VOID CommandUnhideHelp()
help of the !unhide command
Definition unhide.cpp:20