turborex 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/LICENSE +674 -0
- data/README.md +38 -0
- data/README.rdoc +19 -0
- data/examples/alpc_client.rb +15 -0
- data/examples/alpc_server.rb +14 -0
- data/examples/com_client.rb +19 -0
- data/examples/com_finder.rb +39 -0
- data/examples/create_instance.rb +15 -0
- data/examples/cstruct.rb +19 -0
- data/examples/find_com_client_calls.rb +16 -0
- data/examples/find_rpc_security_callback.rb +12 -0
- data/examples/rpc_finder.rb +117 -0
- data/examples/scan_exports.rb +5 -0
- data/examples/scan_imports.rb +5 -0
- data/examples/tinysdk.rb +17 -0
- data/lib/turborex.rb +21 -0
- data/lib/turborex/cstruct.rb +565 -0
- data/lib/turborex/cstruct/struct_helper.rb +7 -0
- data/lib/turborex/exception.rb +65 -0
- data/lib/turborex/fuzzer.rb +204 -0
- data/lib/turborex/fuzzer/containers.rb +115 -0
- data/lib/turborex/fuzzer/coverage.rb +67 -0
- data/lib/turborex/fuzzer/mutators.rb +25 -0
- data/lib/turborex/fuzzer/seed.rb +30 -0
- data/lib/turborex/monkey.rb +11 -0
- data/lib/turborex/msrpc.rb +14 -0
- data/lib/turborex/msrpc/decompiler.rb +244 -0
- data/lib/turborex/msrpc/midl.rb +747 -0
- data/lib/turborex/msrpc/ndrtype.rb +167 -0
- data/lib/turborex/msrpc/rpcbase.rb +777 -0
- data/lib/turborex/msrpc/rpcfinder.rb +1426 -0
- data/lib/turborex/msrpc/utils.rb +70 -0
- data/lib/turborex/pefile.rb +8 -0
- data/lib/turborex/pefile/pe.rb +61 -0
- data/lib/turborex/pefile/scanner.rb +82 -0
- data/lib/turborex/utils.rb +321 -0
- data/lib/turborex/windows.rb +402 -0
- data/lib/turborex/windows/alpc.rb +844 -0
- data/lib/turborex/windows/com.rb +266 -0
- data/lib/turborex/windows/com/client.rb +84 -0
- data/lib/turborex/windows/com/com_finder.rb +330 -0
- data/lib/turborex/windows/com/com_registry.rb +100 -0
- data/lib/turborex/windows/com/interface.rb +522 -0
- data/lib/turborex/windows/com/utils.rb +210 -0
- data/lib/turborex/windows/constants.rb +82 -0
- data/lib/turborex/windows/process.rb +56 -0
- data/lib/turborex/windows/security.rb +12 -0
- data/lib/turborex/windows/security/ace.rb +76 -0
- data/lib/turborex/windows/security/acl.rb +25 -0
- data/lib/turborex/windows/security/security_descriptor.rb +118 -0
- data/lib/turborex/windows/tinysdk.rb +89 -0
- data/lib/turborex/windows/utils.rb +138 -0
- data/resources/headers/alpc/ntdef.h +72 -0
- data/resources/headers/alpc/ntlpcapi.h +1014 -0
- data/resources/headers/rpc/common.h +162 -0
- data/resources/headers/rpc/guiddef.h +191 -0
- data/resources/headers/rpc/internal_ndrtypes.h +262 -0
- data/resources/headers/rpc/rpc.h +10 -0
- data/resources/headers/rpc/rpcdce.h +266 -0
- data/resources/headers/rpc/rpcdcep.h +187 -0
- data/resources/headers/rpc/rpcndr.h +39 -0
- data/resources/headers/rpc/v4_x64/rpcinternals.h +154 -0
- data/resources/headers/rpc/wintype.h +517 -0
- data/resources/headers/tinysdk/tinysdk.h +5 -0
- data/resources/headers/tinysdk/tinysdk/comdef.h +645 -0
- data/resources/headers/tinysdk/tinysdk/dbghelp.h +118 -0
- data/resources/headers/tinysdk/tinysdk/guiddef.h +194 -0
- data/resources/headers/tinysdk/tinysdk/memoryapi.h +12 -0
- data/resources/headers/tinysdk/tinysdk/poppack.h +12 -0
- data/resources/headers/tinysdk/tinysdk/pshpack4.h +13 -0
- data/resources/headers/tinysdk/tinysdk/winnt.h +1059 -0
- data/resources/headers/tinysdk/tinysdk/wintype.h +326 -0
- metadata +290 -0
@@ -0,0 +1,326 @@
|
|
1
|
+
//https://docs.microsoft.com/en-us/windows/win32/winprog/windows-data-types
|
2
|
+
#define APIENTRY WINAPI
|
3
|
+
#define CONST const
|
4
|
+
#define CALLBACK __stdcall
|
5
|
+
#define WINAPI __stdcall
|
6
|
+
#define far
|
7
|
+
#define MAX_PATH 260
|
8
|
+
|
9
|
+
#if defined(_WIN64)
|
10
|
+
typedef unsigned __int64 ULONG_PTR;
|
11
|
+
#else
|
12
|
+
typedef unsigned long ULONG_PTR;
|
13
|
+
#endif
|
14
|
+
|
15
|
+
typedef unsigned short WORD;
|
16
|
+
typedef WORD ATOM;
|
17
|
+
typedef int BOOL;
|
18
|
+
typedef long NTSTATUS;
|
19
|
+
typedef unsigned char BYTE;
|
20
|
+
typedef BYTE BOOLEAN;
|
21
|
+
typedef unsigned long DWORD;
|
22
|
+
typedef char CCHAR;
|
23
|
+
typedef char CHAR;
|
24
|
+
typedef DWORD COLORREF;
|
25
|
+
typedef signed char INT8;
|
26
|
+
typedef signed short INT16;
|
27
|
+
typedef signed int INT32;
|
28
|
+
typedef signed __int64 INT64;
|
29
|
+
typedef unsigned short wchar_t; // may cause problem
|
30
|
+
typedef wchar_t WCHAR;
|
31
|
+
typedef WORD LANGID;
|
32
|
+
typedef DWORD LCID;
|
33
|
+
typedef DWORD LCTYPE;
|
34
|
+
typedef DWORD LGRPID;
|
35
|
+
typedef long LONG;
|
36
|
+
typedef short SHORT;
|
37
|
+
typedef unsigned __int64 DWORDLONG;
|
38
|
+
typedef ULONG_PTR DWORD_PTR;
|
39
|
+
typedef unsigned int DWORD32;
|
40
|
+
typedef unsigned __int64 DWORD64;
|
41
|
+
typedef float FLOAT;
|
42
|
+
typedef void *PVOID;
|
43
|
+
typedef PVOID HANDLE;
|
44
|
+
typedef HANDLE HACCEL;
|
45
|
+
typedef unsigned char UCHAR;
|
46
|
+
typedef unsigned __int64 ULONG64;
|
47
|
+
typedef unsigned short USHORT;
|
48
|
+
|
49
|
+
#ifdef _WIN64
|
50
|
+
typedef int HALF_PTR;
|
51
|
+
#else
|
52
|
+
typedef short HALF_PTR;
|
53
|
+
#endif
|
54
|
+
|
55
|
+
#ifdef _WIN64
|
56
|
+
typedef unsigned int UHALF_PTR;
|
57
|
+
#else
|
58
|
+
typedef unsigned short UHALF_PTR;
|
59
|
+
#endif
|
60
|
+
|
61
|
+
typedef HANDLE HICON;
|
62
|
+
typedef HANDLE HBITMAP;
|
63
|
+
typedef HANDLE HBRUSH;
|
64
|
+
typedef HANDLE HCOLORSPACE;
|
65
|
+
typedef HANDLE HCONV;
|
66
|
+
typedef HANDLE HCONVLIST;
|
67
|
+
typedef HICON HCURSOR;
|
68
|
+
typedef HANDLE HDC;
|
69
|
+
typedef HANDLE HDDEDATA;
|
70
|
+
typedef HANDLE HDESK;
|
71
|
+
typedef HANDLE HDROP;
|
72
|
+
typedef HANDLE HDWP;
|
73
|
+
typedef HANDLE HENHMETAFILE;
|
74
|
+
typedef int HFILE;
|
75
|
+
typedef HANDLE HFONT;
|
76
|
+
typedef HANDLE HGDIOBJ;
|
77
|
+
typedef HANDLE HGLOBAL;
|
78
|
+
typedef HANDLE HHOOK;
|
79
|
+
typedef HANDLE HINSTANCE;
|
80
|
+
typedef HANDLE HKEY;
|
81
|
+
typedef HANDLE HKL;
|
82
|
+
typedef HANDLE HLOCAL;
|
83
|
+
typedef HANDLE HMENU;
|
84
|
+
typedef HANDLE HMETAFILE;
|
85
|
+
typedef HINSTANCE HMODULE;
|
86
|
+
typedef HANDLE HMONITOR;
|
87
|
+
typedef HANDLE HPALETTE;
|
88
|
+
typedef HANDLE HPEN;
|
89
|
+
typedef LONG HRESULT;
|
90
|
+
typedef HANDLE HRGN;
|
91
|
+
typedef HANDLE HRSRC;
|
92
|
+
typedef HANDLE HSZ;
|
93
|
+
typedef HANDLE WINSTA;
|
94
|
+
typedef HANDLE HWND;
|
95
|
+
typedef int INT;
|
96
|
+
|
97
|
+
|
98
|
+
#ifdef UNICODE
|
99
|
+
typedef WCHAR TBYTE;
|
100
|
+
#else
|
101
|
+
typedef unsigned char TBYTE;
|
102
|
+
#endif
|
103
|
+
|
104
|
+
|
105
|
+
#if defined(_WIN64)
|
106
|
+
typedef __int64 INT_PTR;
|
107
|
+
#else
|
108
|
+
typedef int INT_PTR;
|
109
|
+
#endif
|
110
|
+
|
111
|
+
|
112
|
+
#if !defined(_M_IX86)
|
113
|
+
typedef __int64 LONGLONG;
|
114
|
+
#else
|
115
|
+
typedef double LONGLONG;
|
116
|
+
#endif
|
117
|
+
|
118
|
+
#if defined(_WIN64)
|
119
|
+
typedef __int64 LONG_PTR;
|
120
|
+
#else
|
121
|
+
typedef long LONG_PTR;
|
122
|
+
#endif
|
123
|
+
|
124
|
+
#ifdef UNICODE
|
125
|
+
typedef WCHAR TCHAR;
|
126
|
+
#else
|
127
|
+
typedef char TCHAR;
|
128
|
+
#endif
|
129
|
+
|
130
|
+
typedef signed int LONG32;
|
131
|
+
typedef __int64 LONG64;
|
132
|
+
typedef LONG_PTR LPARAM;
|
133
|
+
typedef BOOL far* LPBOOL;
|
134
|
+
typedef BYTE far * LPBYTE;
|
135
|
+
typedef DWORD *LPCOLORREF;
|
136
|
+
typedef CONST CHAR *LPCSTR;
|
137
|
+
|
138
|
+
#ifdef UNICODE
|
139
|
+
typedef LPCWSTR LPCTSTR;
|
140
|
+
#else
|
141
|
+
typedef LPCSTR LPCTSTR;
|
142
|
+
#endif
|
143
|
+
|
144
|
+
typedef CONST void *LPCVOID;
|
145
|
+
typedef CONST WCHAR *LPCWSTR;
|
146
|
+
typedef DWORD *LPDWORD;
|
147
|
+
typedef HANDLE *LPHANDLE;
|
148
|
+
typedef int *LPINT;
|
149
|
+
typedef long *LPLONG;
|
150
|
+
typedef CHAR *LPSTR;
|
151
|
+
typedef LONG_PTR SSIZE_T;
|
152
|
+
typedef LONG NTSTATUS;
|
153
|
+
|
154
|
+
|
155
|
+
#ifdef UNICODE
|
156
|
+
typedef LPWSTR LPTSTR;
|
157
|
+
#else
|
158
|
+
typedef LPSTR LPTSTR;
|
159
|
+
#endif
|
160
|
+
|
161
|
+
typedef void *LPVOID;
|
162
|
+
typedef WORD *LPWORD;
|
163
|
+
typedef WCHAR *LPWSTR;
|
164
|
+
typedef LONG_PTR LRESULT;
|
165
|
+
typedef ULONG_PTR SIZE_T;
|
166
|
+
typedef BOOL *PBOOL;
|
167
|
+
typedef BOOLEAN *PBOOLEAN;
|
168
|
+
typedef BYTE *PBYTE;
|
169
|
+
typedef CHAR *PCHAR;
|
170
|
+
typedef CONST CHAR *PCSTR;
|
171
|
+
|
172
|
+
#ifdef UNICODE
|
173
|
+
typedef LPCWSTR PCTSTR;
|
174
|
+
#else
|
175
|
+
typedef LPCSTR PCTSTR;
|
176
|
+
#endif
|
177
|
+
|
178
|
+
typedef CONST WCHAR *PCWSTR;
|
179
|
+
typedef DWORD *PDWORD;
|
180
|
+
typedef DWORDLONG *PDWORDLONG;
|
181
|
+
typedef DWORD_PTR *PDWORD_PTR;
|
182
|
+
typedef DWORD32 *PDWORD32;
|
183
|
+
typedef DWORD64 *PDWORD64;
|
184
|
+
typedef FLOAT *PFLOAT;
|
185
|
+
|
186
|
+
#ifdef _WIN64
|
187
|
+
typedef HALF_PTR *PHALF_PTR;
|
188
|
+
#else
|
189
|
+
typedef HALF_PTR *PHALF_PTR;
|
190
|
+
#endif
|
191
|
+
|
192
|
+
typedef HANDLE *PHANDLE;
|
193
|
+
typedef HKEY *PHKEY;
|
194
|
+
typedef int *PINT;
|
195
|
+
typedef INT_PTR *PINT_PTR;
|
196
|
+
typedef INT8 *PINT8;
|
197
|
+
typedef INT16 *PINT16;
|
198
|
+
typedef INT32 *PINT32;
|
199
|
+
typedef INT64 *PINT64;
|
200
|
+
typedef PDWORD PLCID;
|
201
|
+
typedef LONG *PLONG;
|
202
|
+
typedef LONG *PLONG;
|
203
|
+
typedef LONGLONG *PLONGLONG;
|
204
|
+
typedef LONG32 *PLONG32;
|
205
|
+
typedef LONG64 *PLONG64;
|
206
|
+
|
207
|
+
#if defined(_WIN64)
|
208
|
+
#define POINTER_32 __ptr32
|
209
|
+
#else
|
210
|
+
#define POINTER_32
|
211
|
+
#endif
|
212
|
+
|
213
|
+
#if (_MSC_VER >= 1300)
|
214
|
+
#define POINTER_64 __ptr64
|
215
|
+
#else
|
216
|
+
#define POINTER_64
|
217
|
+
#endif
|
218
|
+
|
219
|
+
#define POINTER_SIGNED __sptr
|
220
|
+
#define POINTER_UNSIGNED __uptr
|
221
|
+
typedef SHORT *PSHORT;
|
222
|
+
typedef SIZE_T *PSIZE_T;
|
223
|
+
typedef SSIZE_T *PSSIZE_T;
|
224
|
+
typedef CHAR *PSTR;
|
225
|
+
typedef TBYTE *PTBYTE;
|
226
|
+
typedef TCHAR *PTCHAR;
|
227
|
+
|
228
|
+
#ifdef UNICODE
|
229
|
+
typedef LPWSTR PTSTR;
|
230
|
+
#else
|
231
|
+
typedef LPSTR PTSTR;
|
232
|
+
#endif
|
233
|
+
|
234
|
+
typedef UCHAR *PUCHAR;
|
235
|
+
|
236
|
+
#ifdef _WIN64
|
237
|
+
typedef UHALF_PTR *PUHALF_PTR;
|
238
|
+
#else
|
239
|
+
typedef UHALF_PTR *PUHALF_PTR;
|
240
|
+
#endif
|
241
|
+
|
242
|
+
#if defined(_WIN64)
|
243
|
+
typedef unsigned __int64 UINT_PTR;
|
244
|
+
#else
|
245
|
+
typedef unsigned int UINT_PTR;
|
246
|
+
#endif
|
247
|
+
|
248
|
+
|
249
|
+
#if defined(_WIN32) || defined(_MPPC_)
|
250
|
+
|
251
|
+
// Win32 doesn't support __export
|
252
|
+
|
253
|
+
#ifdef _68K_
|
254
|
+
#define STDMETHODCALLTYPE __cdecl
|
255
|
+
#else
|
256
|
+
#define STDMETHODCALLTYPE __stdcall
|
257
|
+
#endif
|
258
|
+
#define STDMETHODVCALLTYPE __cdecl
|
259
|
+
|
260
|
+
#define STDAPICALLTYPE __stdcall
|
261
|
+
#define STDAPIVCALLTYPE __cdecl
|
262
|
+
|
263
|
+
#else
|
264
|
+
|
265
|
+
#define STDMETHODCALLTYPE __export __stdcall
|
266
|
+
#define STDMETHODVCALLTYPE __export __cdecl
|
267
|
+
|
268
|
+
#define STDAPICALLTYPE __export __stdcall
|
269
|
+
#define STDAPIVCALLTYPE __export __cdecl
|
270
|
+
|
271
|
+
#endif
|
272
|
+
|
273
|
+
typedef unsigned char UINT8;
|
274
|
+
typedef unsigned char UINT8;
|
275
|
+
typedef unsigned short UINT16;
|
276
|
+
typedef unsigned int UINT32;
|
277
|
+
typedef unsigned __int64 UINT64;
|
278
|
+
|
279
|
+
typedef unsigned long ULONG;
|
280
|
+
|
281
|
+
#if !defined(_M_IX86)
|
282
|
+
typedef unsigned __int64 ULONGLONG;
|
283
|
+
#else
|
284
|
+
typedef double ULONGLONG;
|
285
|
+
#endif
|
286
|
+
|
287
|
+
typedef unsigned int ULONG32;
|
288
|
+
|
289
|
+
typedef unsigned int UINT;
|
290
|
+
typedef UINT *PUINT;
|
291
|
+
typedef UINT_PTR *PUINT_PTR;
|
292
|
+
typedef UINT8 *PUINT8;
|
293
|
+
typedef UINT16 *PUINT16;
|
294
|
+
typedef UINT32 *PUINT32;
|
295
|
+
typedef UINT64 *PUINT64;
|
296
|
+
typedef ULONG *PULONG;
|
297
|
+
typedef ULONGLONG *PULONGLONG;
|
298
|
+
typedef ULONG_PTR *PULONG_PTR;
|
299
|
+
typedef ULONG32 *PULONG32;
|
300
|
+
typedef ULONG64 *PULONG64;
|
301
|
+
typedef USHORT *PUSHORT;
|
302
|
+
typedef WCHAR *PWCHAR;
|
303
|
+
typedef WORD *PWORD;
|
304
|
+
typedef WCHAR *PWSTR;
|
305
|
+
typedef unsigned __int64 QWORD;
|
306
|
+
typedef HANDLE SC_HANDLE;
|
307
|
+
typedef LPVOID SC_LOCK;
|
308
|
+
typedef HANDLE SERVICE_STATUS_HANDLE;
|
309
|
+
|
310
|
+
typedef WCHAR OLECHAR;
|
311
|
+
|
312
|
+
typedef OLECHAR *LPOLESTR;
|
313
|
+
typedef const OLECHAR *LPCOLESTR;
|
314
|
+
typedef OLECHAR *BSTR;
|
315
|
+
|
316
|
+
|
317
|
+
typedef struct _UNICODE_STRING {
|
318
|
+
USHORT Length;
|
319
|
+
USHORT MaximumLength;
|
320
|
+
PWSTR Buffer;
|
321
|
+
} UNICODE_STRING;
|
322
|
+
typedef UNICODE_STRING *PUNICODE_STRING;
|
323
|
+
typedef const UNICODE_STRING *PCUNICODE_STRING;
|
324
|
+
typedef LONGLONG USN;
|
325
|
+
#define VOID void
|
326
|
+
typedef UINT_PTR WPARAM;
|
metadata
ADDED
@@ -0,0 +1,290 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: turborex
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- exist
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2020-10-30 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: rex
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 2.0.11
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 2.0.11
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: docile
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 1.3.2
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 1.3.2
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rgl
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: 0.5.6
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 0.5.6
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: win32-api
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: os
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :runtime
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: shoulda
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: rdoc
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - "~>"
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '3.12'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - "~>"
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '3.12'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: bundler
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - ">="
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - ">="
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: juwelier
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - ">="
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '0'
|
132
|
+
type: :development
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - ">="
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '0'
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: simplecov
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - ">="
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: '0'
|
146
|
+
type: :development
|
147
|
+
prerelease: false
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - ">="
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: '0'
|
153
|
+
- !ruby/object:Gem::Dependency
|
154
|
+
name: pry-byebug
|
155
|
+
requirement: !ruby/object:Gem::Requirement
|
156
|
+
requirements:
|
157
|
+
- - ">="
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: '0'
|
160
|
+
type: :development
|
161
|
+
prerelease: false
|
162
|
+
version_requirements: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
164
|
+
- - ">="
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: '0'
|
167
|
+
- !ruby/object:Gem::Dependency
|
168
|
+
name: rspec
|
169
|
+
requirement: !ruby/object:Gem::Requirement
|
170
|
+
requirements:
|
171
|
+
- - ">="
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: '0'
|
174
|
+
type: :development
|
175
|
+
prerelease: false
|
176
|
+
version_requirements: !ruby/object:Gem::Requirement
|
177
|
+
requirements:
|
178
|
+
- - ">="
|
179
|
+
- !ruby/object:Gem::Version
|
180
|
+
version: '0'
|
181
|
+
description: This gem is mainly a proof of concept for the topic "Automated Hunting
|
182
|
+
for Cross-Server Xrefs in Microsoft RPC and COM" on Code Blue 2020. It is a locator
|
183
|
+
for RPC server/client routines and COM interface methods/client calls, so it can
|
184
|
+
be used to search for Cross-Server Xrefs scenes. In addition, it also has other
|
185
|
+
functions such as ALPC client/server.
|
186
|
+
email: exist_sycsec@outlook.com
|
187
|
+
executables: []
|
188
|
+
extensions: []
|
189
|
+
extra_rdoc_files:
|
190
|
+
- LICENSE
|
191
|
+
- README.md
|
192
|
+
- README.rdoc
|
193
|
+
files:
|
194
|
+
- LICENSE
|
195
|
+
- README.md
|
196
|
+
- README.rdoc
|
197
|
+
- examples/alpc_client.rb
|
198
|
+
- examples/alpc_server.rb
|
199
|
+
- examples/com_client.rb
|
200
|
+
- examples/com_finder.rb
|
201
|
+
- examples/create_instance.rb
|
202
|
+
- examples/cstruct.rb
|
203
|
+
- examples/find_com_client_calls.rb
|
204
|
+
- examples/find_rpc_security_callback.rb
|
205
|
+
- examples/rpc_finder.rb
|
206
|
+
- examples/scan_exports.rb
|
207
|
+
- examples/scan_imports.rb
|
208
|
+
- examples/tinysdk.rb
|
209
|
+
- lib/turborex.rb
|
210
|
+
- lib/turborex/cstruct.rb
|
211
|
+
- lib/turborex/cstruct/struct_helper.rb
|
212
|
+
- lib/turborex/exception.rb
|
213
|
+
- lib/turborex/fuzzer.rb
|
214
|
+
- lib/turborex/fuzzer/containers.rb
|
215
|
+
- lib/turborex/fuzzer/coverage.rb
|
216
|
+
- lib/turborex/fuzzer/mutators.rb
|
217
|
+
- lib/turborex/fuzzer/seed.rb
|
218
|
+
- lib/turborex/monkey.rb
|
219
|
+
- lib/turborex/msrpc.rb
|
220
|
+
- lib/turborex/msrpc/decompiler.rb
|
221
|
+
- lib/turborex/msrpc/midl.rb
|
222
|
+
- lib/turborex/msrpc/ndrtype.rb
|
223
|
+
- lib/turborex/msrpc/rpcbase.rb
|
224
|
+
- lib/turborex/msrpc/rpcfinder.rb
|
225
|
+
- lib/turborex/msrpc/utils.rb
|
226
|
+
- lib/turborex/pefile.rb
|
227
|
+
- lib/turborex/pefile/pe.rb
|
228
|
+
- lib/turborex/pefile/scanner.rb
|
229
|
+
- lib/turborex/utils.rb
|
230
|
+
- lib/turborex/windows.rb
|
231
|
+
- lib/turborex/windows/alpc.rb
|
232
|
+
- lib/turborex/windows/com.rb
|
233
|
+
- lib/turborex/windows/com/client.rb
|
234
|
+
- lib/turborex/windows/com/com_finder.rb
|
235
|
+
- lib/turborex/windows/com/com_registry.rb
|
236
|
+
- lib/turborex/windows/com/interface.rb
|
237
|
+
- lib/turborex/windows/com/utils.rb
|
238
|
+
- lib/turborex/windows/constants.rb
|
239
|
+
- lib/turborex/windows/process.rb
|
240
|
+
- lib/turborex/windows/security.rb
|
241
|
+
- lib/turborex/windows/security/ace.rb
|
242
|
+
- lib/turborex/windows/security/acl.rb
|
243
|
+
- lib/turborex/windows/security/security_descriptor.rb
|
244
|
+
- lib/turborex/windows/tinysdk.rb
|
245
|
+
- lib/turborex/windows/utils.rb
|
246
|
+
- resources/headers/alpc/ntdef.h
|
247
|
+
- resources/headers/alpc/ntlpcapi.h
|
248
|
+
- resources/headers/rpc/common.h
|
249
|
+
- resources/headers/rpc/guiddef.h
|
250
|
+
- resources/headers/rpc/internal_ndrtypes.h
|
251
|
+
- resources/headers/rpc/rpc.h
|
252
|
+
- resources/headers/rpc/rpcdce.h
|
253
|
+
- resources/headers/rpc/rpcdcep.h
|
254
|
+
- resources/headers/rpc/rpcndr.h
|
255
|
+
- resources/headers/rpc/v4_x64/rpcinternals.h
|
256
|
+
- resources/headers/rpc/wintype.h
|
257
|
+
- resources/headers/tinysdk/tinysdk.h
|
258
|
+
- resources/headers/tinysdk/tinysdk/comdef.h
|
259
|
+
- resources/headers/tinysdk/tinysdk/dbghelp.h
|
260
|
+
- resources/headers/tinysdk/tinysdk/guiddef.h
|
261
|
+
- resources/headers/tinysdk/tinysdk/memoryapi.h
|
262
|
+
- resources/headers/tinysdk/tinysdk/poppack.h
|
263
|
+
- resources/headers/tinysdk/tinysdk/pshpack4.h
|
264
|
+
- resources/headers/tinysdk/tinysdk/winnt.h
|
265
|
+
- resources/headers/tinysdk/tinysdk/wintype.h
|
266
|
+
homepage: http://github.com/existXFx/turborex
|
267
|
+
licenses:
|
268
|
+
- GPLv3
|
269
|
+
metadata: {}
|
270
|
+
post_install_message:
|
271
|
+
rdoc_options: []
|
272
|
+
require_paths:
|
273
|
+
- lib
|
274
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
275
|
+
requirements:
|
276
|
+
- - ">="
|
277
|
+
- !ruby/object:Gem::Version
|
278
|
+
version: '0'
|
279
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
280
|
+
requirements:
|
281
|
+
- - ">="
|
282
|
+
- !ruby/object:Gem::Version
|
283
|
+
version: '0'
|
284
|
+
requirements: []
|
285
|
+
rubyforge_project:
|
286
|
+
rubygems_version: 2.6.14.4
|
287
|
+
signing_key:
|
288
|
+
specification_version: 4
|
289
|
+
summary: A toolkit for exploring and exploiting MSRPC and COM.
|
290
|
+
test_files: []
|