├── Net Package
├── Net Package.vcxproj
├── Net Package.vcxproj.filters
└── Win7Debug
│ ├── Inf2Cat.command.1.tlog
│ ├── Net Package.log
│ ├── Net Package.tlog
│ ├── Net Package.lastbuildstate
│ └── unsuccessfulbuild
│ ├── inf2cat-expand.3892.read.1.tlog
│ ├── inf2cat-expand.3892.write.1.tlog
│ ├── inf2cat-expand.read.1.tlog
│ ├── inf2cat-expand.write.1.tlog
│ ├── inf2cat.read.1.tlog
│ ├── inf2cat.write.1.tlog
│ ├── inf2cat.write.7.tlog
│ └── inf2catOutput.log
├── Net.sdf
├── Net.sln
├── Net.v12.suo
├── Net
├── Net.inf
├── Net.vcxproj
├── Net.vcxproj.filters
├── Win7Debug
│ ├── Net.Build.CppClean.log
│ ├── Net.inf
│ ├── Net.log
│ ├── Net.tlog
│ │ ├── CL.read.1.tlog
│ │ ├── CL.write.1.tlog
│ │ ├── Net.lastbuildstate
│ │ ├── cl.command.1.tlog
│ │ ├── link.command.1.tlog
│ │ ├── link.read.1.tlog
│ │ └── link.write.1.tlog
│ ├── driver.obj
│ ├── signtool.command.1.tlog
│ ├── signtool.read.1.tlog
│ ├── signtool.write.1.tlog
│ ├── stampinf.command.1.tlog
│ ├── stampinf.read.1.tlog
│ ├── stampinf.write.1.tlog
│ └── vc120.pdb
└── driver.c
├── README.md
└── Win7Debug
├── Net Package
├── Net.inf
└── Net.sys
├── Net.cer
└── Net.inf
/Net Package/Net Package.vcxproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Win8.1 Debug
6 | Win32
7 |
8 |
9 | Win8.1 Release
10 | Win32
11 |
12 |
13 | Win8 Debug
14 | Win32
15 |
16 |
17 | Win8 Release
18 | Win32
19 |
20 |
21 | Win7 Debug
22 | Win32
23 |
24 |
25 | Win7 Release
26 | Win32
27 |
28 |
29 | Win8.1 Debug
30 | x64
31 |
32 |
33 | Win8.1 Release
34 | x64
35 |
36 |
37 | Win8 Debug
38 | x64
39 |
40 |
41 | Win8 Release
42 | x64
43 |
44 |
45 | Win7 Debug
46 | x64
47 |
48 |
49 | Win7 Release
50 | x64
51 |
52 |
53 |
54 | {9E6E1E3E-0DA1-4452-A7D4-38584A6FE3EC}
55 | {4605da2c-74a5-4865-98e1-152ef136825f}
56 | v4.5
57 | 11.0
58 | Win8.1 Debug
59 | Win32
60 | Net_Package
61 |
62 |
63 |
64 | WindowsV6.3
65 | true
66 | WindowsKernelModeDriver8.1
67 | Utility
68 | Package
69 | true
70 |
71 |
72 | WindowsV6.3
73 | false
74 | WindowsKernelModeDriver8.1
75 | Utility
76 | Package
77 | true
78 |
79 |
80 | Windows8
81 | true
82 | WindowsKernelModeDriver8.1
83 | Utility
84 | Package
85 | true
86 |
87 |
88 | Windows8
89 | false
90 | WindowsKernelModeDriver8.1
91 | Utility
92 | Package
93 | true
94 |
95 |
96 | Windows7
97 | true
98 | WindowsKernelModeDriver8.1
99 | Utility
100 | Package
101 | true
102 |
103 |
104 | Windows7
105 | false
106 | WindowsKernelModeDriver8.1
107 | Utility
108 | Package
109 | true
110 |
111 |
112 | WindowsV6.3
113 | true
114 | WindowsKernelModeDriver8.1
115 | Utility
116 | Package
117 | true
118 |
119 |
120 | WindowsV6.3
121 | false
122 | WindowsKernelModeDriver8.1
123 | Utility
124 | Package
125 | true
126 |
127 |
128 | Windows8
129 | true
130 | WindowsKernelModeDriver8.1
131 | Utility
132 | Package
133 | true
134 |
135 |
136 | Windows8
137 | false
138 | WindowsKernelModeDriver8.1
139 | Utility
140 | Package
141 | true
142 |
143 |
144 | Windows7
145 | true
146 | WindowsKernelModeDriver8.1
147 | Utility
148 | Package
149 | true
150 |
151 |
152 | Windows7
153 | false
154 | WindowsKernelModeDriver8.1
155 | Utility
156 | Package
157 | true
158 |
159 |
160 |
161 |
162 |
163 |
164 |
165 |
166 |
167 |
168 | DbgengKernelDebugger
169 | False
170 | True
171 |
172 |
173 |
174 | False
175 | False
176 | True
177 |
178 | 133563
179 |
180 |
181 | DbgengKernelDebugger
182 | False
183 | True
184 |
185 |
186 |
187 | False
188 | False
189 | True
190 |
191 | 133563
192 |
193 |
194 | DbgengKernelDebugger
195 | False
196 | True
197 |
198 |
199 |
200 | False
201 | False
202 | True
203 |
204 | 133563
205 |
206 |
207 | DbgengKernelDebugger
208 | False
209 | True
210 |
211 |
212 |
213 | False
214 | False
215 | True
216 |
217 | 133563
218 |
219 |
220 | DbgengKernelDebugger
221 | False
222 | True
223 |
224 |
225 |
226 | False
227 | False
228 | True
229 |
230 | 133563
231 |
232 |
233 | DbgengKernelDebugger
234 | False
235 | True
236 |
237 |
238 |
239 | False
240 | False
241 | True
242 |
243 | 133563
244 |
245 |
246 | DbgengKernelDebugger
247 | False
248 | True
249 |
250 |
251 |
252 | False
253 | False
254 | True
255 |
256 | 133563
257 |
258 |
259 | DbgengKernelDebugger
260 | False
261 | True
262 |
263 |
264 |
265 | False
266 | False
267 | True
268 |
269 | 133563
270 |
271 |
272 | DbgengKernelDebugger
273 | False
274 | True
275 |
276 |
277 |
278 | False
279 | False
280 | True
281 |
282 | 133563
283 |
284 |
285 | DbgengKernelDebugger
286 | False
287 | True
288 |
289 |
290 |
291 | False
292 | False
293 | True
294 |
295 | 133563
296 |
297 |
298 | DbgengKernelDebugger
299 | False
300 | True
301 |
302 |
303 |
304 | False
305 | False
306 | True
307 |
308 | 133563
309 |
310 |
311 | DbgengKernelDebugger
312 | False
313 | True
314 |
315 |
316 |
317 | False
318 | False
319 | True
320 |
321 | 133563
322 |
323 |
324 |
325 |
326 |
327 |
328 | {a2c38f6b-d897-434d-86f2-bd4a9fd114b4}
329 |
330 |
331 |
332 |
333 |
334 |
--------------------------------------------------------------------------------
/Net Package/Net Package.vcxproj.filters:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {8E41214B-6785-4CFE-B992-037D68949A14}
6 | inf;inv;inx;mof;mc;
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Net Package/Win7Debug/Inf2Cat.command.1.tlog:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexvogt91/NetDriver/c3074576202a3e49c65ad80b391a5579f8001f7a/Net Package/Win7Debug/Inf2Cat.command.1.tlog
--------------------------------------------------------------------------------
/Net Package/Win7Debug/Net Package.log:
--------------------------------------------------------------------------------
1 | Build started 07/06/2018 16:35:31.
2 | 1>Project "C:\Users\KiSystem\Desktop\Net\Net Package\Net Package.vcxproj" on node 2 (Build target(s)).
3 | 1>Inf2Cat:
4 | C:\Program Files (x86)\Windows Kits\8.1\bin\x86\inf2cat.exe /os:7_x86 /driver:"C:\Users\KiSystem\Desktop\Net\Win7Debug\Net Package\\"
5 | ........................
6 | Signability test failed.
7 |
8 | Errors:
9 | 22.9.4: Bad file name for catalogfile from [Version] section in \net.inf
10 |
11 | Warnings:
12 | None
13 | 1>Win7Debug\inf2catOutput.log : Inf2Cat error -2: "Inf2Cat, signability test failed." Double click to see the tool output.
14 | 1>Done Building Project "C:\Users\KiSystem\Desktop\Net\Net Package\Net Package.vcxproj" (Build target(s)) -- FAILED.
15 |
16 | Build FAILED.
17 |
18 | Time Elapsed 00:00:00.67
19 |
--------------------------------------------------------------------------------
/Net Package/Win7Debug/Net Package.tlog/Net Package.lastbuildstate:
--------------------------------------------------------------------------------
1 | #TargetFrameworkVersion=v4.5:PlatformToolSet=WindowsKernelModeDriver8.1:EnableManagedIncrementalBuild=false:VCToolArchitecture=Native32Bit
2 | Win7 Debug|Win32|C:\Users\KiSystem\Desktop\Net\|
3 |
--------------------------------------------------------------------------------
/Net Package/Win7Debug/Net Package.tlog/unsuccessfulbuild:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexvogt91/NetDriver/c3074576202a3e49c65ad80b391a5579f8001f7a/Net Package/Win7Debug/Net Package.tlog/unsuccessfulbuild
--------------------------------------------------------------------------------
/Net Package/Win7Debug/inf2cat-expand.3892.read.1.tlog:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexvogt91/NetDriver/c3074576202a3e49c65ad80b391a5579f8001f7a/Net Package/Win7Debug/inf2cat-expand.3892.read.1.tlog
--------------------------------------------------------------------------------
/Net Package/Win7Debug/inf2cat-expand.3892.write.1.tlog:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexvogt91/NetDriver/c3074576202a3e49c65ad80b391a5579f8001f7a/Net Package/Win7Debug/inf2cat-expand.3892.write.1.tlog
--------------------------------------------------------------------------------
/Net Package/Win7Debug/inf2cat-expand.read.1.tlog:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexvogt91/NetDriver/c3074576202a3e49c65ad80b391a5579f8001f7a/Net Package/Win7Debug/inf2cat-expand.read.1.tlog
--------------------------------------------------------------------------------
/Net Package/Win7Debug/inf2cat-expand.write.1.tlog:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexvogt91/NetDriver/c3074576202a3e49c65ad80b391a5579f8001f7a/Net Package/Win7Debug/inf2cat-expand.write.1.tlog
--------------------------------------------------------------------------------
/Net Package/Win7Debug/inf2cat.read.1.tlog:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexvogt91/NetDriver/c3074576202a3e49c65ad80b391a5579f8001f7a/Net Package/Win7Debug/inf2cat.read.1.tlog
--------------------------------------------------------------------------------
/Net Package/Win7Debug/inf2cat.write.1.tlog:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexvogt91/NetDriver/c3074576202a3e49c65ad80b391a5579f8001f7a/Net Package/Win7Debug/inf2cat.write.1.tlog
--------------------------------------------------------------------------------
/Net Package/Win7Debug/inf2cat.write.7.tlog:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexvogt91/NetDriver/c3074576202a3e49c65ad80b391a5579f8001f7a/Net Package/Win7Debug/inf2cat.write.7.tlog
--------------------------------------------------------------------------------
/Net Package/Win7Debug/inf2catOutput.log:
--------------------------------------------------------------------------------
1 | Inf2Cat Tool Output:
2 | ........................
3 | Signability test failed.
4 |
5 | Errors:
6 | 22.9.4: Bad file name for catalogfile from [Version] section in \net.inf
7 |
8 | Warnings:
9 | None
10 |
--------------------------------------------------------------------------------
/Net.sdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexvogt91/NetDriver/c3074576202a3e49c65ad80b391a5579f8001f7a/Net.sdf
--------------------------------------------------------------------------------
/Net.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio 2013
4 | VisualStudioVersion = 12.0.40629.0
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Net", "Net\Net.vcxproj", "{A2C38F6B-D897-434D-86F2-BD4A9FD114B4}"
7 | EndProject
8 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Net Package", "Net Package\Net Package.vcxproj", "{9E6E1E3E-0DA1-4452-A7D4-38584A6FE3EC}"
9 | ProjectSection(ProjectDependencies) = postProject
10 | {A2C38F6B-D897-434D-86F2-BD4A9FD114B4} = {A2C38F6B-D897-434D-86F2-BD4A9FD114B4}
11 | EndProjectSection
12 | EndProject
13 | Global
14 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
15 | Win7 Debug|Win32 = Win7 Debug|Win32
16 | Win7 Debug|x64 = Win7 Debug|x64
17 | Win7 Release|Win32 = Win7 Release|Win32
18 | Win7 Release|x64 = Win7 Release|x64
19 | Win8 Debug|Win32 = Win8 Debug|Win32
20 | Win8 Debug|x64 = Win8 Debug|x64
21 | Win8 Release|Win32 = Win8 Release|Win32
22 | Win8 Release|x64 = Win8 Release|x64
23 | Win8.1 Debug|Win32 = Win8.1 Debug|Win32
24 | Win8.1 Debug|x64 = Win8.1 Debug|x64
25 | Win8.1 Release|Win32 = Win8.1 Release|Win32
26 | Win8.1 Release|x64 = Win8.1 Release|x64
27 | EndGlobalSection
28 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
29 | {A2C38F6B-D897-434D-86F2-BD4A9FD114B4}.Win7 Debug|Win32.ActiveCfg = Win7 Debug|Win32
30 | {A2C38F6B-D897-434D-86F2-BD4A9FD114B4}.Win7 Debug|Win32.Build.0 = Win7 Debug|Win32
31 | {A2C38F6B-D897-434D-86F2-BD4A9FD114B4}.Win7 Debug|Win32.Deploy.0 = Win7 Debug|Win32
32 | {A2C38F6B-D897-434D-86F2-BD4A9FD114B4}.Win7 Debug|x64.ActiveCfg = Win7 Debug|x64
33 | {A2C38F6B-D897-434D-86F2-BD4A9FD114B4}.Win7 Debug|x64.Build.0 = Win7 Debug|x64
34 | {A2C38F6B-D897-434D-86F2-BD4A9FD114B4}.Win7 Debug|x64.Deploy.0 = Win7 Debug|x64
35 | {A2C38F6B-D897-434D-86F2-BD4A9FD114B4}.Win7 Release|Win32.ActiveCfg = Win7 Release|Win32
36 | {A2C38F6B-D897-434D-86F2-BD4A9FD114B4}.Win7 Release|Win32.Build.0 = Win7 Release|Win32
37 | {A2C38F6B-D897-434D-86F2-BD4A9FD114B4}.Win7 Release|Win32.Deploy.0 = Win7 Release|Win32
38 | {A2C38F6B-D897-434D-86F2-BD4A9FD114B4}.Win7 Release|x64.ActiveCfg = Win7 Release|x64
39 | {A2C38F6B-D897-434D-86F2-BD4A9FD114B4}.Win7 Release|x64.Build.0 = Win7 Release|x64
40 | {A2C38F6B-D897-434D-86F2-BD4A9FD114B4}.Win7 Release|x64.Deploy.0 = Win7 Release|x64
41 | {A2C38F6B-D897-434D-86F2-BD4A9FD114B4}.Win8 Debug|Win32.ActiveCfg = Win8 Debug|Win32
42 | {A2C38F6B-D897-434D-86F2-BD4A9FD114B4}.Win8 Debug|Win32.Build.0 = Win8 Debug|Win32
43 | {A2C38F6B-D897-434D-86F2-BD4A9FD114B4}.Win8 Debug|Win32.Deploy.0 = Win8 Debug|Win32
44 | {A2C38F6B-D897-434D-86F2-BD4A9FD114B4}.Win8 Debug|x64.ActiveCfg = Win8 Debug|x64
45 | {A2C38F6B-D897-434D-86F2-BD4A9FD114B4}.Win8 Debug|x64.Build.0 = Win8 Debug|x64
46 | {A2C38F6B-D897-434D-86F2-BD4A9FD114B4}.Win8 Debug|x64.Deploy.0 = Win8 Debug|x64
47 | {A2C38F6B-D897-434D-86F2-BD4A9FD114B4}.Win8 Release|Win32.ActiveCfg = Win8 Release|Win32
48 | {A2C38F6B-D897-434D-86F2-BD4A9FD114B4}.Win8 Release|Win32.Build.0 = Win8 Release|Win32
49 | {A2C38F6B-D897-434D-86F2-BD4A9FD114B4}.Win8 Release|Win32.Deploy.0 = Win8 Release|Win32
50 | {A2C38F6B-D897-434D-86F2-BD4A9FD114B4}.Win8 Release|x64.ActiveCfg = Win8 Release|x64
51 | {A2C38F6B-D897-434D-86F2-BD4A9FD114B4}.Win8 Release|x64.Build.0 = Win8 Release|x64
52 | {A2C38F6B-D897-434D-86F2-BD4A9FD114B4}.Win8 Release|x64.Deploy.0 = Win8 Release|x64
53 | {A2C38F6B-D897-434D-86F2-BD4A9FD114B4}.Win8.1 Debug|Win32.ActiveCfg = Win8.1 Debug|Win32
54 | {A2C38F6B-D897-434D-86F2-BD4A9FD114B4}.Win8.1 Debug|Win32.Build.0 = Win8.1 Debug|Win32
55 | {A2C38F6B-D897-434D-86F2-BD4A9FD114B4}.Win8.1 Debug|Win32.Deploy.0 = Win8.1 Debug|Win32
56 | {A2C38F6B-D897-434D-86F2-BD4A9FD114B4}.Win8.1 Debug|x64.ActiveCfg = Win8.1 Debug|x64
57 | {A2C38F6B-D897-434D-86F2-BD4A9FD114B4}.Win8.1 Debug|x64.Build.0 = Win8.1 Debug|x64
58 | {A2C38F6B-D897-434D-86F2-BD4A9FD114B4}.Win8.1 Debug|x64.Deploy.0 = Win8.1 Debug|x64
59 | {A2C38F6B-D897-434D-86F2-BD4A9FD114B4}.Win8.1 Release|Win32.ActiveCfg = Win8.1 Release|Win32
60 | {A2C38F6B-D897-434D-86F2-BD4A9FD114B4}.Win8.1 Release|Win32.Build.0 = Win8.1 Release|Win32
61 | {A2C38F6B-D897-434D-86F2-BD4A9FD114B4}.Win8.1 Release|Win32.Deploy.0 = Win8.1 Release|Win32
62 | {A2C38F6B-D897-434D-86F2-BD4A9FD114B4}.Win8.1 Release|x64.ActiveCfg = Win8.1 Release|x64
63 | {A2C38F6B-D897-434D-86F2-BD4A9FD114B4}.Win8.1 Release|x64.Build.0 = Win8.1 Release|x64
64 | {A2C38F6B-D897-434D-86F2-BD4A9FD114B4}.Win8.1 Release|x64.Deploy.0 = Win8.1 Release|x64
65 | {9E6E1E3E-0DA1-4452-A7D4-38584A6FE3EC}.Win7 Debug|Win32.ActiveCfg = Win7 Debug|Win32
66 | {9E6E1E3E-0DA1-4452-A7D4-38584A6FE3EC}.Win7 Debug|Win32.Build.0 = Win7 Debug|Win32
67 | {9E6E1E3E-0DA1-4452-A7D4-38584A6FE3EC}.Win7 Debug|Win32.Deploy.0 = Win7 Debug|Win32
68 | {9E6E1E3E-0DA1-4452-A7D4-38584A6FE3EC}.Win7 Debug|x64.ActiveCfg = Win7 Debug|x64
69 | {9E6E1E3E-0DA1-4452-A7D4-38584A6FE3EC}.Win7 Debug|x64.Build.0 = Win7 Debug|x64
70 | {9E6E1E3E-0DA1-4452-A7D4-38584A6FE3EC}.Win7 Debug|x64.Deploy.0 = Win7 Debug|x64
71 | {9E6E1E3E-0DA1-4452-A7D4-38584A6FE3EC}.Win7 Release|Win32.ActiveCfg = Win7 Release|Win32
72 | {9E6E1E3E-0DA1-4452-A7D4-38584A6FE3EC}.Win7 Release|Win32.Build.0 = Win7 Release|Win32
73 | {9E6E1E3E-0DA1-4452-A7D4-38584A6FE3EC}.Win7 Release|Win32.Deploy.0 = Win7 Release|Win32
74 | {9E6E1E3E-0DA1-4452-A7D4-38584A6FE3EC}.Win7 Release|x64.ActiveCfg = Win7 Release|x64
75 | {9E6E1E3E-0DA1-4452-A7D4-38584A6FE3EC}.Win7 Release|x64.Build.0 = Win7 Release|x64
76 | {9E6E1E3E-0DA1-4452-A7D4-38584A6FE3EC}.Win7 Release|x64.Deploy.0 = Win7 Release|x64
77 | {9E6E1E3E-0DA1-4452-A7D4-38584A6FE3EC}.Win8 Debug|Win32.ActiveCfg = Win8 Debug|Win32
78 | {9E6E1E3E-0DA1-4452-A7D4-38584A6FE3EC}.Win8 Debug|Win32.Build.0 = Win8 Debug|Win32
79 | {9E6E1E3E-0DA1-4452-A7D4-38584A6FE3EC}.Win8 Debug|Win32.Deploy.0 = Win8 Debug|Win32
80 | {9E6E1E3E-0DA1-4452-A7D4-38584A6FE3EC}.Win8 Debug|x64.ActiveCfg = Win8 Debug|x64
81 | {9E6E1E3E-0DA1-4452-A7D4-38584A6FE3EC}.Win8 Debug|x64.Build.0 = Win8 Debug|x64
82 | {9E6E1E3E-0DA1-4452-A7D4-38584A6FE3EC}.Win8 Debug|x64.Deploy.0 = Win8 Debug|x64
83 | {9E6E1E3E-0DA1-4452-A7D4-38584A6FE3EC}.Win8 Release|Win32.ActiveCfg = Win8 Release|Win32
84 | {9E6E1E3E-0DA1-4452-A7D4-38584A6FE3EC}.Win8 Release|Win32.Build.0 = Win8 Release|Win32
85 | {9E6E1E3E-0DA1-4452-A7D4-38584A6FE3EC}.Win8 Release|Win32.Deploy.0 = Win8 Release|Win32
86 | {9E6E1E3E-0DA1-4452-A7D4-38584A6FE3EC}.Win8 Release|x64.ActiveCfg = Win8 Release|x64
87 | {9E6E1E3E-0DA1-4452-A7D4-38584A6FE3EC}.Win8 Release|x64.Build.0 = Win8 Release|x64
88 | {9E6E1E3E-0DA1-4452-A7D4-38584A6FE3EC}.Win8 Release|x64.Deploy.0 = Win8 Release|x64
89 | {9E6E1E3E-0DA1-4452-A7D4-38584A6FE3EC}.Win8.1 Debug|Win32.ActiveCfg = Win8.1 Debug|Win32
90 | {9E6E1E3E-0DA1-4452-A7D4-38584A6FE3EC}.Win8.1 Debug|Win32.Build.0 = Win8.1 Debug|Win32
91 | {9E6E1E3E-0DA1-4452-A7D4-38584A6FE3EC}.Win8.1 Debug|Win32.Deploy.0 = Win8.1 Debug|Win32
92 | {9E6E1E3E-0DA1-4452-A7D4-38584A6FE3EC}.Win8.1 Debug|x64.ActiveCfg = Win8.1 Debug|x64
93 | {9E6E1E3E-0DA1-4452-A7D4-38584A6FE3EC}.Win8.1 Debug|x64.Build.0 = Win8.1 Debug|x64
94 | {9E6E1E3E-0DA1-4452-A7D4-38584A6FE3EC}.Win8.1 Debug|x64.Deploy.0 = Win8.1 Debug|x64
95 | {9E6E1E3E-0DA1-4452-A7D4-38584A6FE3EC}.Win8.1 Release|Win32.ActiveCfg = Win8.1 Release|Win32
96 | {9E6E1E3E-0DA1-4452-A7D4-38584A6FE3EC}.Win8.1 Release|Win32.Build.0 = Win8.1 Release|Win32
97 | {9E6E1E3E-0DA1-4452-A7D4-38584A6FE3EC}.Win8.1 Release|Win32.Deploy.0 = Win8.1 Release|Win32
98 | {9E6E1E3E-0DA1-4452-A7D4-38584A6FE3EC}.Win8.1 Release|x64.ActiveCfg = Win8.1 Release|x64
99 | {9E6E1E3E-0DA1-4452-A7D4-38584A6FE3EC}.Win8.1 Release|x64.Build.0 = Win8.1 Release|x64
100 | {9E6E1E3E-0DA1-4452-A7D4-38584A6FE3EC}.Win8.1 Release|x64.Deploy.0 = Win8.1 Release|x64
101 | EndGlobalSection
102 | GlobalSection(SolutionProperties) = preSolution
103 | HideSolutionNode = FALSE
104 | EndGlobalSection
105 | EndGlobal
106 |
--------------------------------------------------------------------------------
/Net.v12.suo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexvogt91/NetDriver/c3074576202a3e49c65ad80b391a5579f8001f7a/Net.v12.suo
--------------------------------------------------------------------------------
/Net/Net.inf:
--------------------------------------------------------------------------------
1 | ;
2 | ; Net.inf
3 | ;
4 |
5 | [Version]
6 | Signature="$WINDOWS NT$"
7 | Class=
8 | ClassGuid=
9 | Provider=
10 | DriverVer=
11 | CatalogFile=
12 |
13 | [DestinationDirs]
14 | DefaultDestDir = 12
15 |
16 |
17 | [SourceDisksNames]
18 | 1 = %DiskName%,,,""
19 |
20 | [SourceDisksFiles]
21 |
22 |
23 | [Manufacturer]
24 | %ManufacturerName%=Standard,NT$ARCH$
25 |
26 | [Standard.NT$ARCH$]
27 |
28 |
29 | [Strings]
30 | ManufacturerName=""
31 | ClassName=""
32 | DiskName="Net Source Disk"
33 |
--------------------------------------------------------------------------------
/Net/Net.vcxproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Win8.1 Debug
6 | Win32
7 |
8 |
9 | Win8.1 Release
10 | Win32
11 |
12 |
13 | Win8 Debug
14 | Win32
15 |
16 |
17 | Win8 Release
18 | Win32
19 |
20 |
21 | Win7 Debug
22 | Win32
23 |
24 |
25 | Win7 Release
26 | Win32
27 |
28 |
29 | Win8.1 Debug
30 | x64
31 |
32 |
33 | Win8.1 Release
34 | x64
35 |
36 |
37 | Win8 Debug
38 | x64
39 |
40 |
41 | Win8 Release
42 | x64
43 |
44 |
45 | Win7 Debug
46 | x64
47 |
48 |
49 | Win7 Release
50 | x64
51 |
52 |
53 |
54 | {A2C38F6B-D897-434D-86F2-BD4A9FD114B4}
55 | {dd38f7fc-d7bd-488b-9242-7d8754cde80d}
56 | v4.5
57 | 11.0
58 | Win8.1 Debug
59 | Win32
60 | Net
61 |
62 |
63 |
64 | WindowsV6.3
65 | true
66 | WindowsKernelModeDriver8.1
67 | Driver
68 | WDM
69 |
70 |
71 | WindowsV6.3
72 | false
73 | WindowsKernelModeDriver8.1
74 | Driver
75 | WDM
76 |
77 |
78 | Windows8
79 | true
80 | WindowsKernelModeDriver8.1
81 | Driver
82 | WDM
83 |
84 |
85 | Windows8
86 | false
87 | WindowsKernelModeDriver8.1
88 | Driver
89 | WDM
90 |
91 |
92 | Windows7
93 | true
94 | WindowsKernelModeDriver8.1
95 | Driver
96 | WDM
97 |
98 |
99 | Windows7
100 | false
101 | WindowsKernelModeDriver8.1
102 | Driver
103 | WDM
104 |
105 |
106 | WindowsV6.3
107 | true
108 | WindowsKernelModeDriver8.1
109 | Driver
110 | WDM
111 |
112 |
113 | WindowsV6.3
114 | false
115 | WindowsKernelModeDriver8.1
116 | Driver
117 | WDM
118 |
119 |
120 | Windows8
121 | true
122 | WindowsKernelModeDriver8.1
123 | Driver
124 | WDM
125 |
126 |
127 | Windows8
128 | false
129 | WindowsKernelModeDriver8.1
130 | Driver
131 | WDM
132 |
133 |
134 | Windows7
135 | true
136 | WindowsKernelModeDriver8.1
137 | Driver
138 | WDM
139 |
140 |
141 | Windows7
142 | false
143 | WindowsKernelModeDriver8.1
144 | Driver
145 | WDM
146 |
147 |
148 |
149 |
150 |
151 |
152 |
153 |
154 |
155 |
156 | DbgengKernelDebugger
157 |
158 |
159 | DbgengKernelDebugger
160 |
161 |
162 | DbgengKernelDebugger
163 |
164 |
165 | DbgengKernelDebugger
166 |
167 |
168 | DbgengKernelDebugger
169 |
170 |
171 | DbgengKernelDebugger
172 |
173 |
174 | DbgengKernelDebugger
175 |
176 |
177 | DbgengKernelDebugger
178 |
179 |
180 | DbgengKernelDebugger
181 |
182 |
183 | DbgengKernelDebugger
184 |
185 |
186 | DbgengKernelDebugger
187 |
188 |
189 | DbgengKernelDebugger
190 |
191 |
192 |
193 | TurnOffAllWarnings
194 |
195 |
196 |
197 |
198 |
199 |
200 |
201 |
202 |
203 |
204 |
205 |
206 |
207 |
208 |
209 |
--------------------------------------------------------------------------------
/Net/Net.vcxproj.filters:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
7 |
8 |
9 | {93995380-89BD-4b04-88EB-625FBE52EBFB}
10 | h;hpp;hxx;hm;inl;inc;xsd
11 |
12 |
13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
15 |
16 |
17 | {8E41214B-6785-4CFE-B992-037D68949A14}
18 | inf;inv;inx;mof;mc;
19 |
20 |
21 |
22 |
23 | Driver Files
24 |
25 |
26 |
27 |
28 | Source Files
29 |
30 |
31 |
--------------------------------------------------------------------------------
/Net/Win7Debug/Net.Build.CppClean.log:
--------------------------------------------------------------------------------
1 | c:\users\kisystem\desktop\net\win7debug\net.sys
2 | c:\users\kisystem\desktop\net\net\win7debug\net.inf
3 | c:\users\kisystem\desktop\net\net\win7debug\vc120.pdb
4 | c:\users\kisystem\desktop\net\net\win7debug\driver.obj
5 | c:\users\kisystem\desktop\net\win7debug\net.pdb
6 | c:\users\kisystem\desktop\net\win7debug\net.cer
7 | c:\users\kisystem\desktop\net\win7debug\net.inf
8 | c:\users\kisystem\desktop\net\net\win7debug\signtool.command.1.tlog
9 | c:\users\kisystem\desktop\net\net\win7debug\signtool.read.1.tlog
10 | c:\users\kisystem\desktop\net\net\win7debug\signtool.write.1.tlog
11 | c:\users\kisystem\desktop\net\net\win7debug\stampinf.command.1.tlog
12 | c:\users\kisystem\desktop\net\net\win7debug\stampinf.read.1.tlog
13 | c:\users\kisystem\desktop\net\net\win7debug\stampinf.write.1.tlog
14 | c:\users\kisystem\desktop\net\net\win7debug\net.tlog\cl.command.1.tlog
15 | c:\users\kisystem\desktop\net\net\win7debug\net.tlog\cl.read.1.tlog
16 | c:\users\kisystem\desktop\net\net\win7debug\net.tlog\cl.write.1.tlog
17 | c:\users\kisystem\desktop\net\net\win7debug\net.tlog\link.command.1.tlog
18 | c:\users\kisystem\desktop\net\net\win7debug\net.tlog\link.read.1.tlog
19 | c:\users\kisystem\desktop\net\net\win7debug\net.tlog\link.write.1.tlog
20 |
--------------------------------------------------------------------------------
/Net/Win7Debug/Net.inf:
--------------------------------------------------------------------------------
1 | ;
2 | ; Net.inf
3 | ;
4 |
5 | [Version]
6 | Signature="$WINDOWS NT$"
7 | Class=
8 | ClassGuid=
9 | Provider=
10 | DriverVer=06/09/2018,16.58.45.374
11 | CatalogFile=
12 |
13 | [DestinationDirs]
14 | DefaultDestDir = 12
15 |
16 |
17 | [SourceDisksNames]
18 | 1 = %DiskName%,,,""
19 |
20 | [SourceDisksFiles]
21 |
22 |
23 | [Manufacturer]
24 | %ManufacturerName%=Standard,NTx86
25 |
26 | [Standard.NTx86]
27 |
28 |
29 | [Strings]
30 | ManufacturerName=""
31 | ClassName=""
32 | DiskName="Net Source Disk"
33 |
--------------------------------------------------------------------------------
/Net/Win7Debug/Net.log:
--------------------------------------------------------------------------------
1 | Build started 09/06/2018 16:58:45.
2 | 1>Project "C:\Users\KiSystem\Desktop\Net\Net\Net.vcxproj" on node 2 (Rebuild target(s)).
3 | 1>StampInf:
4 | C:\Program Files (x86)\Windows Kits\8.1\bin\x86\stampinf.exe -d "*" -a "x86" -v "*" -k "1.11" -u "1.11.0" -f Win7Debug\Net.inf
5 | Stamping Win7Debug\Net.inf [Version] section with DriverVer=06/09/2018,16.58.45.374
6 | ClCompile:
7 | C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\CL.exe /c /IWin7Debug\ /Zi /nologo /W0 /WX /Od /Oi /Oy- /D _X86_=1 /D i386=1 /D STD_CALL /D DEPRECATE_DDK_FUNCTIONS=1 /D MSC_NOOPT /D _WIN32_WINNT=0x0601 /D WINVER=0x0601 /D WINNT=1 /D NTDDI_VERSION=0x06010000 /D DBG=1 /GF /Gm- /Zp8 /GS /Gy /fp:precise /Zc:wchar_t- /Zc:forScope- /GR- /Fo"Win7Debug\\" /Fd"Win7Debug\vc120.pdb" /Gz /wd4748 /wd4603 /wd4627 /wd4986 /wd4987 /wd4996 /FI"C:\Program Files (x86)\Windows Kits\8.1\Include\Shared\warning.h" /analyze- /errorReport:prompt /kernel -cbstring /d1import_no_registry /d2AllowCompatibleILVersions /d2Zi+ driver.c
8 | driver.c
9 | Link:
10 | C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\link.exe /ERRORREPORT:PROMPT /OUT:"C:\Users\KiSystem\Desktop\Net\Win7Debug\Net.sys" /VERSION:"6.3" /INCREMENTAL:NO /NOLOGO /WX /SECTION:"INIT,d" "C:\Program Files (x86)\Windows Kits\8.1\lib\win7\KM\x86\memcmp.lib" "C:\Program Files (x86)\Windows Kits\8.1\lib\win7\KM\x86\BufferOverflowK.lib" "C:\Program Files (x86)\Windows Kits\8.1\lib\win7\KM\x86\ntoskrnl.lib" "C:\Program Files (x86)\Windows Kits\8.1\lib\win7\KM\x86\hal.lib" "C:\Program Files (x86)\Windows Kits\8.1\lib\win7\KM\x86\wmilib.lib" /NODEFAULTLIB /MANIFEST:NO /DEBUG /PDB:"C:\Users\KiSystem\Desktop\Net\Win7Debug\Net.pdb" /SUBSYSTEM:NATIVE,"6.01" /Driver /OPT:REF /OPT:ICF /ENTRY:"GsDriverEntry@8" /RELEASE /IMPLIB:"C:\Users\KiSystem\Desktop\Net\Win7Debug\Net.lib" /MERGE:"_TEXT=.text;_PAGE=PAGE" /MACHINE:X86 /PROFILE /kernel /IGNORE:4198,4010,4037,4039,4065,4070,4078,4087,4089,4221 /osversion:6.3 /pdbcompress /debugtype:pdata Win7Debug\driver.obj
11 | Net.vcxproj -> C:\Users\KiSystem\Desktop\Net\Win7Debug\Net.sys
12 | DriverTestSign:
13 | C:\Program Files (x86)\Windows Kits\8.1\bin\x86\signtool.exe sign /ph /sha1 "7AC0FCA54AB705884E77CE4251B9DF79E49DF3FD"
14 | Done Adding Additional Store
15 | Successfully signed: C:\Users\KiSystem\Desktop\Net\Win7Debug\Net.sys
16 |
17 | 1>Done Building Project "C:\Users\KiSystem\Desktop\Net\Net\Net.vcxproj" (Rebuild target(s)).
18 |
19 | Build succeeded.
20 |
21 | Time Elapsed 00:00:00.46
22 |
--------------------------------------------------------------------------------
/Net/Win7Debug/Net.tlog/CL.read.1.tlog:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexvogt91/NetDriver/c3074576202a3e49c65ad80b391a5579f8001f7a/Net/Win7Debug/Net.tlog/CL.read.1.tlog
--------------------------------------------------------------------------------
/Net/Win7Debug/Net.tlog/CL.write.1.tlog:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexvogt91/NetDriver/c3074576202a3e49c65ad80b391a5579f8001f7a/Net/Win7Debug/Net.tlog/CL.write.1.tlog
--------------------------------------------------------------------------------
/Net/Win7Debug/Net.tlog/Net.lastbuildstate:
--------------------------------------------------------------------------------
1 | #TargetFrameworkVersion=v4.5:PlatformToolSet=WindowsKernelModeDriver8.1:EnableManagedIncrementalBuild=false:VCToolArchitecture=Native32Bit
2 | Win7 Debug|Win32|C:\Users\KiSystem\Desktop\Net\|
3 |
--------------------------------------------------------------------------------
/Net/Win7Debug/Net.tlog/cl.command.1.tlog:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexvogt91/NetDriver/c3074576202a3e49c65ad80b391a5579f8001f7a/Net/Win7Debug/Net.tlog/cl.command.1.tlog
--------------------------------------------------------------------------------
/Net/Win7Debug/Net.tlog/link.command.1.tlog:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexvogt91/NetDriver/c3074576202a3e49c65ad80b391a5579f8001f7a/Net/Win7Debug/Net.tlog/link.command.1.tlog
--------------------------------------------------------------------------------
/Net/Win7Debug/Net.tlog/link.read.1.tlog:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexvogt91/NetDriver/c3074576202a3e49c65ad80b391a5579f8001f7a/Net/Win7Debug/Net.tlog/link.read.1.tlog
--------------------------------------------------------------------------------
/Net/Win7Debug/Net.tlog/link.write.1.tlog:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexvogt91/NetDriver/c3074576202a3e49c65ad80b391a5579f8001f7a/Net/Win7Debug/Net.tlog/link.write.1.tlog
--------------------------------------------------------------------------------
/Net/Win7Debug/driver.obj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexvogt91/NetDriver/c3074576202a3e49c65ad80b391a5579f8001f7a/Net/Win7Debug/driver.obj
--------------------------------------------------------------------------------
/Net/Win7Debug/signtool.command.1.tlog:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexvogt91/NetDriver/c3074576202a3e49c65ad80b391a5579f8001f7a/Net/Win7Debug/signtool.command.1.tlog
--------------------------------------------------------------------------------
/Net/Win7Debug/signtool.read.1.tlog:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexvogt91/NetDriver/c3074576202a3e49c65ad80b391a5579f8001f7a/Net/Win7Debug/signtool.read.1.tlog
--------------------------------------------------------------------------------
/Net/Win7Debug/signtool.write.1.tlog:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexvogt91/NetDriver/c3074576202a3e49c65ad80b391a5579f8001f7a/Net/Win7Debug/signtool.write.1.tlog
--------------------------------------------------------------------------------
/Net/Win7Debug/stampinf.command.1.tlog:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexvogt91/NetDriver/c3074576202a3e49c65ad80b391a5579f8001f7a/Net/Win7Debug/stampinf.command.1.tlog
--------------------------------------------------------------------------------
/Net/Win7Debug/stampinf.read.1.tlog:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexvogt91/NetDriver/c3074576202a3e49c65ad80b391a5579f8001f7a/Net/Win7Debug/stampinf.read.1.tlog
--------------------------------------------------------------------------------
/Net/Win7Debug/stampinf.write.1.tlog:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexvogt91/NetDriver/c3074576202a3e49c65ad80b391a5579f8001f7a/Net/Win7Debug/stampinf.write.1.tlog
--------------------------------------------------------------------------------
/Net/Win7Debug/vc120.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexvogt91/NetDriver/c3074576202a3e49c65ad80b391a5579f8001f7a/Net/Win7Debug/vc120.pdb
--------------------------------------------------------------------------------
/Net/driver.c:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 | #include
4 | #include
5 |
6 | /*/////////////////////////////////////////////
7 | //
8 | // Description: Super basic TDI kernel-mode client
9 | // which can send and receive http requests
10 | //
11 | // Contains basic routines & implementations for
12 | // such actions.
13 | *//////////////////////////////////////////////
14 |
15 |
16 |
17 | #define TCPDRIVER L"\\Device\\Tcp"
18 | #define UDPDRIVER L"\\Device\\Udp"
19 |
20 |
21 | UNICODE_STRING tcpip = RTL_CONSTANT_STRING(TCPDRIVER);
22 | UNICODE_STRING udpdriver = RTL_CONSTANT_STRING(UDPDRIVER);
23 | #define HTONS(a) (((0xFF&a)<<8) + ((0xFF00&a)>>8))
24 | #define INETADDR(a, b, c, d) (a + (b<<8) + (c<<16) + (d<<24))
25 |
26 | #define _malloc(_s) ExAllocatePoolWithTag(NonPagedPool,_s,'AlO');
27 | #define _free(_s) ExFreePoolWithTag(_s, 'AlO');
28 |
29 | /*///////////////////////////////////
30 | //
31 | // Function: TdiCompletionRoutine
32 | //
33 | // Purpose: Callback for the IRP
34 | //
35 | //
36 | *////////////////////////////////////
37 |
38 | NTSTATUS TdiCompletionRoutine(IN PDEVICE_OBJECT Object, IN PIRP Irp, IN PVOID Context)
39 | {
40 | if (Context != NULL)
41 | {
42 | KeSetEvent((PKEVENT)Context, 0, FALSE);
43 | }
44 |
45 | return STATUS_MORE_PROCESSING_REQUIRED;
46 | }
47 |
48 |
49 | VOID Unload(PDRIVER_OBJECT pdriverobject)
50 | {
51 | DbgPrint("NetDrv Unloaded");
52 | }
53 |
54 | /*///////////////////////////////////
55 | //
56 | // Function: TDIKernelConnection
57 | //
58 | // Purpose: Create Connection Object
59 | // to create socket in Association
60 | // with Address Object
61 | //
62 | // Environment: Kernel Mode only
63 | //
64 | *////////////////////////////////////
65 |
66 | NTSTATUS TDIKernelConnection(IN PHANDLE Handle, IN PFILE_OBJECT **ConnectionObject)
67 | {
68 | NTSTATUS st = STATUS_UNSUCCESSFUL;
69 | OBJECT_ATTRIBUTES oa;
70 | ULONG ubuffer;
71 | IO_STATUS_BLOCK io;
72 | CHAR EA_Buffer[sizeof(FILE_FULL_EA_INFORMATION) + sizeof(TdiTransportAddress)-1 + sizeof(TA_IP_ADDRESS)];
73 | PFILE_FULL_EA_INFORMATION pEA_Buffer = (PFILE_FULL_EA_INFORMATION)EA_Buffer;
74 | CONNECTION_CONTEXT contextplaceholder = NULL;
75 |
76 | ubuffer = FIELD_OFFSET(FILE_FULL_EA_INFORMATION, EaName) + sizeof(TdiConnectionContext)-1 + 1 + sizeof(CONNECTION_CONTEXT);
77 | pEA_Buffer = (PFILE_FULL_EA_INFORMATION)ExAllocatePool(NonPagedPool, ubuffer);
78 | if (pEA_Buffer == NULL)
79 | {
80 | return STATUS_INSUFFICIENT_RESOURCES;
81 | }
82 |
83 | RtlSecureZeroMemory(pEA_Buffer, ubuffer);
84 | pEA_Buffer->NextEntryOffset = 0;
85 | pEA_Buffer->Flags = 0;
86 | pEA_Buffer->EaNameLength = sizeof(TdiConnectionContext) - 1;
87 | RtlCopyMemory(pEA_Buffer->EaName, TdiConnectionContext, pEA_Buffer->EaNameLength + 1);
88 |
89 | pEA_Buffer->EaValueLength = sizeof(CONNECTION_CONTEXT);
90 | *(CONNECTION_CONTEXT*)(pEA_Buffer->EaName + (pEA_Buffer->EaNameLength + 1)) = (CONNECTION_CONTEXT)contextplaceholder;
91 |
92 | InitializeObjectAttributes(&oa, &tcpip, OBJ_CASE_INSENSITIVE | OBJ_KERNEL_HANDLE, NULL, NULL);
93 |
94 | st = ZwCreateFile(Handle,FILE_GENERIC_READ |FILE_GENERIC_WRITE |SYNCHRONIZE,&oa,&io,0,FILE_ATTRIBUTE_NORMAL,FILE_SHARE_READ,FILE_OPEN,0,pEA_Buffer,sizeof(EA_Buffer));
95 | if (NT_SUCCESS(st))
96 | {
97 | st = ObReferenceObjectByHandle(*Handle,FILE_GENERIC_READ,NULL,KernelMode,(PVOID*)*ConnectionObject,NULL);
98 | if (NT_SUCCESS(st))
99 | {
100 | st = STATUS_SUCCESS;
101 | }
102 | }
103 |
104 | return st;
105 | }
106 |
107 | /*///////////////////////////////////////////////
108 | //
109 | // Function: TDIKernelOpenAddress
110 | //
111 | // Purpose: Create Address Object
112 | // to create socket in Association
113 | // with Connection Object
114 | //
115 | // Environment:
116 | // Kernel mode only
117 | //
118 | */////////////////////////////////////////////////
119 |
120 | NTSTATUS TDIKernelOpenAddress(IN PHANDLE *Handle, IN PFILE_OBJECT *ConnectionAddress, IN ULONG Ip, IN USHORT Port)
121 | {
122 | NTSTATUS st = STATUS_UNSUCCESSFUL;
123 | OBJECT_ATTRIBUTES TDIObjectAttributes = { 0 };
124 | IO_STATUS_BLOCK io;
125 | PTA_IP_ADDRESS ipaddress;
126 | CHAR EABuffer[sizeof(FILE_FULL_EA_INFORMATION) + sizeof(TdiTransportAddress)-1 + sizeof(TA_IP_ADDRESS)]; // Fill the Extended Attributes Buffer
127 | PFILE_FULL_EA_INFORMATION pEABuffer = (PFILE_FULL_EA_INFORMATION)EABuffer; // Define the pointer
128 |
129 |
130 | InitializeObjectAttributes(&TDIObjectAttributes, &tcpip, OBJ_CASE_INSENSITIVE | OBJ_KERNEL_HANDLE, NULL, NULL);
131 |
132 | pEABuffer->NextEntryOffset = 0;
133 | pEABuffer->Flags = 0;
134 | pEABuffer->EaNameLength = sizeof(TdiTransportAddress) - 1;
135 | RtlCopyMemory(pEABuffer->EaName, TdiTransportAddress, pEABuffer->EaNameLength + 1);
136 |
137 | pEABuffer->EaValueLength = sizeof(TA_IP_ADDRESS);
138 |
139 | ipaddress = (PTA_IP_ADDRESS)(pEABuffer->EaName + pEABuffer->EaNameLength + 1);
140 | ipaddress->TAAddressCount = 1; // Number of Addresses, only one
141 | ipaddress->Address[0].AddressLength = TDI_ADDRESS_LENGTH_IP; // length
142 | ipaddress->Address[0].AddressType = TDI_ADDRESS_TYPE_IP; // type of address
143 | ipaddress->Address[0].Address[0].sin_port = Port; // define 0 for both port and Ip address
144 | ipaddress->Address[0].Address[0].in_addr = Ip;
145 |
146 | RtlSecureZeroMemory(ipaddress->Address[0].Address[0].sin_zero, sizeof(ipaddress->Address[0].Address[0].sin_zero));
147 |
148 | st = ZwCreateFile(*Handle, FILE_GENERIC_READ | FILE_GENERIC_WRITE | SYNCHRONIZE, &TDIObjectAttributes, &io, 0, FILE_ATTRIBUTE_NORMAL,FILE_SHARE_READ,FILE_OPEN,0, pEABuffer, sizeof(EABuffer));
149 | if (NT_SUCCESS(st))
150 | {
151 |
152 | st = ObReferenceObjectByHandle(**Handle, FILE_ANY_ACCESS, 0,KernelMode,(PVOID*)ConnectionAddress,NULL);
153 | if (NT_SUCCESS(st))
154 | {
155 | st = STATUS_SUCCESS;
156 |
157 | }
158 |
159 | }
160 |
161 | return st;
162 | }
163 |
164 | /*/////////////////////////////////////////
165 | //
166 | // Function: TDIKernelCreateTCPSocket
167 | //
168 | // Purpose: Create socket by associating
169 | // both the address object and the
170 | // connection object.
171 | //
172 | // Environment: Kernel mode only
173 | //
174 | */////////////////////////////////////////
175 |
176 | NTSTATUS TDIKernelCreateTCPSocket(IN PHANDLE AddressHandle, IN PFILE_OBJECT *ConnectionObject, IN PDEVICE_OBJECT *SocketObject)
177 | {
178 | NTSTATUS st = STATUS_UNSUCCESSFUL;
179 | HANDLE objecthandle;
180 | KEVENT Event;
181 | PIRP Irp;
182 | PFILE_OBJECT AddressObject;
183 | IO_STATUS_BLOCK io;
184 |
185 | st = TDIKernelOpenAddress(&AddressHandle, &AddressObject, 0, 0);
186 | if (NT_SUCCESS(st))
187 | {
188 |
189 | st = TDIKernelConnection(&objecthandle, &ConnectionObject);
190 | if (NT_SUCCESS(st))
191 | {
192 |
193 | *SocketObject = IoGetRelatedDeviceObject(AddressObject);
194 | if (*SocketObject && MmIsAddressValid(*SocketObject))
195 | {
196 | KeInitializeEvent(&Event, NotificationEvent, FALSE);
197 | Irp = TdiBuildInternalDeviceControlIrp(TDI_ASSOCIATE_ADDRESS, *SocketObject, *ConnectionObject, &Event, &io);
198 | if (Irp)
199 | {
200 |
201 | TdiBuildAssociateAddress(Irp, *SocketObject, *ConnectionObject, NULL, NULL, *AddressHandle);
202 | IoSetCompletionRoutine(Irp, TdiCompletionRoutine, &Event, TRUE, TRUE, TRUE);
203 |
204 | st = IofCallDriver(*SocketObject, Irp);
205 | if (st == STATUS_PENDING)
206 | {
207 | KeWaitForSingleObject(&Event, Executive, KernelMode, FALSE, NULL);
208 | }
209 | else
210 | {
211 | st = STATUS_SUCCESS;
212 | }
213 | }
214 | else
215 | {
216 | return STATUS_INSUFFICIENT_RESOURCES;
217 | }
218 | }
219 | }
220 | }
221 |
222 | return st;
223 | }
224 |
225 | /*/////////////////////////////////////////
226 | //
227 | // Function: TDIKernelConnect
228 | //
229 | // Purpose: Connects to existing
230 | // socket.
231 | // Emulates connect function from winsock
232 | //
233 | // Environment: Kernel mode only
234 | //
235 | */////////////////////////////////////////
236 |
237 | NTSTATUS TDIKernelConnect(IN PFILE_OBJECT *ConnectionObject, IN PDEVICE_OBJECT *DeviceObject, IN USHORT PortNumber, IN ULONG Firstoctal, IN ULONG Secondoctal, IN ULONG Thirdoctal, IN ULONG Lastoctal)
238 | {
239 | NTSTATUS st;
240 | PIRP Irp;
241 | TA_IP_ADDRESS ipaddress;
242 | USHORT Port;
243 | ULONG Ip;
244 | KEVENT Event;
245 | IO_STATUS_BLOCK io;
246 | TDI_CONNECTION_INFORMATION connectinfo;
247 |
248 | KeInitializeEvent(&Event, NotificationEvent, FALSE);
249 |
250 | Irp = TdiBuildInternalDeviceControlIrp(TDI_CONNECT, *DeviceObject, *ConnectionObject, &Event, &io);
251 | if (Irp == NULL)
252 | {
253 |
254 | return STATUS_INSUFFICIENT_RESOURCES;
255 | }
256 |
257 | Port = HTONS(PortNumber);
258 | Ip = INETADDR(Firstoctal, Secondoctal, Thirdoctal, Lastoctal);
259 |
260 | ipaddress.TAAddressCount = 1;
261 | ipaddress.Address[0].AddressLength = TDI_ADDRESS_LENGTH_IP;
262 | ipaddress.Address[0].AddressType = TDI_ADDRESS_TYPE_IP;
263 | ipaddress.Address[0].Address[0].sin_port = Port;
264 | ipaddress.Address[0].Address[0].in_addr = Ip;
265 |
266 | connectinfo.UserDataLength = 0;
267 | connectinfo.UserData = 0;
268 | connectinfo.OptionsLength = 0;
269 | connectinfo.Options = 0;
270 | connectinfo.RemoteAddressLength = sizeof(ipaddress);
271 | connectinfo.RemoteAddress = &ipaddress;
272 |
273 | TdiBuildConnect(Irp, *DeviceObject, *ConnectionObject, NULL, NULL, NULL, &connectinfo, 0);
274 |
275 | IoSetCompletionRoutine(Irp, TdiCompletionRoutine, &Event, TRUE, TRUE, TRUE);
276 |
277 | st = IofCallDriver(*DeviceObject, Irp);
278 | if (st == STATUS_PENDING)
279 | {
280 | KeWaitForSingleObject(&Event, Executive, KernelMode, FALSE, 0);
281 | }
282 |
283 | return st;
284 |
285 | }
286 |
287 | /*/////////////////////////////////////////
288 | //
289 | // Function: TDISend
290 | //
291 | // Purpose: Sends data to remote server
292 | //
293 | // Emulates send function from winsock
294 | //
295 | // Environment: Kernel mode only
296 | //
297 | */////////////////////////////////////////
298 |
299 | NTSTATUS TDISend(IN PFILE_OBJECT ConnectionObject, IN PDEVICE_OBJECT DeviceObject, IN PCHAR Data, IN ULONG Length)
300 | {
301 | NTSTATUS st = STATUS_UNSUCCESSFUL;
302 | KEVENT Event;
303 | PIRP Irp;
304 | PMDL Mdl;
305 | PCHAR Buffer = NULL;
306 | IO_STATUS_BLOCK io;
307 |
308 | Buffer = ExAllocatePool(NonPagedPool, Length);
309 | RtlCopyMemory(Buffer, Data, Length);
310 |
311 | KeInitializeEvent(&Event, NotificationEvent, FALSE);
312 |
313 | Irp = TdiBuildInternalDeviceControlIrp(TDI_SEND, DeviceObject, ConnectionObject, &Event, &io);
314 | if (Irp)
315 | {
316 | Mdl = IoAllocateMdl(Buffer, Length, FALSE, FALSE, Irp);
317 | if (Mdl)
318 | {
319 | __try
320 | {
321 | MmProbeAndLockPages(Mdl, KernelMode, IoModifyAccess);
322 | }
323 | __except (EXCEPTION_EXECUTE_HANDLER)
324 | {
325 | return STATUS_UNSUCCESSFUL;
326 | }
327 |
328 | TdiBuildSend(Irp, DeviceObject, ConnectionObject, NULL, NULL, Mdl, 0, Length);
329 |
330 | IoSetCompletionRoutine(Irp, TdiCompletionRoutine, &Event, TRUE, TRUE, TRUE);
331 |
332 | st = IofCallDriver(DeviceObject, Irp);
333 | if (st == STATUS_PENDING)
334 | {
335 | KeWaitForSingleObject(&Event, Executive, KernelMode, FALSE, NULL);
336 | }
337 | else
338 | {
339 | st = STATUS_SUCCESS;
340 | }
341 |
342 | }
343 | else
344 | {
345 | return STATUS_INSUFFICIENT_RESOURCES;
346 | }
347 | }
348 | else
349 | {
350 | return STATUS_INSUFFICIENT_RESOURCES;
351 | }
352 |
353 | return st;
354 | }
355 |
356 | /*/////////////////////////////////////////
357 | //
358 | // Function: TDIRecv
359 | //
360 | // Purpose: Receives data from remote server
361 | //
362 | // Emulates recv function from winsock
363 | //
364 | // Environment: Kernel mode only
365 | //
366 | */////////////////////////////////////////
367 |
368 | NTSTATUS TDIRecv(IN PFILE_OBJECT ConnectionObject, IN PDEVICE_OBJECT DeviceObject, PCHAR Data, ULONG Length)
369 | {
370 | NTSTATUS st = STATUS_UNSUCCESSFUL;
371 | PIRP Irp;
372 | KEVENT Event;
373 | IO_STATUS_BLOCK io;
374 | PMDL Mdl;
375 |
376 | KeInitializeEvent(&Event, NotificationEvent, FALSE);
377 |
378 | Irp = TdiBuildInternalDeviceControlIrp(TDI_RECEIVE, DeviceObject, ConnectionObject,&Event, &io);
379 | if (Irp)
380 | {
381 | Mdl = IoAllocateMdl(Data, Length, FALSE, FALSE, Irp);
382 | if (Mdl)
383 | {
384 | __try
385 | {
386 | MmProbeAndLockPages(Mdl, KernelMode, IoModifyAccess);
387 | }
388 | __except (EXCEPTION_EXECUTE_HANDLER)
389 | {
390 | return GetExceptionCode();
391 | st = STATUS_UNSUCCESSFUL;
392 | }
393 |
394 | TdiBuildReceive(Irp, DeviceObject, ConnectionObject, NULL, NULL, Mdl, TDI_RECEIVE_NORMAL, Length);
395 |
396 | IoSetCompletionRoutine(Irp, TdiCompletionRoutine, &Event, TRUE, TRUE, TRUE);
397 |
398 | st = IofCallDriver(DeviceObject, Irp);
399 | if (st == STATUS_PENDING)
400 | {
401 | KeWaitForSingleObject(&Event, Executive, KernelMode, FALSE, NULL);
402 | }
403 | else
404 | {
405 | st = STATUS_SUCCESS;
406 | }
407 |
408 | }
409 | else
410 | {
411 | st = STATUS_INSUFFICIENT_POWER;
412 | }
413 | }
414 | else
415 | {
416 | st = STATUS_INSUFFICIENT_RESOURCES;
417 | }
418 |
419 | return st;
420 |
421 | }
422 |
423 | /*/////////////////////////////////////////
424 | //
425 | // Function: TDICloseSocket
426 | //
427 | // Purpose: Closes existing ConnectionObject
428 | //
429 | // Emulates closesocket function from winsock
430 | //
431 | // Environment: Kernel mode only
432 | //
433 | */////////////////////////////////////////
434 |
435 | NTSTATUS TDICloseSocket(IN PFILE_OBJECT ConnectionObject, IN PDEVICE_OBJECT DeviceObject)
436 | {
437 | NTSTATUS st = STATUS_UNSUCCESSFUL;
438 | PIRP Irp;
439 | IO_STATUS_BLOCK io;
440 | KEVENT Event;
441 |
442 | KeInitializeEvent(&Event, NotificationEvent, FALSE);
443 |
444 | Irp = TdiBuildInternalDeviceControlIrp(TDI_DISCONNECT, DeviceObject, ConnectionObject, &Event, &io);
445 | if (Irp)
446 | {
447 | TdiBuildDisconnect(Irp, DeviceObject, ConnectionObject, NULL, NULL, NULL, TDI_DISCONNECT_RELEASE, 0, 0);
448 |
449 | IoSetCompletionRoutine(Irp, TdiCompletionRoutine, &Event, TRUE, TRUE, TRUE);
450 |
451 | st = IofCallDriver(DeviceObject, Irp);
452 | if (st == STATUS_PENDING)
453 | {
454 | KeWaitForSingleObject(&Event, Executive, KernelMode, FALSE, NULL);
455 | }
456 | else
457 | {
458 | st = STATUS_SUCCESS;
459 | }
460 | }
461 | else
462 | {
463 | return STATUS_INSUFFICIENT_RESOURCES;
464 | }
465 |
466 | return st;
467 | }
468 |
469 |
470 |
471 | NTSTATUS DriverEntry(PDRIVER_OBJECT pdriverobject, PUNICODE_STRING RegisterPath)
472 | {
473 |
474 | DbgPrint("NetDrv Loaded");
475 |
476 | char recvrequest[1024] = { 0 };
477 | int size = 0;
478 | HANDLE AddressHandle = 0;
479 | PDEVICE_OBJECT DeviceObject = NULL;
480 | PFILE_OBJECT FileObject = NULL;
481 | NTSTATUS st;
482 |
483 | CHAR szHeader[] =
484 | "POST /panel/client.php HTTP/1.0\r\n"
485 | "Host: 192.168.1.33\r\n"
486 | "Content-Type: application/octet-stream\r\n"
487 | "Content-Encoding: binary\r\n"
488 | "Content-Length: 27\r\n"
489 | "Connection: close\r\n"
490 | "\r\n";
491 |
492 | char postreq[] = "name=kernelmode&password=tdi";
493 | int datalen = strlen(postreq);
494 | char header[sizeof(szHeader) + 100];
495 |
496 | RtlStringCchCopyA(header,sizeof(header), szHeader);
497 | int headerlen = strlen(header);
498 |
499 | // TDIKernelCreateTCPSocket acts like WSAStartup from winsock
500 |
501 | st = TDIKernelCreateTCPSocket(&AddressHandle, &FileObject, &DeviceObject);
502 | if (!NT_SUCCESS(st))
503 | {
504 | return STATUS_UNSUCCESSFUL;
505 | }
506 |
507 | // Connect to the remote server given 4 octal numbers and port number
508 |
509 | st = TDIKernelConnect(&FileObject, &DeviceObject, 80, 192, 168, 1, 33);
510 | if (!NT_SUCCESS(st))
511 | {
512 | return STATUS_UNSUCCESSFUL;
513 | }
514 |
515 | // send POST Request to the php panel
516 |
517 | st = TDISend(FileObject, DeviceObject, header, headerlen);
518 | if (!NT_SUCCESS(st))
519 | {
520 | return STATUS_UNSUCCESSFUL;
521 | }
522 |
523 | // send data
524 |
525 | st = TDISend(FileObject, DeviceObject, postreq, datalen);
526 | if (!NT_SUCCESS(st))
527 | {
528 | return STATUS_UNSUCCESSFUL;
529 | }
530 |
531 | // Receive HTTP request, response from the server
532 |
533 | st = TDIRecv(FileObject, DeviceObject, recvrequest, sizeof(recvrequest));
534 | if (!NT_SUCCESS(st))
535 | {
536 | return STATUS_UNSUCCESSFUL;
537 | }
538 |
539 | // null terminate the string
540 |
541 | recvrequest[strlen(recvrequest)] = '\0';
542 | DbgPrint("%s", recvrequest);
543 |
544 | // close socket
545 | // close AddressHandle
546 | // Decrement Object, we dont need it anymore
547 |
548 | TDICloseSocket(FileObject, DeviceObject);
549 | ZwClose(AddressHandle);
550 | ObfDereferenceObject(FileObject);
551 |
552 |
553 | pdriverobject->DriverUnload = Unload;
554 |
555 |
556 | return STATUS_SUCCESS;
557 |
558 | }
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # NetDriver
2 | kernel-mode TDI client which can send and receive HTTP requests
3 | Compiled using Visual Studio 2013
4 | To compile the driver, install WDK 8.1 https://www.microsoft.com/en-us/download/details.aspx?id=42273
5 |
--------------------------------------------------------------------------------
/Win7Debug/Net Package/Net.inf:
--------------------------------------------------------------------------------
1 | ;
2 | ; Net.inf
3 | ;
4 |
5 | [Version]
6 | Signature="$WINDOWS NT$"
7 | Class=
8 | ClassGuid=
9 | Provider=
10 | DriverVer=06/07/2018,16.35.31.266
11 | CatalogFile=
12 |
13 | [DestinationDirs]
14 | DefaultDestDir = 12
15 |
16 |
17 | [SourceDisksNames]
18 | 1 = %DiskName%,,,""
19 |
20 | [SourceDisksFiles]
21 |
22 |
23 | [Manufacturer]
24 | %ManufacturerName%=Standard,NTx86
25 |
26 | [Standard.NTx86]
27 |
28 |
29 | [Strings]
30 | ManufacturerName=""
31 | ClassName=""
32 | DiskName="Net Source Disk"
33 |
--------------------------------------------------------------------------------
/Win7Debug/Net Package/Net.sys:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexvogt91/NetDriver/c3074576202a3e49c65ad80b391a5579f8001f7a/Win7Debug/Net Package/Net.sys
--------------------------------------------------------------------------------
/Win7Debug/Net.cer:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alexvogt91/NetDriver/c3074576202a3e49c65ad80b391a5579f8001f7a/Win7Debug/Net.cer
--------------------------------------------------------------------------------
/Win7Debug/Net.inf:
--------------------------------------------------------------------------------
1 | ;
2 | ; Net.inf
3 | ;
4 |
5 | [Version]
6 | Signature="$WINDOWS NT$"
7 | Class=
8 | ClassGuid=
9 | Provider=
10 | DriverVer=06/09/2018,16.58.45.374
11 | CatalogFile=
12 |
13 | [DestinationDirs]
14 | DefaultDestDir = 12
15 |
16 |
17 | [SourceDisksNames]
18 | 1 = %DiskName%,,,""
19 |
20 | [SourceDisksFiles]
21 |
22 |
23 | [Manufacturer]
24 | %ManufacturerName%=Standard,NTx86
25 |
26 | [Standard.NTx86]
27 |
28 |
29 | [Strings]
30 | ManufacturerName=""
31 | ClassName=""
32 | DiskName="Net Source Disk"
33 |
--------------------------------------------------------------------------------