CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutSign UpSign In
rapid7

Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.

GitHub Repository: rapid7/metasploit-framework
Path: blob/master/external/source/byakugan/stdwindbg.h
Views: 11766
1
struct typeNode {
2
ULONG bpid;
3
char *name;
4
5
typeNode *next;
6
};
7
8
BOOL disableFunctionFalse(char *);
9
ULONG64 resolveFunctionByName(char *);
10
BOOL detectCallByName(char *, char *);
11
PDEBUG_BREAKPOINT detectExecByAddr(ULONG64, char *);
12
PDEBUG_BREAKPOINT detectReadByAddr(ULONG64, char *);
13
PDEBUG_BREAKPOINT detectWriteByAddr(ULONG64, char *);
14
DWORD parseHexInput(char *, DWORD, char *);
15
DWORD readFileIntoBuf(char *, DWORD, char **, DWORD);
16
17
class detectionCallBack : public IDebugEventCallbacks {
18
public:
19
typeNode *type;
20
LONG count;
21
22
HRESULT __stdcall QueryInterface(const IID &, PVOID *);
23
ULONG __stdcall AddRef(void);
24
ULONG __stdcall Release(void);
25
26
detectionCallBack();
27
28
HRESULT __stdcall Breakpoint(PDEBUG_BREAKPOINT bp);
29
HRESULT __stdcall GetInterestMask(PULONG mask);
30
HRESULT __stdcall Exception(PEXCEPTION_RECORD64 exception, ULONG firstChance);
31
HRESULT __stdcall CreateThread(ULONG64 handle, ULONG64 dataOffset, ULONG64 startOffset);
32
HRESULT __stdcall ExitThread(ULONG exitCode);
33
HRESULT __stdcall CreateProcess(
34
ULONG64 imageFileHandle,
35
ULONG64 handle,
36
ULONG64 baseOffset,
37
ULONG moduleSize,
38
PCSTR moduleName,
39
PCSTR imageName,
40
ULONG checkSum,
41
ULONG timeDateStamp,
42
ULONG64 initialThreadHandle,
43
ULONG64 threadDataOffset,
44
ULONG64 startOffset);
45
HRESULT __stdcall ExitProcess(ULONG exitCode);
46
HRESULT __stdcall LoadModule(
47
ULONG64 imageFileHandle,
48
ULONG64 baseOffset,
49
ULONG moduleSize,
50
PCSTR moduleName,
51
PCSTR imageName,
52
ULONG checkSum,
53
ULONG timeDateStamp);
54
HRESULT __stdcall UnloadModule(PCSTR imageBaseName, ULONG64 baseOffset);
55
HRESULT __stdcall SystemError(ULONG error, ULONG level);
56
HRESULT __stdcall SessionStatus(ULONG status);
57
HRESULT __stdcall ChangeDebuggeeState(ULONG flags, ULONG64 argument);
58
HRESULT __stdcall ChangeEngineState(ULONG flags, ULONG64 argument);
59
HRESULT __stdcall ChangeSymbolState(ULONG flags, ULONG64 argument);
60
void addType(ULONG, char *);
61
void recTypeNuke(typeNode *);
62
~detectionCallBack();
63
};
64
65
struct debugClientNode {
66
PDEBUG_CLIENT debugClient;
67
detectionCallBack *dcb;
68
struct debugClientNode *next;
69
};
70
71
72