Skip to content

Commit d06b625

Browse files
committed
Add Beep Support
1 parent 8b23a30 commit d06b625

63 files changed

Lines changed: 208 additions & 51 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

MonikaDLL/.vs/MonikaDLL/v17/.suo

8 KB
Binary file not shown.
2.18 MB
Binary file not shown.

MonikaDLL/.vs/MonikaDLL/v17/DocumentLayout.backup.json

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22
"Version": 1,
33
"WorkspaceRootPath": "C:\\Users\\Administrator\\DDLC-MonikaInKernel\\MonikaDLL\\",
44
"Documents": [
5+
{
6+
"AbsoluteMoniker": "D:0:0:{AE2845F2-E06C-49D4-85C0-36A962F50764}|MonikaDLL.vcxproj|C:\\Users\\Administrator\\DDLC-MonikaInKernel\\MonikaDLL\\KernelWrapper.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
7+
"RelativeMoniker": "D:0:0:{AE2845F2-E06C-49D4-85C0-36A962F50764}|MonikaDLL.vcxproj|solutionrelative:KernelWrapper.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
8+
},
59
{
610
"AbsoluteMoniker": "D:0:0:{AE2845F2-E06C-49D4-85C0-36A962F50764}|MonikaDLL.vcxproj|C:\\Users\\Administrator\\DDLC-MonikaInKernel\\MonikaDLL\\dllmain.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
711
"RelativeMoniker": "D:0:0:{AE2845F2-E06C-49D4-85C0-36A962F50764}|MonikaDLL.vcxproj|solutionrelative:dllmain.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
@@ -19,12 +23,25 @@
1923
{
2024
"$type": "Document",
2125
"DocumentIndex": 0,
26+
"Title": "KernelWrapper.cpp",
27+
"DocumentMoniker": "C:\\Users\\Administrator\\DDLC-MonikaInKernel\\MonikaDLL\\KernelWrapper.cpp",
28+
"RelativeDocumentMoniker": "KernelWrapper.cpp",
29+
"ToolTip": "C:\\Users\\Administrator\\DDLC-MonikaInKernel\\MonikaDLL\\KernelWrapper.cpp",
30+
"RelativeToolTip": "KernelWrapper.cpp",
31+
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAgAAAAVAAAAAAAAAA==",
32+
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|",
33+
"WhenOpened": "2024-09-20T08:33:30.682Z",
34+
"EditorCaption": ""
35+
},
36+
{
37+
"$type": "Document",
38+
"DocumentIndex": 1,
2239
"Title": "dllmain.cpp",
2340
"DocumentMoniker": "C:\\Users\\Administrator\\DDLC-MonikaInKernel\\MonikaDLL\\dllmain.cpp",
2441
"RelativeDocumentMoniker": "dllmain.cpp",
2542
"ToolTip": "C:\\Users\\Administrator\\DDLC-MonikaInKernel\\MonikaDLL\\dllmain.cpp",
2643
"RelativeToolTip": "dllmain.cpp",
27-
"ViewState": "AgIAAF8AAAAA1czMzMwXwE4AAAAEAAAAAAAAAA==",
44+
"ViewState": "AgIAAAAAAAAAAAAAAAAAAC4AAAALAAAAAAAAAA==",
2845
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|",
2946
"WhenOpened": "2024-08-26T04:16:01.456Z",
3047
"EditorCaption": ""

MonikaDLL/.vs/MonikaDLL/v17/DocumentLayout.json

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22
"Version": 1,
33
"WorkspaceRootPath": "C:\\Users\\Administrator\\DDLC-MonikaInKernel\\MonikaDLL\\",
44
"Documents": [
5+
{
6+
"AbsoluteMoniker": "D:0:0:{AE2845F2-E06C-49D4-85C0-36A962F50764}|MonikaDLL.vcxproj|C:\\Users\\Administrator\\DDLC-MonikaInKernel\\MonikaDLL\\KernelWrapper.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
7+
"RelativeMoniker": "D:0:0:{AE2845F2-E06C-49D4-85C0-36A962F50764}|MonikaDLL.vcxproj|solutionrelative:KernelWrapper.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
8+
},
59
{
610
"AbsoluteMoniker": "D:0:0:{AE2845F2-E06C-49D4-85C0-36A962F50764}|MonikaDLL.vcxproj|C:\\Users\\Administrator\\DDLC-MonikaInKernel\\MonikaDLL\\dllmain.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
711
"RelativeMoniker": "D:0:0:{AE2845F2-E06C-49D4-85C0-36A962F50764}|MonikaDLL.vcxproj|solutionrelative:dllmain.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
@@ -19,12 +23,25 @@
1923
{
2024
"$type": "Document",
2125
"DocumentIndex": 0,
26+
"Title": "KernelWrapper.cpp",
27+
"DocumentMoniker": "C:\\Users\\Administrator\\DDLC-MonikaInKernel\\MonikaDLL\\KernelWrapper.cpp",
28+
"RelativeDocumentMoniker": "KernelWrapper.cpp",
29+
"ToolTip": "C:\\Users\\Administrator\\DDLC-MonikaInKernel\\MonikaDLL\\KernelWrapper.cpp",
30+
"RelativeToolTip": "KernelWrapper.cpp",
31+
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAgAAAAVAAAAAAAAAA==",
32+
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|",
33+
"WhenOpened": "2024-09-20T08:33:30.682Z",
34+
"EditorCaption": ""
35+
},
36+
{
37+
"$type": "Document",
38+
"DocumentIndex": 1,
2239
"Title": "dllmain.cpp",
2340
"DocumentMoniker": "C:\\Users\\Administrator\\DDLC-MonikaInKernel\\MonikaDLL\\dllmain.cpp",
2441
"RelativeDocumentMoniker": "dllmain.cpp",
2542
"ToolTip": "C:\\Users\\Administrator\\DDLC-MonikaInKernel\\MonikaDLL\\dllmain.cpp",
2643
"RelativeToolTip": "dllmain.cpp",
27-
"ViewState": "AgIAAF8AAAAA1czMzMwXwE4AAAAEAAAAAAAAAA==",
44+
"ViewState": "AgIAAAAAAAAAAAAAAAAAAC4AAAALAAAAAAAAAA==",
2845
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|",
2946
"WhenOpened": "2024-08-26T04:16:01.456Z",
3047
"EditorCaption": ""
0 Bytes
Binary file not shown.

MonikaDLL/KernelWrapper.cpp

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
#include "pch.h"
2+
3+
extern "C"
4+
{
5+
6+
#include <stdio.h>
7+
#include <stdint.h>
8+
#include <Windows.h>
9+
#include <winioctl.h>
10+
11+
HANDLE device = NULL;
12+
13+
typedef struct
14+
{
15+
UINT8 type;
16+
char msg[128];
17+
} MonikaObj;
18+
19+
#define RING3TO0_OBJ CTL_CODE(FILE_DEVICE_UNKNOWN, 0x910, METHOD_IN_DIRECT, FILE_WRITE_DATA)
20+
#define RING0TO3_OBJ CTL_CODE(FILE_DEVICE_UNKNOWN, 0x911, METHOD_BUFFERED, FILE_READ_DATA)
21+
#define RING3_REQUIRE_TESTSTR 0
22+
#define RING3_REQUIRE_BSOD 0x44
23+
#define RING3_REQUIRE_TESTFILE_CREATE 0x10
24+
#define RING3_REQUIRE_TESTFILE_DELETE 0x11
25+
#define RING3_REQUIRE_TESTPHYMEM_RW 0x20
26+
#define RING3_REQUIRE_TESTBEEP 0x99
27+
#define RING3_REQUIRE_START_BEEP 0x90
28+
#define RING3_REQUIRE_STOP_BEEP 0x91
29+
30+
__declspec(dllexport) void get_my_driver_handle()
31+
{
32+
device = CreateFile(L"\\\\.\\Monika_Link", GENERIC_READ | GENERIC_WRITE, 0, 0, OPEN_EXISTING, FILE_ATTRIBUTE_SYSTEM, 0);
33+
if (device == INVALID_HANDLE_VALUE) {
34+
printf("CreateFile failed!\n");
35+
device = NULL;
36+
}
37+
}
38+
39+
__declspec(dllexport) uint32_t MonikaBeepStart(uint16_t freq)
40+
{
41+
if (device == NULL) {
42+
printf("Device not opened!\n");
43+
return -1;
44+
}
45+
46+
MonikaObj ctlData = { RING3_REQUIRE_START_BEEP };
47+
*(uint16_t*)ctlData.msg = freq;
48+
DWORD ret_code;
49+
DeviceIoControl(device, RING3TO0_OBJ, &ctlData, sizeof(MonikaObj), NULL, 0, &ret_code, 0);
50+
return ret_code;
51+
}
52+
53+
__declspec(dllexport) uint32_t MonikaBeepStop()
54+
{
55+
if (device == NULL) {
56+
printf("Device not opened!\n");
57+
return -1;
58+
}
59+
60+
MonikaObj ctlData = { RING3_REQUIRE_STOP_BEEP };
61+
DWORD ret_code;
62+
DeviceIoControl(device, RING3TO0_OBJ, &ctlData, sizeof(MonikaObj), NULL, 0, &ret_code, 0);
63+
return ret_code;
64+
}
65+
66+
}

0 commit comments

Comments
 (0)