├── .gitignore
├── .vs
└── Empire
│ └── v14
│ └── .suo
├── ChangeLog.txt
├── Empire.VC.db
├── Empire.sln
├── Empire
├── Empire.inf
├── Empire.vcxproj
├── Empire.vcxproj.backup
├── Empire.vcxproj.filters
├── Empire.vcxproj.user
├── Main.c
├── Main.h
├── Win8.1Debug
│ ├── Empire.inf
│ ├── Empire.log
│ └── Empire.tlog
│ │ ├── Empire.lastbuildstate
│ │ ├── stampinf.command.1.tlog
│ │ ├── stampinf.read.1.tlog
│ │ ├── stampinf.write.1.tlog
│ │ ├── tracewpp.command.1.tlog
│ │ ├── tracewpp.read.1.tlog
│ │ └── unsuccessfulbuild
├── memory_module.c
└── memory_module.h
├── Empire_DLL
├── Empire_DLL.vcxproj
├── Empire_DLL.vcxproj.filters
├── Empire_DLL.vcxproj.user
├── main.cpp
└── x64
│ └── Release
│ ├── DLL.tlog
│ ├── CL.command.1.tlog
│ ├── CL.read.1.tlog
│ ├── CL.write.1.tlog
│ ├── DLL.lastbuildstate
│ ├── DLL.write.1u.tlog
│ ├── link.command.1.tlog
│ ├── link.read.1.tlog
│ └── link.write.1.tlog
│ ├── Empire.Build.CppClean.log
│ ├── Empire_DLL.log
│ ├── Empire_DLL.tlog
│ ├── CL.command.1.tlog
│ ├── CL.read.1.tlog
│ ├── CL.write.1.tlog
│ ├── Empire_DLL.lastbuildstate
│ ├── Empire_DLL.write.1u.tlog
│ ├── link.command.1.tlog
│ ├── link.read.1.tlog
│ └── link.write.1.tlog
│ ├── main.obj
│ └── vc140.pdb
├── Images
└── Main_Form.png
├── Main
├── About_Form.Designer.cs
├── About_Form.cs
├── About_Form.resx
├── App.config
├── ListViewEx.cs
├── Main.csproj
├── Main.csproj.user
├── Main_Form.Designer.cs
├── Main_Form.cs
├── Main_Form.resx
├── NewDesc_Form.Designer.cs
├── NewDesc_Form.cs
├── NewDesc_Form.resx
├── Process_Form.Designer.cs
├── Process_Form.cs
├── Process_Form.resx
├── Program.cs
├── Properties
│ ├── AssemblyInfo.cs
│ ├── Resources.Designer.cs
│ ├── Resources.resx
│ ├── Settings.Designer.cs
│ ├── Settings.settings
│ └── app.manifest
├── Resources
│ └── About_Image.png
├── Settings_Form.Designer.cs
├── Settings_Form.cs
├── Settings_Form.resx
├── VEdit_Form.Designer.cs
├── VEdit_Form.cs
└── VEdit_Form.resx
├── README.md
└── Win8.1Debug
└── Empire.inf
/.gitignore:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Empier/MemoryEditor/6d6460f0b44f13cbbbfae91820eb03c7c97204c5/.gitignore
--------------------------------------------------------------------------------
/.vs/Empire/v14/.suo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Empier/MemoryEditor/6d6460f0b44f13cbbbfae91820eb03c7c97204c5/.vs/Empire/v14/.suo
--------------------------------------------------------------------------------
/ChangeLog.txt:
--------------------------------------------------------------------------------
1 | 2018/05/03 :
2 | Error Fix
3 |
4 | 2018/05/04 :
5 | Add Settings_Form
6 | Add About_Form
7 | Modify Main_Form
8 |
9 |
--------------------------------------------------------------------------------
/Empire.VC.db:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Empier/MemoryEditor/6d6460f0b44f13cbbbfae91820eb03c7c97204c5/Empire.VC.db
--------------------------------------------------------------------------------
/Empire.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio 14
4 | VisualStudioVersion = 14.0.25420.1
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Empire", "Empire\Empire.vcxproj", "{DCEC27DD-9DFF-493C-AB0E-801BB5430CC9}"
7 | EndProject
8 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Empire_DLL", "Empire_DLL\Empire_DLL.vcxproj", "{E69F2B3B-A77A-4949-9A7C-25FF03583B44}"
9 | EndProject
10 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Main", "Main\Main.csproj", "{BDAF5AF5-A6A4-401F-9D02-19DAD8F7C99F}"
11 | EndProject
12 | Global
13 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
14 | Debug|Any CPU = Debug|Any CPU
15 | Debug|Mixed Platforms = Debug|Mixed Platforms
16 | Debug|Win32 = Debug|Win32
17 | Debug|x64 = Debug|x64
18 | Release_|Any CPU = Release_|Any CPU
19 | Release_|Mixed Platforms = Release_|Mixed Platforms
20 | Release_|Win32 = Release_|Win32
21 | Release_|x64 = Release_|x64
22 | Release|Any CPU = Release|Any CPU
23 | Release|Mixed Platforms = Release|Mixed Platforms
24 | Release|Win32 = Release|Win32
25 | Release|x64 = Release|x64
26 | Win7 Debug|Any CPU = Win7 Debug|Any CPU
27 | Win7 Debug|Mixed Platforms = Win7 Debug|Mixed Platforms
28 | Win7 Debug|Win32 = Win7 Debug|Win32
29 | Win7 Debug|x64 = Win7 Debug|x64
30 | Win7 Release|Any CPU = Win7 Release|Any CPU
31 | Win7 Release|Mixed Platforms = Win7 Release|Mixed Platforms
32 | Win7 Release|Win32 = Win7 Release|Win32
33 | Win7 Release|x64 = Win7 Release|x64
34 | Win8 Debug|Any CPU = Win8 Debug|Any CPU
35 | Win8 Debug|Mixed Platforms = Win8 Debug|Mixed Platforms
36 | Win8 Debug|Win32 = Win8 Debug|Win32
37 | Win8 Debug|x64 = Win8 Debug|x64
38 | Win8 Release|Any CPU = Win8 Release|Any CPU
39 | Win8 Release|Mixed Platforms = Win8 Release|Mixed Platforms
40 | Win8 Release|Win32 = Win8 Release|Win32
41 | Win8 Release|x64 = Win8 Release|x64
42 | Win8.1 Debug|Any CPU = Win8.1 Debug|Any CPU
43 | Win8.1 Debug|Mixed Platforms = Win8.1 Debug|Mixed Platforms
44 | Win8.1 Debug|Win32 = Win8.1 Debug|Win32
45 | Win8.1 Debug|x64 = Win8.1 Debug|x64
46 | Win8.1 Release|Any CPU = Win8.1 Release|Any CPU
47 | Win8.1 Release|Mixed Platforms = Win8.1 Release|Mixed Platforms
48 | Win8.1 Release|Win32 = Win8.1 Release|Win32
49 | Win8.1 Release|x64 = Win8.1 Release|x64
50 | EndGlobalSection
51 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
52 | {DCEC27DD-9DFF-493C-AB0E-801BB5430CC9}.Debug|Any CPU.ActiveCfg = Win8.1 Debug|Win32
53 | {DCEC27DD-9DFF-493C-AB0E-801BB5430CC9}.Debug|Mixed Platforms.ActiveCfg = Win8.1 Debug|Win32
54 | {DCEC27DD-9DFF-493C-AB0E-801BB5430CC9}.Debug|Mixed Platforms.Build.0 = Win8.1 Debug|Win32
55 | {DCEC27DD-9DFF-493C-AB0E-801BB5430CC9}.Debug|Win32.ActiveCfg = Win8.1 Debug|Win32
56 | {DCEC27DD-9DFF-493C-AB0E-801BB5430CC9}.Debug|Win32.Build.0 = Win8.1 Debug|Win32
57 | {DCEC27DD-9DFF-493C-AB0E-801BB5430CC9}.Debug|x64.ActiveCfg = Win8.1 Debug|x64
58 | {DCEC27DD-9DFF-493C-AB0E-801BB5430CC9}.Debug|x64.Build.0 = Win8.1 Debug|x64
59 | {DCEC27DD-9DFF-493C-AB0E-801BB5430CC9}.Debug|x64.Deploy.0 = Win8.1 Debug|x64
60 | {DCEC27DD-9DFF-493C-AB0E-801BB5430CC9}.Release_|Any CPU.ActiveCfg = Release_|Win32
61 | {DCEC27DD-9DFF-493C-AB0E-801BB5430CC9}.Release_|Mixed Platforms.ActiveCfg = Release_|x64
62 | {DCEC27DD-9DFF-493C-AB0E-801BB5430CC9}.Release_|Mixed Platforms.Build.0 = Release_|x64
63 | {DCEC27DD-9DFF-493C-AB0E-801BB5430CC9}.Release_|Mixed Platforms.Deploy.0 = Release_|x64
64 | {DCEC27DD-9DFF-493C-AB0E-801BB5430CC9}.Release_|Win32.ActiveCfg = Release_|Win32
65 | {DCEC27DD-9DFF-493C-AB0E-801BB5430CC9}.Release_|Win32.Build.0 = Release_|Win32
66 | {DCEC27DD-9DFF-493C-AB0E-801BB5430CC9}.Release_|Win32.Deploy.0 = Release_|Win32
67 | {DCEC27DD-9DFF-493C-AB0E-801BB5430CC9}.Release_|x64.ActiveCfg = Release_|x64
68 | {DCEC27DD-9DFF-493C-AB0E-801BB5430CC9}.Release_|x64.Build.0 = Release_|x64
69 | {DCEC27DD-9DFF-493C-AB0E-801BB5430CC9}.Release_|x64.Deploy.0 = Release_|x64
70 | {DCEC27DD-9DFF-493C-AB0E-801BB5430CC9}.Release|Any CPU.ActiveCfg = Win8.1 Release|Win32
71 | {DCEC27DD-9DFF-493C-AB0E-801BB5430CC9}.Release|Mixed Platforms.ActiveCfg = Release_|x64
72 | {DCEC27DD-9DFF-493C-AB0E-801BB5430CC9}.Release|Mixed Platforms.Build.0 = Release_|x64
73 | {DCEC27DD-9DFF-493C-AB0E-801BB5430CC9}.Release|Win32.ActiveCfg = Win8.1 Release|Win32
74 | {DCEC27DD-9DFF-493C-AB0E-801BB5430CC9}.Release|Win32.Build.0 = Win8.1 Release|Win32
75 | {DCEC27DD-9DFF-493C-AB0E-801BB5430CC9}.Release|x64.ActiveCfg = Win8.1 Release|x64
76 | {DCEC27DD-9DFF-493C-AB0E-801BB5430CC9}.Release|x64.Build.0 = Win8.1 Release|x64
77 | {DCEC27DD-9DFF-493C-AB0E-801BB5430CC9}.Release|x64.Deploy.0 = Win8.1 Release|x64
78 | {DCEC27DD-9DFF-493C-AB0E-801BB5430CC9}.Win7 Debug|Any CPU.ActiveCfg = Win7 Debug|Win32
79 | {DCEC27DD-9DFF-493C-AB0E-801BB5430CC9}.Win7 Debug|Mixed Platforms.ActiveCfg = Win7 Debug|Win32
80 | {DCEC27DD-9DFF-493C-AB0E-801BB5430CC9}.Win7 Debug|Mixed Platforms.Build.0 = Win7 Debug|Win32
81 | {DCEC27DD-9DFF-493C-AB0E-801BB5430CC9}.Win7 Debug|Win32.ActiveCfg = Win7 Debug|Win32
82 | {DCEC27DD-9DFF-493C-AB0E-801BB5430CC9}.Win7 Debug|Win32.Build.0 = Win7 Debug|Win32
83 | {DCEC27DD-9DFF-493C-AB0E-801BB5430CC9}.Win7 Debug|x64.ActiveCfg = Win7 Debug|x64
84 | {DCEC27DD-9DFF-493C-AB0E-801BB5430CC9}.Win7 Debug|x64.Build.0 = Win7 Debug|x64
85 | {DCEC27DD-9DFF-493C-AB0E-801BB5430CC9}.Win7 Debug|x64.Deploy.0 = Win7 Debug|x64
86 | {DCEC27DD-9DFF-493C-AB0E-801BB5430CC9}.Win7 Release|Any CPU.ActiveCfg = Win7 Release|Win32
87 | {DCEC27DD-9DFF-493C-AB0E-801BB5430CC9}.Win7 Release|Mixed Platforms.ActiveCfg = Win7 Release|x64
88 | {DCEC27DD-9DFF-493C-AB0E-801BB5430CC9}.Win7 Release|Mixed Platforms.Build.0 = Win7 Release|x64
89 | {DCEC27DD-9DFF-493C-AB0E-801BB5430CC9}.Win7 Release|Win32.ActiveCfg = Win7 Release|Win32
90 | {DCEC27DD-9DFF-493C-AB0E-801BB5430CC9}.Win7 Release|Win32.Build.0 = Win7 Release|Win32
91 | {DCEC27DD-9DFF-493C-AB0E-801BB5430CC9}.Win7 Release|x64.ActiveCfg = Win7 Release|x64
92 | {DCEC27DD-9DFF-493C-AB0E-801BB5430CC9}.Win7 Release|x64.Build.0 = Win7 Release|x64
93 | {DCEC27DD-9DFF-493C-AB0E-801BB5430CC9}.Win7 Release|x64.Deploy.0 = Win7 Release|x64
94 | {DCEC27DD-9DFF-493C-AB0E-801BB5430CC9}.Win8 Debug|Any CPU.ActiveCfg = Win8 Debug|Win32
95 | {DCEC27DD-9DFF-493C-AB0E-801BB5430CC9}.Win8 Debug|Mixed Platforms.ActiveCfg = Win8 Debug|Win32
96 | {DCEC27DD-9DFF-493C-AB0E-801BB5430CC9}.Win8 Debug|Mixed Platforms.Build.0 = Win8 Debug|Win32
97 | {DCEC27DD-9DFF-493C-AB0E-801BB5430CC9}.Win8 Debug|Win32.ActiveCfg = Win8 Debug|Win32
98 | {DCEC27DD-9DFF-493C-AB0E-801BB5430CC9}.Win8 Debug|Win32.Build.0 = Win8 Debug|Win32
99 | {DCEC27DD-9DFF-493C-AB0E-801BB5430CC9}.Win8 Debug|x64.ActiveCfg = Win8 Debug|x64
100 | {DCEC27DD-9DFF-493C-AB0E-801BB5430CC9}.Win8 Debug|x64.Build.0 = Win8 Debug|x64
101 | {DCEC27DD-9DFF-493C-AB0E-801BB5430CC9}.Win8 Debug|x64.Deploy.0 = Win8 Debug|x64
102 | {DCEC27DD-9DFF-493C-AB0E-801BB5430CC9}.Win8 Release|Any CPU.ActiveCfg = Win8 Release|Win32
103 | {DCEC27DD-9DFF-493C-AB0E-801BB5430CC9}.Win8 Release|Mixed Platforms.ActiveCfg = Win8 Release|Win32
104 | {DCEC27DD-9DFF-493C-AB0E-801BB5430CC9}.Win8 Release|Mixed Platforms.Build.0 = Win8 Release|Win32
105 | {DCEC27DD-9DFF-493C-AB0E-801BB5430CC9}.Win8 Release|Win32.ActiveCfg = Win8 Release|Win32
106 | {DCEC27DD-9DFF-493C-AB0E-801BB5430CC9}.Win8 Release|Win32.Build.0 = Win8 Release|Win32
107 | {DCEC27DD-9DFF-493C-AB0E-801BB5430CC9}.Win8 Release|x64.ActiveCfg = Win8 Release|x64
108 | {DCEC27DD-9DFF-493C-AB0E-801BB5430CC9}.Win8 Release|x64.Build.0 = Win8 Release|x64
109 | {DCEC27DD-9DFF-493C-AB0E-801BB5430CC9}.Win8 Release|x64.Deploy.0 = Win8 Release|x64
110 | {DCEC27DD-9DFF-493C-AB0E-801BB5430CC9}.Win8.1 Debug|Any CPU.ActiveCfg = Win8.1 Debug|Win32
111 | {DCEC27DD-9DFF-493C-AB0E-801BB5430CC9}.Win8.1 Debug|Mixed Platforms.ActiveCfg = Win8.1 Debug|Win32
112 | {DCEC27DD-9DFF-493C-AB0E-801BB5430CC9}.Win8.1 Debug|Mixed Platforms.Build.0 = Win8.1 Debug|Win32
113 | {DCEC27DD-9DFF-493C-AB0E-801BB5430CC9}.Win8.1 Debug|Win32.ActiveCfg = Win8.1 Debug|Win32
114 | {DCEC27DD-9DFF-493C-AB0E-801BB5430CC9}.Win8.1 Debug|Win32.Build.0 = Win8.1 Debug|Win32
115 | {DCEC27DD-9DFF-493C-AB0E-801BB5430CC9}.Win8.1 Debug|x64.ActiveCfg = Win8.1 Debug|x64
116 | {DCEC27DD-9DFF-493C-AB0E-801BB5430CC9}.Win8.1 Debug|x64.Build.0 = Win8.1 Debug|x64
117 | {DCEC27DD-9DFF-493C-AB0E-801BB5430CC9}.Win8.1 Debug|x64.Deploy.0 = Win8.1 Debug|x64
118 | {DCEC27DD-9DFF-493C-AB0E-801BB5430CC9}.Win8.1 Release|Any CPU.ActiveCfg = Win8.1 Release|Win32
119 | {DCEC27DD-9DFF-493C-AB0E-801BB5430CC9}.Win8.1 Release|Mixed Platforms.ActiveCfg = Win8.1 Release|Win32
120 | {DCEC27DD-9DFF-493C-AB0E-801BB5430CC9}.Win8.1 Release|Mixed Platforms.Build.0 = Win8.1 Release|Win32
121 | {DCEC27DD-9DFF-493C-AB0E-801BB5430CC9}.Win8.1 Release|Win32.ActiveCfg = Win8.1 Release|Win32
122 | {DCEC27DD-9DFF-493C-AB0E-801BB5430CC9}.Win8.1 Release|Win32.Build.0 = Win8.1 Release|Win32
123 | {DCEC27DD-9DFF-493C-AB0E-801BB5430CC9}.Win8.1 Release|x64.ActiveCfg = Win8.1 Release|x64
124 | {DCEC27DD-9DFF-493C-AB0E-801BB5430CC9}.Win8.1 Release|x64.Build.0 = Win8.1 Release|x64
125 | {DCEC27DD-9DFF-493C-AB0E-801BB5430CC9}.Win8.1 Release|x64.Deploy.0 = Win8.1 Release|x64
126 | {E69F2B3B-A77A-4949-9A7C-25FF03583B44}.Debug|Any CPU.ActiveCfg = Debug|Win32
127 | {E69F2B3B-A77A-4949-9A7C-25FF03583B44}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
128 | {E69F2B3B-A77A-4949-9A7C-25FF03583B44}.Debug|Mixed Platforms.Build.0 = Debug|Win32
129 | {E69F2B3B-A77A-4949-9A7C-25FF03583B44}.Debug|Win32.ActiveCfg = Debug|Win32
130 | {E69F2B3B-A77A-4949-9A7C-25FF03583B44}.Debug|Win32.Build.0 = Debug|Win32
131 | {E69F2B3B-A77A-4949-9A7C-25FF03583B44}.Debug|x64.ActiveCfg = Debug|Win32
132 | {E69F2B3B-A77A-4949-9A7C-25FF03583B44}.Release_|Any CPU.ActiveCfg = Release|Win32
133 | {E69F2B3B-A77A-4949-9A7C-25FF03583B44}.Release_|Any CPU.Build.0 = Release|Win32
134 | {E69F2B3B-A77A-4949-9A7C-25FF03583B44}.Release_|Mixed Platforms.ActiveCfg = Release|Win32
135 | {E69F2B3B-A77A-4949-9A7C-25FF03583B44}.Release_|Mixed Platforms.Build.0 = Release|Win32
136 | {E69F2B3B-A77A-4949-9A7C-25FF03583B44}.Release_|Win32.ActiveCfg = Release|Win32
137 | {E69F2B3B-A77A-4949-9A7C-25FF03583B44}.Release_|Win32.Build.0 = Release|Win32
138 | {E69F2B3B-A77A-4949-9A7C-25FF03583B44}.Release_|x64.ActiveCfg = Release|Win32
139 | {E69F2B3B-A77A-4949-9A7C-25FF03583B44}.Release_|x64.Build.0 = Release|Win32
140 | {E69F2B3B-A77A-4949-9A7C-25FF03583B44}.Release|Any CPU.ActiveCfg = Release|Win32
141 | {E69F2B3B-A77A-4949-9A7C-25FF03583B44}.Release|Mixed Platforms.ActiveCfg = Release|x64
142 | {E69F2B3B-A77A-4949-9A7C-25FF03583B44}.Release|Mixed Platforms.Build.0 = Release|x64
143 | {E69F2B3B-A77A-4949-9A7C-25FF03583B44}.Release|Win32.ActiveCfg = Release|Win32
144 | {E69F2B3B-A77A-4949-9A7C-25FF03583B44}.Release|Win32.Build.0 = Release|Win32
145 | {E69F2B3B-A77A-4949-9A7C-25FF03583B44}.Release|x64.ActiveCfg = Release|Win32
146 | {E69F2B3B-A77A-4949-9A7C-25FF03583B44}.Win7 Debug|Any CPU.ActiveCfg = Debug|Win32
147 | {E69F2B3B-A77A-4949-9A7C-25FF03583B44}.Win7 Debug|Mixed Platforms.ActiveCfg = Debug|Win32
148 | {E69F2B3B-A77A-4949-9A7C-25FF03583B44}.Win7 Debug|Mixed Platforms.Build.0 = Debug|Win32
149 | {E69F2B3B-A77A-4949-9A7C-25FF03583B44}.Win7 Debug|Win32.ActiveCfg = Debug|Win32
150 | {E69F2B3B-A77A-4949-9A7C-25FF03583B44}.Win7 Debug|Win32.Build.0 = Debug|Win32
151 | {E69F2B3B-A77A-4949-9A7C-25FF03583B44}.Win7 Debug|x64.ActiveCfg = Debug|Win32
152 | {E69F2B3B-A77A-4949-9A7C-25FF03583B44}.Win7 Release|Any CPU.ActiveCfg = Release|Win32
153 | {E69F2B3B-A77A-4949-9A7C-25FF03583B44}.Win7 Release|Mixed Platforms.ActiveCfg = Release|Win32
154 | {E69F2B3B-A77A-4949-9A7C-25FF03583B44}.Win7 Release|Mixed Platforms.Build.0 = Release|Win32
155 | {E69F2B3B-A77A-4949-9A7C-25FF03583B44}.Win7 Release|Win32.ActiveCfg = Release|Win32
156 | {E69F2B3B-A77A-4949-9A7C-25FF03583B44}.Win7 Release|Win32.Build.0 = Release|Win32
157 | {E69F2B3B-A77A-4949-9A7C-25FF03583B44}.Win7 Release|x64.ActiveCfg = Release|Win32
158 | {E69F2B3B-A77A-4949-9A7C-25FF03583B44}.Win8 Debug|Any CPU.ActiveCfg = Debug|Win32
159 | {E69F2B3B-A77A-4949-9A7C-25FF03583B44}.Win8 Debug|Mixed Platforms.ActiveCfg = Debug|Win32
160 | {E69F2B3B-A77A-4949-9A7C-25FF03583B44}.Win8 Debug|Mixed Platforms.Build.0 = Debug|Win32
161 | {E69F2B3B-A77A-4949-9A7C-25FF03583B44}.Win8 Debug|Win32.ActiveCfg = Debug|Win32
162 | {E69F2B3B-A77A-4949-9A7C-25FF03583B44}.Win8 Debug|Win32.Build.0 = Debug|Win32
163 | {E69F2B3B-A77A-4949-9A7C-25FF03583B44}.Win8 Debug|x64.ActiveCfg = Debug|Win32
164 | {E69F2B3B-A77A-4949-9A7C-25FF03583B44}.Win8 Release|Any CPU.ActiveCfg = Release|Win32
165 | {E69F2B3B-A77A-4949-9A7C-25FF03583B44}.Win8 Release|Mixed Platforms.ActiveCfg = Release|Win32
166 | {E69F2B3B-A77A-4949-9A7C-25FF03583B44}.Win8 Release|Mixed Platforms.Build.0 = Release|Win32
167 | {E69F2B3B-A77A-4949-9A7C-25FF03583B44}.Win8 Release|Win32.ActiveCfg = Release|Win32
168 | {E69F2B3B-A77A-4949-9A7C-25FF03583B44}.Win8 Release|Win32.Build.0 = Release|Win32
169 | {E69F2B3B-A77A-4949-9A7C-25FF03583B44}.Win8 Release|x64.ActiveCfg = Release|Win32
170 | {E69F2B3B-A77A-4949-9A7C-25FF03583B44}.Win8.1 Debug|Any CPU.ActiveCfg = Debug|Win32
171 | {E69F2B3B-A77A-4949-9A7C-25FF03583B44}.Win8.1 Debug|Mixed Platforms.ActiveCfg = Debug|Win32
172 | {E69F2B3B-A77A-4949-9A7C-25FF03583B44}.Win8.1 Debug|Mixed Platforms.Build.0 = Debug|Win32
173 | {E69F2B3B-A77A-4949-9A7C-25FF03583B44}.Win8.1 Debug|Win32.ActiveCfg = Debug|Win32
174 | {E69F2B3B-A77A-4949-9A7C-25FF03583B44}.Win8.1 Debug|Win32.Build.0 = Debug|Win32
175 | {E69F2B3B-A77A-4949-9A7C-25FF03583B44}.Win8.1 Debug|x64.ActiveCfg = Debug|Win32
176 | {E69F2B3B-A77A-4949-9A7C-25FF03583B44}.Win8.1 Release|Any CPU.ActiveCfg = Release|Win32
177 | {E69F2B3B-A77A-4949-9A7C-25FF03583B44}.Win8.1 Release|Mixed Platforms.ActiveCfg = Release|Win32
178 | {E69F2B3B-A77A-4949-9A7C-25FF03583B44}.Win8.1 Release|Mixed Platforms.Build.0 = Release|Win32
179 | {E69F2B3B-A77A-4949-9A7C-25FF03583B44}.Win8.1 Release|Win32.ActiveCfg = Release|Win32
180 | {E69F2B3B-A77A-4949-9A7C-25FF03583B44}.Win8.1 Release|Win32.Build.0 = Release|Win32
181 | {E69F2B3B-A77A-4949-9A7C-25FF03583B44}.Win8.1 Release|x64.ActiveCfg = Release|Win32
182 | {BDAF5AF5-A6A4-401F-9D02-19DAD8F7C99F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
183 | {BDAF5AF5-A6A4-401F-9D02-19DAD8F7C99F}.Debug|Any CPU.Build.0 = Debug|Any CPU
184 | {BDAF5AF5-A6A4-401F-9D02-19DAD8F7C99F}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
185 | {BDAF5AF5-A6A4-401F-9D02-19DAD8F7C99F}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
186 | {BDAF5AF5-A6A4-401F-9D02-19DAD8F7C99F}.Debug|Win32.ActiveCfg = Debug|Any CPU
187 | {BDAF5AF5-A6A4-401F-9D02-19DAD8F7C99F}.Debug|x64.ActiveCfg = Debug|Any CPU
188 | {BDAF5AF5-A6A4-401F-9D02-19DAD8F7C99F}.Release_|Any CPU.ActiveCfg = Release|Any CPU
189 | {BDAF5AF5-A6A4-401F-9D02-19DAD8F7C99F}.Release_|Any CPU.Build.0 = Release|Any CPU
190 | {BDAF5AF5-A6A4-401F-9D02-19DAD8F7C99F}.Release_|Mixed Platforms.ActiveCfg = Release|Any CPU
191 | {BDAF5AF5-A6A4-401F-9D02-19DAD8F7C99F}.Release_|Mixed Platforms.Build.0 = Release|Any CPU
192 | {BDAF5AF5-A6A4-401F-9D02-19DAD8F7C99F}.Release_|Win32.ActiveCfg = Release|Any CPU
193 | {BDAF5AF5-A6A4-401F-9D02-19DAD8F7C99F}.Release_|Win32.Build.0 = Release|Any CPU
194 | {BDAF5AF5-A6A4-401F-9D02-19DAD8F7C99F}.Release_|x64.ActiveCfg = Release|Any CPU
195 | {BDAF5AF5-A6A4-401F-9D02-19DAD8F7C99F}.Release_|x64.Build.0 = Release|Any CPU
196 | {BDAF5AF5-A6A4-401F-9D02-19DAD8F7C99F}.Release|Any CPU.ActiveCfg = Release|Any CPU
197 | {BDAF5AF5-A6A4-401F-9D02-19DAD8F7C99F}.Release|Any CPU.Build.0 = Release|Any CPU
198 | {BDAF5AF5-A6A4-401F-9D02-19DAD8F7C99F}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
199 | {BDAF5AF5-A6A4-401F-9D02-19DAD8F7C99F}.Release|Mixed Platforms.Build.0 = Release|Any CPU
200 | {BDAF5AF5-A6A4-401F-9D02-19DAD8F7C99F}.Release|Win32.ActiveCfg = Release|Any CPU
201 | {BDAF5AF5-A6A4-401F-9D02-19DAD8F7C99F}.Release|x64.ActiveCfg = Release|Any CPU
202 | {BDAF5AF5-A6A4-401F-9D02-19DAD8F7C99F}.Win7 Debug|Any CPU.ActiveCfg = Debug|Any CPU
203 | {BDAF5AF5-A6A4-401F-9D02-19DAD8F7C99F}.Win7 Debug|Any CPU.Build.0 = Debug|Any CPU
204 | {BDAF5AF5-A6A4-401F-9D02-19DAD8F7C99F}.Win7 Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
205 | {BDAF5AF5-A6A4-401F-9D02-19DAD8F7C99F}.Win7 Debug|Mixed Platforms.Build.0 = Debug|Any CPU
206 | {BDAF5AF5-A6A4-401F-9D02-19DAD8F7C99F}.Win7 Debug|Win32.ActiveCfg = Debug|Any CPU
207 | {BDAF5AF5-A6A4-401F-9D02-19DAD8F7C99F}.Win7 Debug|x64.ActiveCfg = Debug|Any CPU
208 | {BDAF5AF5-A6A4-401F-9D02-19DAD8F7C99F}.Win7 Release|Any CPU.ActiveCfg = Release|Any CPU
209 | {BDAF5AF5-A6A4-401F-9D02-19DAD8F7C99F}.Win7 Release|Any CPU.Build.0 = Release|Any CPU
210 | {BDAF5AF5-A6A4-401F-9D02-19DAD8F7C99F}.Win7 Release|Mixed Platforms.ActiveCfg = Release|Any CPU
211 | {BDAF5AF5-A6A4-401F-9D02-19DAD8F7C99F}.Win7 Release|Mixed Platforms.Build.0 = Release|Any CPU
212 | {BDAF5AF5-A6A4-401F-9D02-19DAD8F7C99F}.Win7 Release|Win32.ActiveCfg = Release|Any CPU
213 | {BDAF5AF5-A6A4-401F-9D02-19DAD8F7C99F}.Win7 Release|x64.ActiveCfg = Release|Any CPU
214 | {BDAF5AF5-A6A4-401F-9D02-19DAD8F7C99F}.Win8 Debug|Any CPU.ActiveCfg = Debug|Any CPU
215 | {BDAF5AF5-A6A4-401F-9D02-19DAD8F7C99F}.Win8 Debug|Any CPU.Build.0 = Debug|Any CPU
216 | {BDAF5AF5-A6A4-401F-9D02-19DAD8F7C99F}.Win8 Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
217 | {BDAF5AF5-A6A4-401F-9D02-19DAD8F7C99F}.Win8 Debug|Mixed Platforms.Build.0 = Debug|Any CPU
218 | {BDAF5AF5-A6A4-401F-9D02-19DAD8F7C99F}.Win8 Debug|Win32.ActiveCfg = Debug|Any CPU
219 | {BDAF5AF5-A6A4-401F-9D02-19DAD8F7C99F}.Win8 Debug|x64.ActiveCfg = Debug|Any CPU
220 | {BDAF5AF5-A6A4-401F-9D02-19DAD8F7C99F}.Win8 Release|Any CPU.ActiveCfg = Release|Any CPU
221 | {BDAF5AF5-A6A4-401F-9D02-19DAD8F7C99F}.Win8 Release|Any CPU.Build.0 = Release|Any CPU
222 | {BDAF5AF5-A6A4-401F-9D02-19DAD8F7C99F}.Win8 Release|Mixed Platforms.ActiveCfg = Release|Any CPU
223 | {BDAF5AF5-A6A4-401F-9D02-19DAD8F7C99F}.Win8 Release|Mixed Platforms.Build.0 = Release|Any CPU
224 | {BDAF5AF5-A6A4-401F-9D02-19DAD8F7C99F}.Win8 Release|Win32.ActiveCfg = Release|Any CPU
225 | {BDAF5AF5-A6A4-401F-9D02-19DAD8F7C99F}.Win8 Release|x64.ActiveCfg = Release|Any CPU
226 | {BDAF5AF5-A6A4-401F-9D02-19DAD8F7C99F}.Win8.1 Debug|Any CPU.ActiveCfg = Debug|Any CPU
227 | {BDAF5AF5-A6A4-401F-9D02-19DAD8F7C99F}.Win8.1 Debug|Any CPU.Build.0 = Debug|Any CPU
228 | {BDAF5AF5-A6A4-401F-9D02-19DAD8F7C99F}.Win8.1 Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
229 | {BDAF5AF5-A6A4-401F-9D02-19DAD8F7C99F}.Win8.1 Debug|Mixed Platforms.Build.0 = Debug|Any CPU
230 | {BDAF5AF5-A6A4-401F-9D02-19DAD8F7C99F}.Win8.1 Debug|Win32.ActiveCfg = Debug|Any CPU
231 | {BDAF5AF5-A6A4-401F-9D02-19DAD8F7C99F}.Win8.1 Debug|x64.ActiveCfg = Debug|Any CPU
232 | {BDAF5AF5-A6A4-401F-9D02-19DAD8F7C99F}.Win8.1 Release|Any CPU.ActiveCfg = Release|Any CPU
233 | {BDAF5AF5-A6A4-401F-9D02-19DAD8F7C99F}.Win8.1 Release|Any CPU.Build.0 = Release|Any CPU
234 | {BDAF5AF5-A6A4-401F-9D02-19DAD8F7C99F}.Win8.1 Release|Mixed Platforms.ActiveCfg = Release|Any CPU
235 | {BDAF5AF5-A6A4-401F-9D02-19DAD8F7C99F}.Win8.1 Release|Mixed Platforms.Build.0 = Release|Any CPU
236 | {BDAF5AF5-A6A4-401F-9D02-19DAD8F7C99F}.Win8.1 Release|Win32.ActiveCfg = Release|Any CPU
237 | {BDAF5AF5-A6A4-401F-9D02-19DAD8F7C99F}.Win8.1 Release|x64.ActiveCfg = Release|Any CPU
238 | EndGlobalSection
239 | GlobalSection(SolutionProperties) = preSolution
240 | HideSolutionNode = FALSE
241 | EndGlobalSection
242 | EndGlobal
243 |
--------------------------------------------------------------------------------
/Empire/Empire.inf:
--------------------------------------------------------------------------------
1 | ;
2 | ; Empire.inf
3 | ;
4 |
5 | [Version]
6 | Signature="$WINDOWS NT$"
7 | Class=Sample ; TODO: edit Class
8 | ClassGuid={78A1C341-4539-11d3-B88D-00C04FAD5171} ; TODO: edit ClassGuid
9 | Provider=ASF%ManufacturerName%
10 | CatalogFile=Empire.cat
11 | DriverVer= ; TODO: set DriverVer in stampinf property pages
12 |
13 | ;[DestinationDirs]
14 | ;DefaultDestDir = 12
15 |
16 | ; ================= Class section =====================
17 |
18 | [ClassInstall32]
19 | Addreg=SampleClassReg
20 |
21 | [SampleClassReg]
22 | HKR,,,0,%ClassName%
23 | HKR,,Icon,,-5
24 |
25 | [SourceDisksNames]
26 | 1 = %DiskName%,,,""
27 |
28 | ;[SourceDisksFiles]
29 | ;Empire.sys = 1,,
30 |
31 | ;*****************************************
32 | ; Install Section
33 | ;*****************************************
34 |
35 | [Manufacturer]
36 | %ManufacturerName%=Standard,NT$ARCH$
37 |
38 | [Standard.NT$ARCH$]
39 | %Empire.DeviceDesc%=Empire_Device, Root\Empire ; TODO: edit hw-id
40 |
41 | [Empire_Device.NT]
42 | CopyFiles=Drivers_Dir
43 |
44 | [Drivers_Dir]
45 | Empire.sys
46 |
47 |
48 | ;-------------- Service installation
49 | [Empire_Device.NT.Services]
50 | AddService = Empire,%SPSVCINST_ASSOCSERVICE%, Empire_Service_Inst
51 |
52 | ; -------------- Empire driver install sections
53 | [Empire_Service_Inst]
54 | DisplayName = %Empire.SVCDESC%
55 | ServiceType = 1 ; SERVICE_KERNEL_DRIVER
56 | StartType = 3 ; SERVICE_DEMAND_START
57 | ErrorControl = 1 ; SERVICE_ERROR_NORMAL
58 | ServiceBinary = %12%\Empire.sys
59 | LoadOrderGroup = Extended Base
60 |
61 | ;
62 | ;--- Empire_Device Coinstaller installation ------
63 | ;
64 |
65 | [DestinationDirs]
66 | Empire_Device_CoInstaller_CopyFiles = 11
67 |
68 | [Empire_Device.NT.CoInstallers]
69 | AddReg=Empire_Device_CoInstaller_AddReg
70 | CopyFiles=Empire_Device_CoInstaller_CopyFiles
71 |
72 | [Empire_Device_CoInstaller_AddReg]
73 | HKR,,CoInstallers32,0x00010000, "WdfCoInstaller$KMDFCOINSTALLERVERSION$.dll,WdfCoInstaller"
74 |
75 | [Empire_Device_CoInstaller_CopyFiles]
76 | WdfCoInstaller$KMDFCOINSTALLERVERSION$.dll
77 |
78 | [SourceDisksFiles]
79 | WdfCoInstaller$KMDFCOINSTALLERVERSION$.dll=1 ; make sure the number matches with SourceDisksNames
80 | Empire.sys = 1,,
81 |
82 | [Empire_Device.NT.Wdf]
83 | KmdfService = Empire, Empire_wdfsect
84 | [Empire_wdfsect]
85 | KmdfLibraryVersion = $KMDFVERSION$
86 |
87 | [Strings]
88 | SPSVCINST_ASSOCSERVICE= 0x00000002
89 | ManufacturerName="" ; TODO: add ManufacturerName
90 | ClassName="Samples" ; TODO: edit ClassName
91 | DiskName = "Empire Installation Disk"
92 | Empire.DeviceDesc = "Empire Device"
93 | Empire.SVCDESC = "Empire Service"
94 |
--------------------------------------------------------------------------------
/Empire/Empire.vcxproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Release_
6 | Win32
7 |
8 |
9 | Release_
10 | x64
11 |
12 |
13 | Win8.1 Debug
14 | Win32
15 |
16 |
17 | Win8.1 Release
18 | Win32
19 |
20 |
21 | Win8 Debug
22 | Win32
23 |
24 |
25 | Win8 Release
26 | Win32
27 |
28 |
29 | Win7 Debug
30 | Win32
31 |
32 |
33 | Win7 Release
34 | Win32
35 |
36 |
37 | Win8.1 Debug
38 | x64
39 |
40 |
41 | Win8.1 Release
42 | x64
43 |
44 |
45 | Win8 Debug
46 | x64
47 |
48 |
49 | Win8 Release
50 | x64
51 |
52 |
53 | Win7 Debug
54 | x64
55 |
56 |
57 | Win7 Release
58 | x64
59 |
60 |
61 |
62 | {DCEC27DD-9DFF-493C-AB0E-801BB5430CC9}
63 | {1bc93793-694f-48fe-9372-81e2b05556fd}
64 | v4.5
65 | 11.0
66 | Win8.1 Debug
67 | Win32
68 | Empire
69 | Empire
70 |
71 |
72 |
73 | WindowsV6.3
74 | true
75 | WindowsKernelModeDriver10.0
76 | Driver
77 | KMDF
78 |
79 |
80 | WindowsV6.3
81 | false
82 | WindowsKernelModeDriver10.0
83 | Driver
84 | KMDF
85 |
86 |
87 | Windows8
88 | true
89 | WindowsKernelModeDriver10.0
90 | Driver
91 | KMDF
92 |
93 |
94 | Windows8
95 | false
96 | WindowsKernelModeDriver10.0
97 | Driver
98 | KMDF
99 |
100 |
101 | Windows7
102 | true
103 | WindowsKernelModeDriver10.0
104 | Driver
105 | KMDF
106 |
107 |
108 | Windows7
109 | false
110 | WindowsKernelModeDriver10.0
111 | Driver
112 | KMDF
113 |
114 |
115 | Windows7
116 | false
117 | WindowsKernelModeDriver10.0
118 | Driver
119 | KMDF
120 |
121 |
122 | WindowsV6.3
123 | true
124 | WindowsKernelModeDriver10.0
125 | Driver
126 | KMDF
127 |
128 |
129 | WindowsV6.3
130 | false
131 | WindowsKernelModeDriver10.0
132 | Driver
133 | KMDF
134 |
135 |
136 | Windows8
137 | true
138 | WindowsKernelModeDriver10.0
139 | Driver
140 | KMDF
141 |
142 |
143 | Windows8
144 | false
145 | WindowsKernelModeDriver10.0
146 | Driver
147 | KMDF
148 |
149 |
150 | Windows7
151 | true
152 | WindowsKernelModeDriver10.0
153 | Driver
154 | KMDF
155 |
156 |
157 | Windows7
158 | false
159 | WindowsKernelModeDriver10.0
160 | Driver
161 | KMDF
162 |
163 |
164 |
165 |
166 | false
167 | WindowsKernelModeDriver10.0
168 | Driver
169 | KMDF
170 |
171 |
172 |
173 |
174 |
175 |
176 |
177 |
178 |
179 |
180 | DbgengKernelDebugger
181 |
182 |
183 | DbgengKernelDebugger
184 |
185 |
186 | DbgengKernelDebugger
187 |
188 |
189 | DbgengKernelDebugger
190 |
191 |
192 | DbgengKernelDebugger
193 |
194 |
195 | DbgengKernelDebugger
196 |
197 |
198 | DbgengKernelDebugger
199 |
200 |
201 | DbgengKernelDebugger
202 |
203 |
204 | DbgengKernelDebugger
205 |
206 |
207 | DbgengKernelDebugger
208 |
209 |
210 | DbgengKernelDebugger
211 |
212 |
213 | DbgengKernelDebugger
214 |
215 |
216 | DbgengKernelDebugger
217 | true
218 | $(SolutionDir)bin
219 | $(Platform)\$(ConfigurationName)
220 |
221 |
222 | DbgengKernelDebugger
223 | true
224 | $(SolutionDir)bin
225 | $(Platform)\$(ConfigurationName)
226 |
227 |
228 |
229 | true
230 | trace.h
231 | true
232 |
233 |
234 |
235 |
236 | true
237 | trace.h
238 | true
239 |
240 |
241 |
242 |
243 | true
244 | trace.h
245 | true
246 |
247 |
248 |
249 |
250 | true
251 | trace.h
252 | true
253 |
254 |
255 |
256 |
257 | true
258 | trace.h
259 | true
260 |
261 |
262 |
263 |
264 | true
265 | trace.h
266 | true
267 |
268 |
269 |
270 |
271 | true
272 | trace.h
273 | true
274 |
275 |
276 |
277 |
278 | true
279 | trace.h
280 | true
281 |
282 |
283 |
284 |
285 | true
286 | trace.h
287 | true
288 |
289 |
290 |
291 |
292 | true
293 | trace.h
294 | true
295 |
296 |
297 |
298 |
299 | true
300 | trace.h
301 | true
302 |
303 |
304 |
305 |
306 | true
307 | trace.h
308 | true
309 |
310 |
311 |
312 |
313 | false
314 | trace.h
315 | true
316 | false
317 |
318 |
319 | false
320 |
321 |
322 |
323 |
324 | false
325 | trace.h
326 | true
327 | false
328 |
329 |
330 | false
331 |
332 |
333 |
334 |
335 |
336 |
337 |
338 |
339 |
340 |
341 |
342 |
343 |
344 |
345 |
346 |
347 |
348 |
349 |
350 |
351 |
--------------------------------------------------------------------------------
/Empire/Empire.vcxproj.backup:
--------------------------------------------------------------------------------
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 | {DCEC27DD-9DFF-493C-AB0E-801BB5430CC9}
55 | {1bc93793-694f-48fe-9372-81e2b05556fd}
56 | v4.5
57 | 11.0
58 | Win8.1 Debug
59 | Win32
60 | Empire
61 |
62 |
63 |
64 | WindowsV6.3
65 | true
66 | WindowsKernelModeDriver8.1
67 | Driver
68 | KMDF
69 |
70 |
71 | WindowsV6.3
72 | false
73 | WindowsKernelModeDriver8.1
74 | Driver
75 | KMDF
76 |
77 |
78 | Windows8
79 | true
80 | WindowsKernelModeDriver8.1
81 | Driver
82 | KMDF
83 |
84 |
85 | Windows8
86 | false
87 | WindowsKernelModeDriver8.1
88 | Driver
89 | KMDF
90 |
91 |
92 | Windows7
93 | true
94 | WindowsKernelModeDriver8.1
95 | Driver
96 | KMDF
97 |
98 |
99 | Windows7
100 | false
101 | WindowsKernelModeDriver8.1
102 | Driver
103 | KMDF
104 |
105 |
106 | WindowsV6.3
107 | true
108 | WindowsKernelModeDriver8.1
109 | Driver
110 | KMDF
111 |
112 |
113 | WindowsV6.3
114 | false
115 | WindowsKernelModeDriver8.1
116 | Driver
117 | KMDF
118 |
119 |
120 | Windows8
121 | true
122 | WindowsKernelModeDriver8.1
123 | Driver
124 | KMDF
125 |
126 |
127 | Windows8
128 | false
129 | WindowsKernelModeDriver8.1
130 | Driver
131 | KMDF
132 |
133 |
134 | Windows7
135 | true
136 | WindowsKernelModeDriver8.1
137 | Driver
138 | KMDF
139 |
140 |
141 | Windows7
142 | false
143 | WindowsKernelModeDriver8.1
144 | Driver
145 | KMDF
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 | true
191 | $(SolutionDir)bin
192 | $(Platform)\$(ConfigurationName)
193 |
194 |
195 |
196 | true
197 | trace.h
198 | true
199 |
200 |
201 |
202 |
203 | true
204 | trace.h
205 | true
206 |
207 |
208 |
209 |
210 | true
211 | trace.h
212 | true
213 |
214 |
215 |
216 |
217 | true
218 | trace.h
219 | true
220 |
221 |
222 |
223 |
224 | true
225 | trace.h
226 | true
227 |
228 |
229 |
230 |
231 | true
232 | trace.h
233 | true
234 |
235 |
236 |
237 |
238 | true
239 | trace.h
240 | true
241 |
242 |
243 |
244 |
245 | true
246 | trace.h
247 | true
248 |
249 |
250 |
251 |
252 | true
253 | trace.h
254 | true
255 |
256 |
257 |
258 |
259 | true
260 | trace.h
261 | true
262 |
263 |
264 |
265 |
266 | true
267 | trace.h
268 | true
269 |
270 |
271 |
272 |
273 | false
274 | trace.h
275 | true
276 | false
277 |
278 |
279 | false
280 |
281 |
282 |
283 |
284 |
285 |
286 |
287 |
288 |
289 |
290 |
291 |
292 |
293 |
294 |
295 |
296 |
297 |
298 |
299 |
300 |
--------------------------------------------------------------------------------
/Empire/Empire.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 | Driver Files
29 |
30 |
31 | Driver Files
32 |
33 |
34 |
35 |
36 | Header Files
37 |
38 |
39 | Header Files
40 |
41 |
42 |
--------------------------------------------------------------------------------
/Empire/Empire.vcxproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | TestSign
5 | CN="WDKTestCert KMS,131315459388349609" | D831F99D360851D3EF7353958BDB21C6848B2D0A
6 |
7 |
8 | TestSign
9 | CN="WDKTestCert Kang,131650640467560325" | D647884682B1F6178AEF7ADFBED271A7A5DA7B7A
10 |
11 |
--------------------------------------------------------------------------------
/Empire/Main.c:
--------------------------------------------------------------------------------
1 | #pragma warning( disable: 4703)
2 |
3 | /*
4 | #include /// IfsKit\Inc
5 | #include /// Inc
6 | #include /// Inc\WDF\KMDF\1.9
7 | #include /// Inc
8 | #include /// Inc
9 | #include /// Inc
10 | #include /// Inc
11 | #include /// Inc
12 | #include /// Inc
13 | #include /// SDK\Inc\CRT
14 |
15 | */
16 |
17 |
18 |
19 |
20 |
21 | #include "Main.h"
22 | //
23 | NTSTATUS UnLoadDriver(PDRIVER_OBJECT DriverObject);
24 | NTSTATUS DisPatchKMS(PDEVICE_OBJECT DeviceObject, PIRP pIrp);
25 |
26 |
27 | UNICODE_STRING linkNameUnicodeString;
28 | UNICODE_STRING deviceNameUnicodeString;
29 |
30 | NTSTATUS DefaultPass(PDEVICE_OBJECT DeviceObject, PIRP pIrp)
31 | {
32 | pIrp->IoStatus.Status = STATUS_SUCCESS;
33 | IoCompleteRequest(pIrp, IO_NO_INCREMENT);
34 | return STATUS_SUCCESS;
35 | }
36 |
37 | NTSTATUS MyControl(PDEVICE_OBJECT DeviceObject, PIRP pIrp)
38 | {
39 | pIrp->IoStatus.Status = STATUS_SUCCESS;
40 |
41 | NTSTATUS ntStatus = STATUS_UNSUCCESSFUL;
42 | PIO_STACK_LOCATION IrpSp;
43 | ULONG FunctionCode;
44 | IrpSp = IoGetCurrentIrpStackLocation(pIrp);
45 | FunctionCode = IrpSp->Parameters.DeviceIoControl.IoControlCode;
46 | //DbgPrint("code=%x",FunctionCode);
47 | switch (FunctionCode)
48 | {
49 | case IOCTL_READ_MEMORY:
50 |
51 | __try
52 | {
53 | struct input
54 | {
55 | UINT64 processid;
56 | UINT64 startaddress;
57 | WORD bytestoread;
58 | } *pinp;
59 |
60 | pinp = pIrp->AssociatedIrp.SystemBuffer;
61 | //ReadProcessMemory();
62 |
63 | ntStatus = ReadProcessMemory((DWORD)pinp->processid, NULL, (PVOID)pinp->startaddress, pinp->bytestoread, pinp) ? STATUS_SUCCESS : STATUS_UNSUCCESSFUL;
64 | }
65 | __except (1)
66 | {
67 | ntStatus = STATUS_UNSUCCESSFUL;
68 | };
69 | ntStatus = STATUS_SUCCESS;
70 | break;
71 |
72 |
73 |
74 | case IOCTL_WRITE_MEMORY:
75 | __try
76 | {
77 | struct input
78 | {
79 | UINT64 processid;
80 | UINT64 startaddress;
81 | WORD bytestowrite;
82 | } *pinp, inp;
83 |
84 | pinp = pIrp->AssociatedIrp.SystemBuffer;
85 | //DbgPrint("%x %x %x", (DWORD)pinp->processid, (PVOID)pinp->startaddress, pinp->bytestowrite);
86 | ntStatus = WriteProcessMemory((DWORD)pinp->processid, NULL, (PVOID)pinp->startaddress, pinp->bytestowrite, (PVOID)((UINT_PTR)pinp + sizeof(inp))) ? STATUS_SUCCESS : STATUS_UNSUCCESSFUL;
87 | }
88 | __except (1)
89 | {
90 | //something went wrong and I don't know what
91 | ntStatus = STATUS_UNSUCCESSFUL;
92 | };
93 |
94 | ntStatus = STATUS_SUCCESS;
95 | break;
96 |
97 |
98 | case IOCTL_OPEN_PROCESS:
99 | {
100 | PEPROCESS selectedprocess;
101 | ULONG processid = *(PULONG)pIrp->AssociatedIrp.SystemBuffer;
102 | HANDLE ProcessHandle;
103 |
104 | ntStatus = STATUS_SUCCESS;
105 |
106 | __try
107 | {
108 | ProcessHandle = 0;
109 |
110 | if (PsLookupProcessByProcessId((PVOID)(UINT_PTR)(processid), &selectedprocess) == STATUS_SUCCESS)
111 | {
112 | ntStatus = ObOpenObjectByPointer(
113 | selectedprocess,
114 | 0,
115 | NULL,
116 | PROCESS_ALL_ACCESS,
117 | *PsProcessType,
118 | KernelMode, //UserMode,
119 | &ProcessHandle);
120 |
121 | //DbgPrint("ntStatus=%x", ntStatus);
122 | }
123 | }
124 | __except (1)
125 | {
126 | ntStatus = STATUS_UNSUCCESSFUL;
127 | }
128 |
129 | *(PUINT64)pIrp->AssociatedIrp.SystemBuffer = (UINT64)ProcessHandle;
130 | break;
131 | }
132 | default:
133 |
134 | ntStatus = STATUS_SUCCESS;
135 | break;
136 | }
137 |
138 |
139 |
140 |
141 |
142 |
143 |
144 |
145 |
146 |
147 | pIrp->IoStatus.Status = ntStatus;
148 |
149 | if (IrpSp) //only NULL when loaded by dbvm
150 | {
151 | if (ntStatus == STATUS_SUCCESS)
152 | pIrp->IoStatus.Information = IrpSp->Parameters.DeviceIoControl.OutputBufferLength;
153 | else
154 | pIrp->IoStatus.Information = 0;
155 |
156 | IoCompleteRequest(pIrp, IO_NO_INCREMENT);
157 | }
158 | return ntStatus;
159 | }
160 |
161 |
162 | NTSTATUS DriverEntry(PDRIVER_OBJECT DriverObject, PUNICODE_STRING RegisterPath)
163 | {
164 | NTSTATUS Status = STATUS_UNSUCCESSFUL;
165 |
166 | PDEVICE_OBJECT pMyDevice;
167 |
168 | DbgPrint("___[Empire Kernel Load]___");
169 |
170 |
171 | RtlInitUnicodeString(&deviceNameUnicodeString, L"\\Device\\Empire2");
172 | Status = IoCreateDevice(DriverObject, 4, &deviceNameUnicodeString, FILE_DEVICE_UNKNOWN, 0, TRUE, &pMyDevice);
173 | if (!NT_SUCCESS(Status))
174 | {
175 | DbgPrint("Failed to create the device!\n");
176 | return Status;
177 | }
178 |
179 | RtlInitUnicodeString(&linkNameUnicodeString, L"\\DosDevices\\Empire2");
180 | Status = IoCreateSymbolicLink(&linkNameUnicodeString, &deviceNameUnicodeString);
181 | if (!NT_SUCCESS(Status))
182 | {
183 | DbgPrint("Failed to create the symlink\n");
184 | return Status;
185 | }
186 |
187 | for (int nIndex = 0; nIndex < IRP_MJ_MAXIMUM_FUNCTION; nIndex++)
188 | {
189 | DriverObject->MajorFunction[nIndex] = DefaultPass;
190 |
191 | }
192 |
193 | DriverObject->MajorFunction[IRP_MJ_DEVICE_CONTROL] = MyControl;
194 |
195 |
196 |
197 |
198 | DriverObject->DriverUnload = UnLoadDriver;
199 | Status = STATUS_SUCCESS;
200 |
201 | return Status;
202 | }
203 |
204 |
205 | NTSTATUS UnLoadDriver(PDRIVER_OBJECT DriverObject)
206 | {
207 |
208 | NTSTATUS Status = STATUS_SUCCESS;
209 | DbgPrint("___[Empire Kernel Unload Success!]___");
210 | IoDeleteSymbolicLink(&linkNameUnicodeString);
211 | IoDeleteDevice(DriverObject->DeviceObject);
212 |
213 | Exit0:
214 | return Status;
215 | }
216 |
217 |
--------------------------------------------------------------------------------
/Empire/Main.h:
--------------------------------------------------------------------------------
1 | #ifndef __MAIN__
2 | #define __MAIN__ 1
3 |
4 | #include
5 | #include
6 | #include
7 | //#include
8 | //#include /// Inc
9 | #include /// Inc
10 | //#include /// Inc
11 | #include "memory_module.h"
12 | #define IOCTL_READ_MEMORY CTL_CODE(FILE_DEVICE_UNKNOWN, 0x2000, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
13 | #define IOCTL_WRITE_MEMORY CTL_CODE(FILE_DEVICE_UNKNOWN, 0x2001, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
14 | #define IOCTL_OPEN_PROCESS CTL_CODE(FILE_DEVICE_UNKNOWN, 0x2002, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
15 |
16 |
17 |
18 |
19 | #endif // !__MAIN__
20 |
21 |
22 |
--------------------------------------------------------------------------------
/Empire/Win8.1Debug/Empire.inf:
--------------------------------------------------------------------------------
1 | ;
2 | ; Empire.inf
3 | ;
4 |
5 | [Version]
6 | Signature="$WINDOWS NT$"
7 | Class=Sample ; TODO: edit Class
8 | ClassGuid={78A1C341-4539-11d3-B88D-00C04FAD5171} ; TODO: edit ClassGuid
9 | Provider=ASF%ManufacturerName%
10 | CatalogFile=Empire.cat
11 | DriverVer = 08/13/2019,22.12.28.200
12 |
13 | ;[DestinationDirs]
14 | ;DefaultDestDir = 12
15 |
16 | ; ================= Class section =====================
17 |
18 | [ClassInstall32]
19 | Addreg=SampleClassReg
20 |
21 | [SampleClassReg]
22 | HKR,,,0,%ClassName%
23 | HKR,,Icon,,-5
24 |
25 | [SourceDisksNames]
26 | 1 = %DiskName%,,,""
27 |
28 | ;[SourceDisksFiles]
29 | ;Empire.sys = 1,,
30 |
31 | ;*****************************************
32 | ; Install Section
33 | ;*****************************************
34 |
35 | [Manufacturer]
36 | %ManufacturerName%=Standard,NTx86
37 |
38 | [Standard.NTx86]
39 | %Empire.DeviceDesc%=Empire_Device, Root\Empire ; TODO: edit hw-id
40 |
41 | [Empire_Device.NT]
42 | CopyFiles=Drivers_Dir
43 |
44 | [Drivers_Dir]
45 | Empire.sys
46 |
47 |
48 | ;-------------- Service installation
49 | [Empire_Device.NT.Services]
50 | AddService = Empire,%SPSVCINST_ASSOCSERVICE%, Empire_Service_Inst
51 |
52 | ; -------------- Empire driver install sections
53 | [Empire_Service_Inst]
54 | DisplayName = %Empire.SVCDESC%
55 | ServiceType = 1 ; SERVICE_KERNEL_DRIVER
56 | StartType = 3 ; SERVICE_DEMAND_START
57 | ErrorControl = 1 ; SERVICE_ERROR_NORMAL
58 | ServiceBinary = %12%\Empire.sys
59 | LoadOrderGroup = Extended Base
60 |
61 | ;
62 | ;--- Empire_Device Coinstaller installation ------
63 | ;
64 |
65 | [DestinationDirs]
66 | Empire_Device_CoInstaller_CopyFiles = 11
67 |
68 | [Empire_Device.NT.CoInstallers]
69 | AddReg=Empire_Device_CoInstaller_AddReg
70 | CopyFiles=Empire_Device_CoInstaller_CopyFiles
71 |
72 | [Empire_Device_CoInstaller_AddReg]
73 | HKR,,CoInstallers32,0x00010000, "WdfCoInstaller01011.dll,WdfCoInstaller"
74 |
75 | [Empire_Device_CoInstaller_CopyFiles]
76 | WdfCoInstaller01011.dll
77 |
78 | [SourceDisksFiles]
79 | WdfCoInstaller01011.dll=1 ; make sure the number matches with SourceDisksNames
80 | Empire.sys = 1,,
81 |
82 | [Empire_Device.NT.Wdf]
83 | KmdfService = Empire, Empire_wdfsect
84 | [Empire_wdfsect]
85 | KmdfLibraryVersion = 1.11
86 |
87 | [Strings]
88 | SPSVCINST_ASSOCSERVICE= 0x00000002
89 | ManufacturerName="" ; TODO: add ManufacturerName
90 | ClassName="Samples" ; TODO: edit ClassName
91 | DiskName = "Empire Installation Disk"
92 | Empire.DeviceDesc = "Empire Device"
93 | Empire.SVCDESC = "Empire Service"
94 |
--------------------------------------------------------------------------------
/Empire/Win8.1Debug/Empire.log:
--------------------------------------------------------------------------------
1 | Building 'Empire' with toolset 'WindowsKernelModeDriver10.0' and the 'Desktop' target platform.
2 | Stamping Win8.1Debug\Empire.inf [Version] section with DriverVer=08/13/2019,22.12.28.200
3 | tracewpp : error wpp: (FileMapping::Open) Unable to open file 'trace.h', error code 2
4 | tracewpp : error wpp: (RealMain) Fatal error: CreateFile error
5 |
--------------------------------------------------------------------------------
/Empire/Win8.1Debug/Empire.tlog/Empire.lastbuildstate:
--------------------------------------------------------------------------------
1 | #TargetFrameworkVersion=v4.5:PlatformToolSet=WindowsKernelModeDriver10.0:EnableManagedIncrementalBuild=false:VCToolArchitecture=Native32Bit:WindowsTargetPlatformVersion=10.0.15063.0
2 | Win8.1 Debug|Win32|C:\Users\Kang\Documents\Visual Studio 2015\Projects\MemoryEditor\|
3 |
--------------------------------------------------------------------------------
/Empire/Win8.1Debug/Empire.tlog/stampinf.command.1.tlog:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Empier/MemoryEditor/6d6460f0b44f13cbbbfae91820eb03c7c97204c5/Empire/Win8.1Debug/Empire.tlog/stampinf.command.1.tlog
--------------------------------------------------------------------------------
/Empire/Win8.1Debug/Empire.tlog/stampinf.read.1.tlog:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Empier/MemoryEditor/6d6460f0b44f13cbbbfae91820eb03c7c97204c5/Empire/Win8.1Debug/Empire.tlog/stampinf.read.1.tlog
--------------------------------------------------------------------------------
/Empire/Win8.1Debug/Empire.tlog/stampinf.write.1.tlog:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Empier/MemoryEditor/6d6460f0b44f13cbbbfae91820eb03c7c97204c5/Empire/Win8.1Debug/Empire.tlog/stampinf.write.1.tlog
--------------------------------------------------------------------------------
/Empire/Win8.1Debug/Empire.tlog/tracewpp.command.1.tlog:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Empier/MemoryEditor/6d6460f0b44f13cbbbfae91820eb03c7c97204c5/Empire/Win8.1Debug/Empire.tlog/tracewpp.command.1.tlog
--------------------------------------------------------------------------------
/Empire/Win8.1Debug/Empire.tlog/tracewpp.read.1.tlog:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Empier/MemoryEditor/6d6460f0b44f13cbbbfae91820eb03c7c97204c5/Empire/Win8.1Debug/Empire.tlog/tracewpp.read.1.tlog
--------------------------------------------------------------------------------
/Empire/Win8.1Debug/Empire.tlog/unsuccessfulbuild:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Empier/MemoryEditor/6d6460f0b44f13cbbbfae91820eb03c7c97204c5/Empire/Win8.1Debug/Empire.tlog/unsuccessfulbuild
--------------------------------------------------------------------------------
/Empire/memory_module.c:
--------------------------------------------------------------------------------
1 | #include "Main.h"
2 | #include "memory_module.h"
3 |
4 |
5 | BOOLEAN WriteProcessMemory(DWORD PID, PEPROCESS PEProcess, PVOID Address, DWORD Size, PVOID Buffer)
6 | {
7 | PEPROCESS selectedprocess = PEProcess;
8 | KAPC_STATE apc_state;
9 | NTSTATUS ntStatus = STATUS_UNSUCCESSFUL;
10 |
11 | if (selectedprocess == NULL)
12 | {
13 | //DbgPrint("WriteProcessMemory:Getting PEPROCESS\n");
14 | if (!NT_SUCCESS(PsLookupProcessByProcessId((PVOID)(UINT_PTR)PID, &selectedprocess)))
15 | return FALSE; //couldn't get the PID
16 |
17 | //DbgPrint("Retrieved peprocess");
18 | }
19 |
20 | //selectedprocess now holds a valid peprocess value
21 | __try
22 | {
23 | UINT_PTR temp = (UINT_PTR)Address;
24 |
25 | RtlZeroMemory(&apc_state, sizeof(apc_state));
26 |
27 | KeAttachProcess((PEPROCESS)selectedprocess);
28 |
29 | __try
30 | {
31 | char* target;
32 | char* source;
33 | unsigned int i;
34 |
35 | //DbgPrint("Checking safety of memory\n");
36 |
37 | if ((IsAddressSafe((UINT_PTR)Address)) && (IsAddressSafe((UINT_PTR)Address + Size - 1)))
38 | {
39 |
40 | target = (char *)Address;
41 | source = (char *)Buffer;
42 |
43 |
44 | __writecr0(__readcr0() & ~0x10000);
45 | //DbgPrint("%x %x", target[0], source[0]);
46 | // Size = 1;
47 | for (i = 0; i> 47);
175 | if (toppart & 1)
176 | {
177 | //toppart must be 0x1ffff
178 | if (toppart != 0x1ffff)
179 | return FALSE;
180 | }
181 | else
182 | {
183 | //toppart must be 0
184 | if (toppart != 0)
185 | return FALSE;
186 |
187 | }
188 |
189 | #endif
190 |
191 | //return TRUE;
192 |
193 |
194 |
195 | {
196 | #ifdef AMD64
197 | UINT_PTR kernelbase = 0x7fffffffffffffffULL;
198 |
199 |
200 | if (StartAddressP == 0) && (x->A2 == 0))
245 | {
246 | //Not present or paged, and since paging in this area isn't such a smart thing to do just skip it
247 | //perhaps this is only for the 4 mb pages, but those should never be paged out, so it should be 1
248 | //bah, I've got no idea what this is used for
249 | return FALSE;
250 | }
251 |
252 | if (x->PS == 1)
253 | {
254 | //This is a 4 MB page (no pte list)
255 | //so, (startaddress/0x400000*0x400000) till ((startaddress/0x400000*0x400000)+(0x400000-1) ) ) is specified by this page
256 | }
257 | else //if it's not a 4 MB page then check the PTE
258 | {
259 | //still here so the page table directory agreed that it is a usable page table entry
260 | x = (PVOID)PTE;
261 | if ((x->P == 0) && (x->A2 == 0))
262 | return FALSE; //see for explenation the part of the PDE
263 | }
264 |
265 | return TRUE;
266 | }
267 | #endif
268 | }
269 |
270 | }
--------------------------------------------------------------------------------
/Empire/memory_module.h:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | BOOLEAN IsAddressSafe(UINT_PTR StartAddress);
5 | UINT_PTR getPEThread(UINT_PTR threadid);
6 | BOOLEAN WriteProcessMemory(DWORD PID, PEPROCESS PEProcess, PVOID Address, DWORD Size, PVOID Buffer);
7 | BOOLEAN ReadProcessMemory(DWORD PID, PEPROCESS PEProcess, PVOID Address, DWORD Size, PVOID Buffer);
8 |
--------------------------------------------------------------------------------
/Empire_DLL/Empire_DLL.vcxproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Debug
6 | Win32
7 |
8 |
9 | Debug
10 | x64
11 |
12 |
13 | Release
14 | Win32
15 |
16 |
17 | Release
18 | x64
19 |
20 |
21 |
22 | {E69F2B3B-A77A-4949-9A7C-25FF03583B44}
23 | Win32Proj
24 | Empire_DLL
25 | 8.1
26 | Empire_DLL
27 |
28 |
29 |
30 | DynamicLibrary
31 | true
32 | v140
33 | Unicode
34 |
35 |
36 | DynamicLibrary
37 | true
38 | v140
39 | Unicode
40 |
41 |
42 | DynamicLibrary
43 | false
44 | v140
45 | false
46 | Unicode
47 | false
48 |
49 |
50 | DynamicLibrary
51 | false
52 | v140
53 | false
54 | Unicode
55 | false
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 | true
75 |
76 |
77 | true
78 |
79 |
80 | false
81 | $(SolutionDir)bin
82 | Empire
83 |
84 |
85 | Empire
86 | false
87 | $(SolutionDir)bin
88 |
89 |
90 |
91 |
92 |
93 | Level3
94 | Disabled
95 | WIN32;_DEBUG;_WINDOWS;_USRDLL;EMPIRE_DLL_EXPORTS;%(PreprocessorDefinitions)
96 |
97 |
98 | Windows
99 | true
100 |
101 |
102 |
103 |
104 |
105 |
106 | Level3
107 | Disabled
108 | WIN32;_DEBUG;_WINDOWS;_USRDLL;EMPIRE_DLL_EXPORTS;%(PreprocessorDefinitions)
109 |
110 |
111 | Windows
112 | true
113 |
114 |
115 |
116 |
117 | Level3
118 |
119 |
120 | Disabled
121 | true
122 | true
123 | WIN32;NDEBUG;_WINDOWS;_USRDLL;EMPIRE_DLL_EXPORTS;%(PreprocessorDefinitions)
124 | ProgramDatabase
125 |
126 |
127 | Windows
128 | false
129 | true
130 | true
131 |
132 |
133 |
134 |
135 | Level3
136 |
137 |
138 | Disabled
139 | true
140 | true
141 | WIN32;NDEBUG;_WINDOWS;_USRDLL;EMPIRE_DLL_EXPORTS;%(PreprocessorDefinitions)
142 | ProgramDatabase
143 |
144 |
145 | Windows
146 | false
147 | true
148 | true
149 |
150 |
151 |
152 |
153 |
154 |
155 |
156 |
157 |
--------------------------------------------------------------------------------
/Empire_DLL/Empire_DLL.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;hh;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 |
18 |
19 | 소스 파일
20 |
21 |
22 |
--------------------------------------------------------------------------------
/Empire_DLL/Empire_DLL.vcxproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Empire_DLL/main.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 | HANDLE kernel = 0;
4 |
5 | //extern __declspec(dllimport) bool test();
6 |
7 | BOOL LoadDriver(void);
8 | BOOL UnloadDriver(void);
9 |
10 | const wchar_t MY_DRIVER[] = L"EMPIRE";
11 | wchar_t MY_PATH[MAX_PATH] = L"";
12 | wchar_t MY_DRIVER_NAME[MAX_PATH] = L"\\Empire.sys";
13 | BOOL LoadDriver(){
14 | SC_HANDLE hSCM;
15 | SC_HANDLE hService;
16 |
17 | hSCM = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS);
18 | if (!hSCM){
19 | printf("Unable to open the service control manager...\n");
20 | return FALSE;
21 | }
22 |
23 |
24 | GetCurrentDirectory(MAX_PATH, MY_PATH);
25 |
26 | wcscat(MY_PATH, MY_DRIVER_NAME);
27 |
28 | hService = CreateService(hSCM, MY_DRIVER, MY_DRIVER, SERVICE_ALL_ACCESS, SERVICE_KERNEL_DRIVER, SERVICE_DEMAND_START, SERVICE_ERROR_NORMAL,
29 | MY_PATH, NULL, NULL, NULL, NULL, NULL);
30 | if (!hService){
31 | hService = OpenService(hSCM, MY_DRIVER, SERVICE_ALL_ACCESS);
32 | if (!hService)
33 | {
34 | printf("Unable to create/open the service....\n");
35 | CloseServiceHandle(hSCM);
36 | return FALSE;
37 | }
38 | }
39 |
40 | if (!StartService(hService, 0, NULL) &&
41 | (GetLastError() != ERROR_SERVICE_ALREADY_RUNNING)){
42 | printf("Unable to start the service....%d\n", GetLastError());
43 | CloseServiceHandle(hSCM);
44 | CloseServiceHandle(hService);
45 | return FALSE;
46 | }
47 |
48 | CloseServiceHandle(hSCM);
49 | CloseServiceHandle(hService);
50 |
51 | return TRUE;
52 | }
53 |
54 |
55 | BOOL UnloadDriver(){
56 | SC_HANDLE hSCM;
57 | SC_HANDLE hService;
58 | SERVICE_STATUS svcStatus;
59 |
60 | hSCM = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS);
61 | if (!hSCM){
62 | printf("Unable to open the service control manager...\n");
63 | return FALSE;
64 | }
65 |
66 | hService = OpenService(hSCM, MY_DRIVER, SERVICE_ALL_ACCESS);
67 | if (!hService){
68 | printf("Unable to open the service...\n");
69 | return FALSE;
70 | }
71 |
72 |
73 | if (!ControlService(hService, SERVICE_CONTROL_STOP, &svcStatus))
74 | {
75 | printf("Unable to stop the service..\n");
76 | CloseServiceHandle(hSCM);
77 | CloseServiceHandle(hService);
78 | return FALSE;
79 | }
80 |
81 |
82 | if (!DeleteService(hService))
83 | {
84 | printf("Unable to delete the service..\n");
85 | CloseServiceHandle(hSCM);
86 | CloseServiceHandle(hService);
87 | return FALSE;
88 | }
89 |
90 | CloseServiceHandle(hSCM);
91 | CloseServiceHandle(hService);
92 | }
93 |
94 |
95 | extern "C" __declspec(dllexport) void init()
96 | {
97 | //MessageBoxA(NULL, "A", "B", MB_OK);
98 |
99 | }
100 | extern "C" __declspec(dllexport) BOOL WPM(UINT64 pid, UINT64 startaddress, WORD bytestowrite,DWORD *w)
101 | {
102 | DWORD BytesReturned;
103 |
104 | BYTE data[512] = { 0x20, };
105 |
106 |
107 | struct input
108 | {
109 | UINT64 processid;
110 | UINT64 startaddress;
111 | WORD bytestoread;
112 | } i;
113 |
114 | i.processid = pid;
115 | i.startaddress = startaddress;
116 | i.bytestoread = bytestowrite;
117 |
118 | memcpy(data, &i, sizeof(input));
119 | //memset(data + sizeof(input), 0x0, bytestowrite);
120 | memcpy(data + sizeof(input), w, bytestowrite);
121 |
122 | DWORD cc = CTL_CODE(FILE_DEVICE_UNKNOWN, 0x2001, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS);
123 |
124 |
125 | DeviceIoControl(kernel, cc, (LPVOID)&data, 512, (LPVOID)&data, 512, &BytesReturned, 0);
126 |
127 | return 0;
128 | }
129 |
130 |
131 | extern "C" __declspec(dllexport) BOOL RPM(UINT64 pid, UINT64 startaddress, WORD bytestoread, DWORD *r)
132 | {
133 | DWORD BytesReturned=1;
134 | DWORD OutBuffer[512];
135 | struct input
136 | {
137 | UINT64 processid;
138 | UINT64 startaddress;
139 | WORD bytestoread;
140 | } i;
141 |
142 | i.processid = pid;
143 | i.startaddress = startaddress;
144 | i.bytestoread = bytestoread;
145 |
146 | DWORD cc = CTL_CODE(FILE_DEVICE_UNKNOWN, 0x2000, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS);
147 |
148 |
149 | DeviceIoControl(kernel,cc, (LPVOID)&i, sizeof(i), (LPVOID)r, bytestoread, &BytesReturned, 0);
150 |
151 |
152 |
153 | return 0;
154 |
155 | }
156 |
157 | extern "C" __declspec(dllexport) BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
158 | {
159 | switch (fdwReason)
160 | {
161 | case DLL_PROCESS_ATTACH:
162 | LoadDriver();
163 | kernel = CreateFileW(L"\\\\.\\Empire2", 0xC0000000, 3u, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
164 |
165 | //if (LoadDriver()){
166 | // printf("Loaded the driver successfully!\n");
167 | // printf("Press ENTER to unload the driver: ");
168 | //}
169 | //else printf("Failed to load the driver!\n");
170 | break;
171 |
172 | case DLL_PROCESS_DETACH:
173 | //kernel = CreateFileW(L"\\\\.\\Empire2", 0xC0000000, 3u, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
174 |
175 |
176 | CloseHandle(kernel);
177 |
178 | //if (UnloadDriver()) printf("Unloaded the driver successfully!\n");
179 | //else printf("Failed to unload the driver!\n");
180 | UnloadDriver();
181 | break;
182 |
183 | case DLL_THREAD_ATTACH:
184 | break;
185 |
186 | case DLL_THREAD_DETACH:
187 | break;
188 | }
189 | return TRUE; // succesful
190 | }
191 |
--------------------------------------------------------------------------------
/Empire_DLL/x64/Release/DLL.tlog/CL.command.1.tlog:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Empier/MemoryEditor/6d6460f0b44f13cbbbfae91820eb03c7c97204c5/Empire_DLL/x64/Release/DLL.tlog/CL.command.1.tlog
--------------------------------------------------------------------------------
/Empire_DLL/x64/Release/DLL.tlog/CL.read.1.tlog:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Empier/MemoryEditor/6d6460f0b44f13cbbbfae91820eb03c7c97204c5/Empire_DLL/x64/Release/DLL.tlog/CL.read.1.tlog
--------------------------------------------------------------------------------
/Empire_DLL/x64/Release/DLL.tlog/CL.write.1.tlog:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Empier/MemoryEditor/6d6460f0b44f13cbbbfae91820eb03c7c97204c5/Empire_DLL/x64/Release/DLL.tlog/CL.write.1.tlog
--------------------------------------------------------------------------------
/Empire_DLL/x64/Release/DLL.tlog/DLL.lastbuildstate:
--------------------------------------------------------------------------------
1 | #TargetFrameworkVersion=v4.0:PlatformToolSet=v140:EnableManagedIncrementalBuild=false:VCToolArchitecture=Native32Bit:WindowsTargetPlatformVersion=8.1
2 | Release|x64|C:\Users\Kang\Documents\Visual Studio 2015\Projects\MemoryEditor\|
3 |
--------------------------------------------------------------------------------
/Empire_DLL/x64/Release/DLL.tlog/DLL.write.1u.tlog:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Empier/MemoryEditor/6d6460f0b44f13cbbbfae91820eb03c7c97204c5/Empire_DLL/x64/Release/DLL.tlog/DLL.write.1u.tlog
--------------------------------------------------------------------------------
/Empire_DLL/x64/Release/DLL.tlog/link.command.1.tlog:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Empier/MemoryEditor/6d6460f0b44f13cbbbfae91820eb03c7c97204c5/Empire_DLL/x64/Release/DLL.tlog/link.command.1.tlog
--------------------------------------------------------------------------------
/Empire_DLL/x64/Release/DLL.tlog/link.read.1.tlog:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Empier/MemoryEditor/6d6460f0b44f13cbbbfae91820eb03c7c97204c5/Empire_DLL/x64/Release/DLL.tlog/link.read.1.tlog
--------------------------------------------------------------------------------
/Empire_DLL/x64/Release/DLL.tlog/link.write.1.tlog:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Empier/MemoryEditor/6d6460f0b44f13cbbbfae91820eb03c7c97204c5/Empire_DLL/x64/Release/DLL.tlog/link.write.1.tlog
--------------------------------------------------------------------------------
/Empire_DLL/x64/Release/Empire.Build.CppClean.log:
--------------------------------------------------------------------------------
1 | c:\users\kang\documents\visual studio 2015\projects\memoryeditor\empire_dll\x64\release\vc140.pdb
2 | c:\users\kang\documents\visual studio 2015\projects\memoryeditor\empire_dll\x64\release\main.obj
3 | c:\users\kang\documents\visual studio 2015\projects\memoryeditor\bin\empire.lib
4 | c:\users\kang\documents\visual studio 2015\projects\memoryeditor\bin\empire.exp
5 | c:\users\kang\documents\visual studio 2015\projects\memoryeditor\bin\empire.dll
6 | c:\users\kang\documents\visual studio 2015\projects\memoryeditor\bin\empire.pdb
7 | c:\users\kang\documents\visual studio 2015\projects\memoryeditor\empire_dll\x64\release\empire_dll.tlog\cl.command.1.tlog
8 | c:\users\kang\documents\visual studio 2015\projects\memoryeditor\empire_dll\x64\release\empire_dll.tlog\cl.read.1.tlog
9 | c:\users\kang\documents\visual studio 2015\projects\memoryeditor\empire_dll\x64\release\empire_dll.tlog\cl.write.1.tlog
10 | c:\users\kang\documents\visual studio 2015\projects\memoryeditor\empire_dll\x64\release\empire_dll.tlog\empire_dll.write.1u.tlog
11 | c:\users\kang\documents\visual studio 2015\projects\memoryeditor\empire_dll\x64\release\empire_dll.tlog\link.command.1.tlog
12 | c:\users\kang\documents\visual studio 2015\projects\memoryeditor\empire_dll\x64\release\empire_dll.tlog\link.read.1.tlog
13 | c:\users\kang\documents\visual studio 2015\projects\memoryeditor\empire_dll\x64\release\empire_dll.tlog\link.write.1.tlog
14 |
--------------------------------------------------------------------------------
/Empire_DLL/x64/Release/Empire_DLL.log:
--------------------------------------------------------------------------------
1 | C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppBuild.targets(368,5): warning MSB8004: Output Directory does not end with a trailing slash. This build instance will add the slash as it is required to allow proper evaluation of the Output Directory.
2 | C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppBuild.targets(392,5): warning MSB8028: The intermediate directory (x64\Release\) contains files shared from another project (DLL.vcxproj). This can lead to incorrect clean and rebuild behavior.
3 | main.cpp
4 | main.cpp(26): warning C4996: 'wcscat': This function or variable may be unsafe. Consider using wcscat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
5 | C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\corecrt_wstring.h(101): note: 'wcscat' 선언을 참조하십시오.
6 | main.cpp(134): warning C4101: 'OutBuffer' :참조되지 않은 지역 변수입니다.
7 | c:\users\kang\documents\visual studio 2015\projects\memoryeditor\empire_dll\main.cpp(92): warning C4715: 'UnloadDriver': 모든 제어 경로에서 값을 반환하지는 않습니다.
8 | C:\Users\Kang\Documents\Visual Studio 2015\Projects\MemoryEditor\bin\Empire.lib 라이브러리 및 C:\Users\Kang\Documents\Visual Studio 2015\Projects\MemoryEditor\bin\Empire.exp 개체를 생성하고 있습니다.
9 | Empire_DLL.vcxproj -> C:\Users\Kang\Documents\Visual Studio 2015\Projects\MemoryEditor\bin\Empire.dll
10 |
--------------------------------------------------------------------------------
/Empire_DLL/x64/Release/Empire_DLL.tlog/CL.command.1.tlog:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Empier/MemoryEditor/6d6460f0b44f13cbbbfae91820eb03c7c97204c5/Empire_DLL/x64/Release/Empire_DLL.tlog/CL.command.1.tlog
--------------------------------------------------------------------------------
/Empire_DLL/x64/Release/Empire_DLL.tlog/CL.read.1.tlog:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Empier/MemoryEditor/6d6460f0b44f13cbbbfae91820eb03c7c97204c5/Empire_DLL/x64/Release/Empire_DLL.tlog/CL.read.1.tlog
--------------------------------------------------------------------------------
/Empire_DLL/x64/Release/Empire_DLL.tlog/CL.write.1.tlog:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Empier/MemoryEditor/6d6460f0b44f13cbbbfae91820eb03c7c97204c5/Empire_DLL/x64/Release/Empire_DLL.tlog/CL.write.1.tlog
--------------------------------------------------------------------------------
/Empire_DLL/x64/Release/Empire_DLL.tlog/Empire_DLL.lastbuildstate:
--------------------------------------------------------------------------------
1 | #TargetFrameworkVersion=v4.0:PlatformToolSet=v140:EnableManagedIncrementalBuild=false:VCToolArchitecture=Native32Bit:WindowsTargetPlatformVersion=8.1
2 | Release|x64|C:\Users\Kang\Documents\Visual Studio 2015\Projects\MemoryEditor\|
3 |
--------------------------------------------------------------------------------
/Empire_DLL/x64/Release/Empire_DLL.tlog/Empire_DLL.write.1u.tlog:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Empier/MemoryEditor/6d6460f0b44f13cbbbfae91820eb03c7c97204c5/Empire_DLL/x64/Release/Empire_DLL.tlog/Empire_DLL.write.1u.tlog
--------------------------------------------------------------------------------
/Empire_DLL/x64/Release/Empire_DLL.tlog/link.command.1.tlog:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Empier/MemoryEditor/6d6460f0b44f13cbbbfae91820eb03c7c97204c5/Empire_DLL/x64/Release/Empire_DLL.tlog/link.command.1.tlog
--------------------------------------------------------------------------------
/Empire_DLL/x64/Release/Empire_DLL.tlog/link.read.1.tlog:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Empier/MemoryEditor/6d6460f0b44f13cbbbfae91820eb03c7c97204c5/Empire_DLL/x64/Release/Empire_DLL.tlog/link.read.1.tlog
--------------------------------------------------------------------------------
/Empire_DLL/x64/Release/Empire_DLL.tlog/link.write.1.tlog:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Empier/MemoryEditor/6d6460f0b44f13cbbbfae91820eb03c7c97204c5/Empire_DLL/x64/Release/Empire_DLL.tlog/link.write.1.tlog
--------------------------------------------------------------------------------
/Empire_DLL/x64/Release/main.obj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Empier/MemoryEditor/6d6460f0b44f13cbbbfae91820eb03c7c97204c5/Empire_DLL/x64/Release/main.obj
--------------------------------------------------------------------------------
/Empire_DLL/x64/Release/vc140.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Empier/MemoryEditor/6d6460f0b44f13cbbbfae91820eb03c7c97204c5/Empire_DLL/x64/Release/vc140.pdb
--------------------------------------------------------------------------------
/Images/Main_Form.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Empier/MemoryEditor/6d6460f0b44f13cbbbfae91820eb03c7c97204c5/Images/Main_Form.png
--------------------------------------------------------------------------------
/Main/About_Form.Designer.cs:
--------------------------------------------------------------------------------
1 | namespace Main
2 | {
3 | partial class About_Form
4 | {
5 | ///
6 | /// Required designer variable.
7 | ///
8 | private System.ComponentModel.IContainer components = null;
9 |
10 | ///
11 | /// Clean up any resources being used.
12 | ///
13 | /// true if managed resources should be disposed; otherwise, false.
14 | protected override void Dispose(bool disposing)
15 | {
16 | if (disposing && (components != null))
17 | {
18 | components.Dispose();
19 | }
20 | base.Dispose(disposing);
21 | }
22 |
23 | #region Windows Form Designer generated code
24 |
25 | ///
26 | /// Required method for Designer support - do not modify
27 | /// the contents of this method with the code editor.
28 | ///
29 | private void InitializeComponent()
30 | {
31 | this.pictureBox1 = new System.Windows.Forms.PictureBox();
32 | ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
33 | this.SuspendLayout();
34 | //
35 | // pictureBox1
36 | //
37 | this.pictureBox1.Image = global::Main.Properties.Resources.About_Image;
38 | this.pictureBox1.Location = new System.Drawing.Point(1, 1);
39 | this.pictureBox1.Name = "pictureBox1";
40 | this.pictureBox1.Size = new System.Drawing.Size(328, 368);
41 | this.pictureBox1.TabIndex = 0;
42 | this.pictureBox1.TabStop = false;
43 | //
44 | // About_Form
45 | //
46 | this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 15F);
47 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
48 | this.ClientSize = new System.Drawing.Size(329, 371);
49 | this.Controls.Add(this.pictureBox1);
50 | this.Name = "About_Form";
51 | this.Text = "About";
52 | ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
53 | this.ResumeLayout(false);
54 |
55 | }
56 |
57 | #endregion
58 |
59 | private System.Windows.Forms.PictureBox pictureBox1;
60 | }
61 | }
--------------------------------------------------------------------------------
/Main/About_Form.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.ComponentModel;
4 | using System.Data;
5 | using System.Drawing;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Windows.Forms;
9 |
10 | namespace Main
11 | {
12 | public partial class About_Form : Form
13 | {
14 | public About_Form()
15 | {
16 | InitializeComponent();
17 | }
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/Main/About_Form.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 | text/microsoft-resx
110 |
111 |
112 | 2.0
113 |
114 |
115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
119 |
120 |
--------------------------------------------------------------------------------
/Main/App.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 | 1
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/Main/ListViewEx.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Windows.Forms;
6 | using System.Runtime.InteropServices;
7 |
8 | namespace Main
9 | {
10 | public class ListViewEx : ListView
11 | {
12 |
13 | [DllImport("uxtheme", CharSet = CharSet.Auto)]
14 | static extern Boolean SetWindowTheme(IntPtr hWindow, String subAppName, String subIDList);
15 |
16 | public ListViewEx()
17 | {
18 | SetStyle((ControlStyles)0x22010, true);
19 | }
20 |
21 | protected override void OnHandleCreated(EventArgs e)
22 | {
23 | base.OnHandleCreated(e);
24 |
25 | // 핸들이 생성된 후에 테마를 적용한다.
26 | SetWindowTheme(Handle, "explorer", null);
27 | }
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/Main/Main.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Debug
6 | AnyCPU
7 | {BDAF5AF5-A6A4-401F-9D02-19DAD8F7C99F}
8 | WinExe
9 | Properties
10 | Main
11 | Main
12 | v4.0
13 | 512
14 | false
15 |
16 | 게시\
17 | true
18 | Disk
19 | false
20 | Foreground
21 | 7
22 | Days
23 | false
24 | false
25 | true
26 | 0
27 | 1.0.0.%2a
28 | false
29 | true
30 |
31 |
32 | AnyCPU
33 | true
34 | full
35 | false
36 | bin\Debug\
37 | DEBUG;TRACE
38 | prompt
39 | 4
40 |
41 |
42 | AnyCPU
43 | none
44 | true
45 | ..\bin\
46 | TRACE
47 | prompt
48 | 4
49 | true
50 | false
51 |
52 |
53 |
54 | LocalIntranet
55 |
56 |
57 | false
58 |
59 |
60 | Properties\app.manifest
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 | Form
77 |
78 |
79 | About_Form.cs
80 |
81 |
82 | Component
83 |
84 |
85 | Form
86 |
87 |
88 | Main_Form.cs
89 |
90 |
91 | Form
92 |
93 |
94 | NewDesc_Form.cs
95 |
96 |
97 | Form
98 |
99 |
100 | Process_Form.cs
101 |
102 |
103 |
104 |
105 | Form
106 |
107 |
108 | Settings_Form.cs
109 |
110 |
111 | Form
112 |
113 |
114 | VEdit_Form.cs
115 |
116 |
117 | About_Form.cs
118 |
119 |
120 | Main_Form.cs
121 |
122 |
123 | NewDesc_Form.cs
124 |
125 |
126 | Process_Form.cs
127 |
128 |
129 | ResXFileCodeGenerator
130 | Resources.Designer.cs
131 | Designer
132 |
133 |
134 | True
135 | Resources.resx
136 | True
137 |
138 |
139 | Settings_Form.cs
140 |
141 |
142 | VEdit_Form.cs
143 |
144 |
145 |
146 | SettingsSingleFileGenerator
147 | Settings.Designer.cs
148 |
149 |
150 | True
151 | Settings.settings
152 | True
153 |
154 |
155 |
156 |
157 | Designer
158 |
159 |
160 |
161 |
162 | False
163 | Microsoft .NET Framework 4.5%28x86 및 x64%29
164 | true
165 |
166 |
167 | False
168 | .NET Framework 3.5 SP1 Client Profile
169 | false
170 |
171 |
172 | False
173 | .NET Framework 3.5 SP1
174 | false
175 |
176 |
177 |
178 |
179 |
180 |
181 |
188 |
--------------------------------------------------------------------------------
/Main/Main.csproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 게시\
5 |
6 |
7 |
8 |
9 |
10 | ko-KR
11 | false
12 |
13 |
--------------------------------------------------------------------------------
/Main/Main_Form.Designer.cs:
--------------------------------------------------------------------------------
1 | namespace Main
2 | {
3 | partial class Main_Form
4 | {
5 | ///
6 | ///
7 | ///
8 | private System.ComponentModel.IContainer components = null;
9 |
10 | ///
11 | ///
12 | ///
13 | ///
14 | protected override void Dispose(bool disposing)
15 | {
16 | if (disposing && (components != null))
17 | {
18 | components.Dispose();
19 | }
20 | base.Dispose(disposing);
21 | }
22 |
23 | #region Windows Form
24 |
25 | ///
26 | ///
27 | ///
28 | ///
29 | private void InitializeComponent()
30 | {
31 | this.button1 = new System.Windows.Forms.Button();
32 | this.button2 = new System.Windows.Forms.Button();
33 | this.button3 = new System.Windows.Forms.Button();
34 | this.textBox1 = new System.Windows.Forms.TextBox();
35 | this.progressBar1 = new System.Windows.Forms.ProgressBar();
36 | this.comboBox1 = new System.Windows.Forms.ComboBox();
37 | this.textBox2 = new System.Windows.Forms.TextBox();
38 | this.label1 = new System.Windows.Forms.Label();
39 | this.label2 = new System.Windows.Forms.Label();
40 | this.label3 = new System.Windows.Forms.Label();
41 | this.textBox3 = new System.Windows.Forms.TextBox();
42 | this.listView1 = new System.Windows.Forms.ListView();
43 | this.A = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
44 | this.V = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
45 | this.button4 = new System.Windows.Forms.Button();
46 | this.label4 = new System.Windows.Forms.Label();
47 | this.label5 = new System.Windows.Forms.Label();
48 | this.eventLog1 = new System.Diagnostics.EventLog();
49 | this.label6 = new System.Windows.Forms.Label();
50 | this.listViewEx1 = new Main.ListViewEx();
51 | this.columnHeader1 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
52 | this.columnHeader2 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
53 | this.columnHeader3 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
54 | this.columnHeader4 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
55 | this.columnHeader5 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
56 | ((System.ComponentModel.ISupportInitialize)(this.eventLog1)).BeginInit();
57 | this.SuspendLayout();
58 | //
59 | // button1
60 | //
61 | this.button1.Location = new System.Drawing.Point(14, 13);
62 | this.button1.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
63 | this.button1.Name = "button1";
64 | this.button1.Size = new System.Drawing.Size(97, 54);
65 | this.button1.TabIndex = 0;
66 | this.button1.Text = "Process";
67 | this.button1.UseVisualStyleBackColor = true;
68 | this.button1.Click += new System.EventHandler(this.button1_Click);
69 | //
70 | // button2
71 | //
72 | this.button2.Enabled = false;
73 | this.button2.Location = new System.Drawing.Point(250, 75);
74 | this.button2.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
75 | this.button2.Name = "button2";
76 | this.button2.Size = new System.Drawing.Size(91, 42);
77 | this.button2.TabIndex = 1;
78 | this.button2.Text = "First Read";
79 | this.button2.UseVisualStyleBackColor = true;
80 | this.button2.Click += new System.EventHandler(this.button2_Click);
81 | //
82 | // button3
83 | //
84 | this.button3.Enabled = false;
85 | this.button3.Location = new System.Drawing.Point(364, 75);
86 | this.button3.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
87 | this.button3.Name = "button3";
88 | this.button3.Size = new System.Drawing.Size(91, 42);
89 | this.button3.TabIndex = 2;
90 | this.button3.Text = "Next Read";
91 | this.button3.UseVisualStyleBackColor = true;
92 | this.button3.Click += new System.EventHandler(this.button3_Click);
93 | //
94 | // textBox1
95 | //
96 | this.textBox1.Enabled = false;
97 | this.textBox1.Location = new System.Drawing.Point(337, 146);
98 | this.textBox1.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
99 | this.textBox1.Name = "textBox1";
100 | this.textBox1.Size = new System.Drawing.Size(106, 25);
101 | this.textBox1.TabIndex = 3;
102 | this.textBox1.TextChanged += new System.EventHandler(this.textBox1_TextChanged);
103 | //
104 | // progressBar1
105 | //
106 | this.progressBar1.Location = new System.Drawing.Point(117, 29);
107 | this.progressBar1.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
108 | this.progressBar1.Name = "progressBar1";
109 | this.progressBar1.Size = new System.Drawing.Size(378, 16);
110 | this.progressBar1.TabIndex = 4;
111 | //
112 | // comboBox1
113 | //
114 | this.comboBox1.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
115 | this.comboBox1.Enabled = false;
116 | this.comboBox1.Location = new System.Drawing.Point(337, 204);
117 | this.comboBox1.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
118 | this.comboBox1.Name = "comboBox1";
119 | this.comboBox1.Size = new System.Drawing.Size(130, 23);
120 | this.comboBox1.TabIndex = 0;
121 | this.comboBox1.SelectedIndexChanged += new System.EventHandler(this.comboBox1_SelectedIndexChanged);
122 | //
123 | // textBox2
124 | //
125 | this.textBox2.Location = new System.Drawing.Point(337, 255);
126 | this.textBox2.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
127 | this.textBox2.Name = "textBox2";
128 | this.textBox2.Size = new System.Drawing.Size(115, 25);
129 | this.textBox2.TabIndex = 5;
130 | this.textBox2.Text = "00401000";
131 | this.textBox2.TextChanged += new System.EventHandler(this.textBox2_TextChanged);
132 | //
133 | // label1
134 | //
135 | this.label1.AutoSize = true;
136 | this.label1.Location = new System.Drawing.Point(295, 259);
137 | this.label1.Name = "label1";
138 | this.label1.Size = new System.Drawing.Size(42, 15);
139 | this.label1.TabIndex = 6;
140 | this.label1.Text = "Start:";
141 | //
142 | // label2
143 | //
144 | this.label2.AutoSize = true;
145 | this.label2.Location = new System.Drawing.Point(250, 207);
146 | this.label2.Name = "label2";
147 | this.label2.Size = new System.Drawing.Size(84, 15);
148 | this.label2.TabIndex = 7;
149 | this.label2.Text = "Value Type:";
150 | //
151 | // label3
152 | //
153 | this.label3.AutoSize = true;
154 | this.label3.Location = new System.Drawing.Point(295, 293);
155 | this.label3.Name = "label3";
156 | this.label3.Size = new System.Drawing.Size(37, 15);
157 | this.label3.TabIndex = 10;
158 | this.label3.Text = "End:";
159 | //
160 | // textBox3
161 | //
162 | this.textBox3.Location = new System.Drawing.Point(337, 289);
163 | this.textBox3.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
164 | this.textBox3.Name = "textBox3";
165 | this.textBox3.Size = new System.Drawing.Size(115, 25);
166 | this.textBox3.TabIndex = 9;
167 | this.textBox3.Text = "00402000";
168 | //
169 | // listView1
170 | //
171 | this.listView1.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
172 | this.A,
173 | this.V});
174 | this.listView1.FullRowSelect = true;
175 | this.listView1.Location = new System.Drawing.Point(12, 99);
176 | this.listView1.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
177 | this.listView1.Name = "listView1";
178 | this.listView1.Size = new System.Drawing.Size(219, 338);
179 | this.listView1.TabIndex = 11;
180 | this.listView1.UseCompatibleStateImageBehavior = false;
181 | this.listView1.View = System.Windows.Forms.View.Details;
182 | this.listView1.SelectedIndexChanged += new System.EventHandler(this.listView1_SelectedIndexChanged);
183 | this.listView1.DoubleClick += new System.EventHandler(this.ListView1_Click_Event);
184 | //
185 | // A
186 | //
187 | this.A.Text = "Address";
188 | this.A.Width = 98;
189 | //
190 | // V
191 | //
192 | this.V.Text = "Value";
193 | this.V.Width = 113;
194 | //
195 | // button4
196 | //
197 | this.button4.Location = new System.Drawing.Point(473, 75);
198 | this.button4.Name = "button4";
199 | this.button4.Size = new System.Drawing.Size(67, 23);
200 | this.button4.TabIndex = 12;
201 | this.button4.Text = "Settings";
202 | this.button4.UseVisualStyleBackColor = true;
203 | this.button4.Click += new System.EventHandler(this.button4_Click_1);
204 | //
205 | // label4
206 | //
207 | this.label4.AutoSize = true;
208 | this.label4.Location = new System.Drawing.Point(261, 9);
209 | this.label4.Name = "label4";
210 | this.label4.Size = new System.Drawing.Size(33, 15);
211 | this.label4.TabIndex = 14;
212 | this.label4.Text = "Nop";
213 | //
214 | // label5
215 | //
216 | this.label5.AutoSize = true;
217 | this.label5.Location = new System.Drawing.Point(282, 149);
218 | this.label5.Name = "label5";
219 | this.label5.Size = new System.Drawing.Size(52, 15);
220 | this.label5.TabIndex = 15;
221 | this.label5.Text = "Value :";
222 | //
223 | // eventLog1
224 | //
225 | this.eventLog1.SynchronizingObject = this;
226 | //
227 | // label6
228 | //
229 | this.label6.AutoSize = true;
230 | this.label6.Location = new System.Drawing.Point(12, 75);
231 | this.label6.Name = "label6";
232 | this.label6.Size = new System.Drawing.Size(66, 15);
233 | this.label6.TabIndex = 16;
234 | this.label6.Text = "Found: 0";
235 | //
236 | // listViewEx1
237 | //
238 | this.listViewEx1.CheckBoxes = true;
239 | this.listViewEx1.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
240 | this.columnHeader1,
241 | this.columnHeader2,
242 | this.columnHeader3,
243 | this.columnHeader4,
244 | this.columnHeader5});
245 | this.listViewEx1.FullRowSelect = true;
246 | this.listViewEx1.Location = new System.Drawing.Point(11, 444);
247 | this.listViewEx1.Name = "listViewEx1";
248 | this.listViewEx1.Size = new System.Drawing.Size(520, 160);
249 | this.listViewEx1.TabIndex = 13;
250 | this.listViewEx1.UseCompatibleStateImageBehavior = false;
251 | this.listViewEx1.View = System.Windows.Forms.View.Details;
252 | this.listViewEx1.ColumnClick += new System.Windows.Forms.ColumnClickEventHandler(this.listView2_ColumnClick);
253 | this.listViewEx1.ColumnReordered += new System.Windows.Forms.ColumnReorderedEventHandler(this.listView2_ColumnReordered);
254 | this.listViewEx1.ItemCheck += new System.Windows.Forms.ItemCheckEventHandler(this.listView2_ItemCheck);
255 | this.listViewEx1.SelectedIndexChanged += new System.EventHandler(this.listView2_SelectedIndexChanged);
256 | this.listViewEx1.MouseClick += new System.Windows.Forms.MouseEventHandler(this.listView2_MouseClick);
257 | this.listViewEx1.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.listView2_MouseDoubleClick);
258 | //
259 | // columnHeader1
260 | //
261 | this.columnHeader1.Text = "Frozen";
262 | this.columnHeader1.Width = 57;
263 | //
264 | // columnHeader2
265 | //
266 | this.columnHeader2.Text = "Address";
267 | this.columnHeader2.Width = 83;
268 | //
269 | // columnHeader3
270 | //
271 | this.columnHeader3.Text = "Value";
272 | this.columnHeader3.Width = 73;
273 | //
274 | // columnHeader4
275 | //
276 | this.columnHeader4.Text = "Type";
277 | this.columnHeader4.Width = 92;
278 | //
279 | // columnHeader5
280 | //
281 | this.columnHeader5.Text = "Description";
282 | this.columnHeader5.Width = 201;
283 | //
284 | // Main_Form
285 | //
286 | this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 15F);
287 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
288 | this.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
289 | this.ClientSize = new System.Drawing.Size(543, 609);
290 | this.Controls.Add(this.listViewEx1);
291 | this.Controls.Add(this.label6);
292 | this.Controls.Add(this.label5);
293 | this.Controls.Add(this.label4);
294 | this.Controls.Add(this.button4);
295 | this.Controls.Add(this.listView1);
296 | this.Controls.Add(this.label3);
297 | this.Controls.Add(this.textBox3);
298 | this.Controls.Add(this.label2);
299 | this.Controls.Add(this.label1);
300 | this.Controls.Add(this.textBox2);
301 | this.Controls.Add(this.comboBox1);
302 | this.Controls.Add(this.progressBar1);
303 | this.Controls.Add(this.textBox1);
304 | this.Controls.Add(this.button3);
305 | this.Controls.Add(this.button2);
306 | this.Controls.Add(this.button1);
307 | this.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
308 | this.Name = "Main_Form";
309 | this.Text = "Main";
310 | this.Load += new System.EventHandler(this.Main_Form_Load);
311 | ((System.ComponentModel.ISupportInitialize)(this.eventLog1)).EndInit();
312 | this.ResumeLayout(false);
313 | this.PerformLayout();
314 |
315 | }
316 |
317 | #endregion
318 |
319 |
320 |
321 |
322 | private System.Windows.Forms.Button button1;
323 | private System.Windows.Forms.Button button2;
324 | private System.Windows.Forms.Button button3;
325 | private System.Windows.Forms.TextBox textBox1;
326 | private System.Windows.Forms.ProgressBar progressBar1;
327 | private System.Windows.Forms.ComboBox comboBox1;
328 | private System.Windows.Forms.TextBox textBox2;
329 | private System.Windows.Forms.Label label1;
330 | private System.Windows.Forms.Label label2;
331 | private System.Windows.Forms.Label label3;
332 | private System.Windows.Forms.TextBox textBox3;
333 | private System.Windows.Forms.ListView listView1;
334 | private System.Windows.Forms.Button button4;
335 | private System.Windows.Forms.Label label4;
336 | private System.Windows.Forms.Label label5;
337 | public System.Windows.Forms.ColumnHeader A;
338 | public System.Windows.Forms.ColumnHeader V;
339 | private System.Diagnostics.EventLog eventLog1;
340 | private System.Windows.Forms.Label label6;
341 | private ListViewEx listViewEx1;
342 | private System.Windows.Forms.ColumnHeader columnHeader2;
343 | private System.Windows.Forms.ColumnHeader columnHeader3;
344 | private System.Windows.Forms.ColumnHeader columnHeader4;
345 | private System.Windows.Forms.ColumnHeader columnHeader5;
346 | private System.Windows.Forms.ColumnHeader columnHeader1;
347 | }
348 | }
--------------------------------------------------------------------------------
/Main/Main_Form.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 | text/microsoft-resx
110 |
111 |
112 | 2.0
113 |
114 |
115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
119 |
120 |
121 | 17, 17
122 |
123 |
124 | 37
125 |
126 |
--------------------------------------------------------------------------------
/Main/NewDesc_Form.Designer.cs:
--------------------------------------------------------------------------------
1 | namespace Main
2 | {
3 | partial class NewDesc_Form
4 | {
5 | ///
6 | /// Required designer variable.
7 | ///
8 | private System.ComponentModel.IContainer components = null;
9 |
10 | ///
11 | /// Clean up any resources being used.
12 | ///
13 | /// true if managed resources should be disposed; otherwise, false.
14 | protected override void Dispose(bool disposing)
15 | {
16 | if (disposing && (components != null))
17 | {
18 | components.Dispose();
19 | }
20 | base.Dispose(disposing);
21 | }
22 |
23 | #region Windows Form Designer generated code
24 |
25 | ///
26 | /// Required method for Designer support - do not modify
27 | /// the contents of this method with the code editor.
28 | ///
29 | private void InitializeComponent()
30 | {
31 | this.textBox1 = new System.Windows.Forms.TextBox();
32 | this.label1 = new System.Windows.Forms.Label();
33 | this.button1 = new System.Windows.Forms.Button();
34 | this.SuspendLayout();
35 | //
36 | // textBox1
37 | //
38 | this.textBox1.Location = new System.Drawing.Point(25, 50);
39 | this.textBox1.Name = "textBox1";
40 | this.textBox1.Size = new System.Drawing.Size(284, 25);
41 | this.textBox1.TabIndex = 0;
42 | this.textBox1.Text = "No description";
43 | this.textBox1.KeyDown += new System.Windows.Forms.KeyEventHandler(this.Enter);
44 | //
45 | // label1
46 | //
47 | this.label1.AutoSize = true;
48 | this.label1.Location = new System.Drawing.Point(22, 20);
49 | this.label1.Name = "label1";
50 | this.label1.Size = new System.Drawing.Size(226, 15);
51 | this.label1.TabIndex = 1;
52 | this.label1.Text = "What will be the new description?";
53 | //
54 | // button1
55 | //
56 | this.button1.Location = new System.Drawing.Point(251, 81);
57 | this.button1.Name = "button1";
58 | this.button1.Size = new System.Drawing.Size(95, 35);
59 | this.button1.TabIndex = 2;
60 | this.button1.Text = "OK";
61 | this.button1.UseVisualStyleBackColor = true;
62 | this.button1.Click += new System.EventHandler(this.button1_Click);
63 | //
64 | // NewDesc_Form
65 | //
66 | this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 15F);
67 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
68 | this.ClientSize = new System.Drawing.Size(358, 127);
69 | this.Controls.Add(this.button1);
70 | this.Controls.Add(this.label1);
71 | this.Controls.Add(this.textBox1);
72 | this.Name = "NewDesc_Form";
73 | this.Text = "Change Description";
74 | this.ResumeLayout(false);
75 | this.PerformLayout();
76 |
77 | }
78 |
79 | #endregion
80 |
81 | private System.Windows.Forms.TextBox textBox1;
82 | private System.Windows.Forms.Label label1;
83 | private System.Windows.Forms.Button button1;
84 | }
85 | }
--------------------------------------------------------------------------------
/Main/NewDesc_Form.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.ComponentModel;
4 | using System.Data;
5 | using System.Drawing;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Windows.Forms;
9 |
10 | namespace Main
11 | {
12 | public partial class NewDesc_Form : Form
13 | {
14 | public string VALUE { get; set; }
15 | public NewDesc_Form()
16 | {
17 | InitializeComponent();
18 | }
19 |
20 | private void button1_Click(object sender, EventArgs e)
21 | {
22 | this.VALUE = textBox1.Text;
23 | this.DialogResult = DialogResult.OK;
24 | this.Close();
25 | }
26 |
27 | private void Enter(object sender, KeyEventArgs e)
28 | {
29 | if (e.KeyCode == Keys.Enter)
30 | {
31 | this.button1_Click(sender, e);
32 | }
33 | else
34 | {
35 |
36 | }
37 | }
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/Main/NewDesc_Form.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 | text/microsoft-resx
110 |
111 |
112 | 2.0
113 |
114 |
115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
119 |
120 |
--------------------------------------------------------------------------------
/Main/Process_Form.Designer.cs:
--------------------------------------------------------------------------------
1 | namespace Main
2 | {
3 | partial class Process_Form
4 | {
5 | ///
6 | /// Required designer variable.
7 | ///
8 | private System.ComponentModel.IContainer components = null;
9 |
10 | ///
11 | /// Clean up any resources being used.
12 | ///
13 | /// true if managed resources should be disposed; otherwise, false.
14 | protected override void Dispose(bool disposing)
15 | {
16 | if (disposing && (components != null))
17 | {
18 | components.Dispose();
19 | }
20 | base.Dispose(disposing);
21 | }
22 |
23 | #region Windows Form Designer generated code
24 |
25 | ///
26 | /// Required method for Designer support - do not modify
27 | /// the contents of this method with the code editor.
28 | ///
29 | private void InitializeComponent()
30 | {
31 | this.button1 = new System.Windows.Forms.Button();
32 | this.listView1 = new System.Windows.Forms.ListView();
33 | this.processname = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
34 | this.pid = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
35 | this.SuspendLayout();
36 | //
37 | // button1
38 | //
39 | this.button1.Location = new System.Drawing.Point(79, 381);
40 | this.button1.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
41 | this.button1.Name = "button1";
42 | this.button1.Size = new System.Drawing.Size(268, 56);
43 | this.button1.TabIndex = 1;
44 | this.button1.Text = "Submit";
45 | this.button1.UseVisualStyleBackColor = true;
46 | this.button1.Click += new System.EventHandler(this.button1_Click);
47 | //
48 | // listView1
49 | //
50 | this.listView1.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
51 | this.processname,
52 | this.pid});
53 | this.listView1.FullRowSelect = true;
54 | this.listView1.ImeMode = System.Windows.Forms.ImeMode.NoControl;
55 | this.listView1.Location = new System.Drawing.Point(12, 25);
56 | this.listView1.Name = "listView1";
57 | this.listView1.Size = new System.Drawing.Size(400, 349);
58 | this.listView1.TabIndex = 2;
59 | this.listView1.UseCompatibleStateImageBehavior = false;
60 | this.listView1.View = System.Windows.Forms.View.Details;
61 | this.listView1.SelectedIndexChanged += new System.EventHandler(this.listView1_SelectedIndexChanged);
62 | this.listView1.KeyDown += new System.Windows.Forms.KeyEventHandler(this.Enter);
63 | //
64 | // processname
65 | //
66 | this.processname.Text = "Process Name";
67 | this.processname.Width = 161;
68 | //
69 | // pid
70 | //
71 | this.pid.Text = "PID";
72 | this.pid.Width = 71;
73 | //
74 | // Process_Form
75 | //
76 | this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 15F);
77 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
78 | this.ClientSize = new System.Drawing.Size(420, 450);
79 | this.Controls.Add(this.listView1);
80 | this.Controls.Add(this.button1);
81 | this.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
82 | this.Name = "Process_Form";
83 | this.Text = "Process";
84 | this.Load += new System.EventHandler(this.Process_Form_Load);
85 | this.ResumeLayout(false);
86 |
87 | }
88 |
89 | #endregion
90 | private System.Windows.Forms.Button button1;
91 | private System.Windows.Forms.ListView listView1;
92 | private System.Windows.Forms.ColumnHeader pid;
93 | private System.Windows.Forms.ColumnHeader processname;
94 | }
95 | }
--------------------------------------------------------------------------------
/Main/Process_Form.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.ComponentModel;
4 | using System.Data;
5 | using System.Drawing;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Threading.Tasks;
9 | using System.Windows.Forms;
10 | using System.Diagnostics;
11 | namespace Main
12 | {
13 | public partial class Process_Form : Form
14 | {
15 | Process[] allProc;
16 | public int PID { get; set; }
17 | public string PNAME { get; set; }
18 | //public string ReturnValue2 { get; set; }
19 |
20 |
21 | public Process_Form()
22 | {
23 | InitializeComponent();
24 | }
25 |
26 |
27 | private void Process_Form_Load(object sender, EventArgs e)
28 | {
29 | allProc = Process.GetProcesses();
30 |
31 |
32 | ImageList Imagelist = new ImageList();
33 |
34 | foreach (Process process in allProc)
35 | {
36 | string[] row = {
37 | process.ProcessName,
38 | process.Id.ToString()
39 | };
40 |
41 | try
42 | {
43 | Imagelist.Images.Add(
44 | process.Id.ToString(),
45 | Icon.ExtractAssociatedIcon(process.MainModule.FileName).ToBitmap()
46 | );
47 | }
48 | catch { }
49 |
50 | ListViewItem item = new ListViewItem(row)
51 | {
52 | ImageIndex = Imagelist.Images.IndexOfKey(process.Id.ToString())
53 | };
54 | listView1.Items.Add(item);
55 | }
56 |
57 | listView1.LargeImageList = Imagelist;
58 | listView1.SmallImageList = Imagelist;
59 |
60 |
61 | listView1.Select();
62 | }
63 |
64 |
65 | private void button1_Click(object sender, EventArgs e)
66 | {
67 | if (listView1.SelectedItems.Count > 0)
68 | {
69 | int index = listView1.Items.IndexOf(listView1.SelectedItems[0]);
70 | this.PID = allProc[index].Id;
71 | this.PNAME = allProc[index].ProcessName;
72 | this.DialogResult = DialogResult.OK;
73 | this.Close();
74 | }
75 | else
76 | {
77 | MessageBox.Show("Get Process Error");
78 | }
79 | }
80 |
81 | private void listView1_SelectedIndexChanged(object sender, EventArgs e)
82 | {
83 |
84 | }
85 |
86 | private void Enter(object sender, KeyEventArgs e)
87 | {
88 | if (e.KeyCode == Keys.Enter)
89 | {
90 | this.button1_Click(sender, e);
91 | }
92 | else
93 | {
94 |
95 | }
96 | }
97 | }
98 | }
99 |
--------------------------------------------------------------------------------
/Main/Process_Form.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 | text/microsoft-resx
110 |
111 |
112 | 2.0
113 |
114 |
115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
119 |
120 |
--------------------------------------------------------------------------------
/Main/Program.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Threading.Tasks;
5 | using System.Windows.Forms;
6 |
7 |
8 | namespace Main
9 | {
10 | static class Program
11 | {
12 | ///
13 | /// 해당 응용 프로그램의 주 진입점입니다.
14 | ///
15 | [STAThread]
16 | static void Main()
17 | {
18 | Application.EnableVisualStyles();
19 | Application.SetCompatibleTextRenderingDefault(false);
20 | Application.Run(new Main_Form());
21 | }
22 |
23 |
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/Main/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // 어셈블리의 일반 정보는 다음 특성 집합을 통해 제어됩니다.
6 | // 어셈블리와 관련된 정보를 수정하려면
7 | // 이 특성 값을 변경하십시오.
8 | [assembly: AssemblyTitle("Main")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("")]
12 | [assembly: AssemblyProduct("Main")]
13 | [assembly: AssemblyCopyright("Copyright © 2017")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // ComVisible을 false로 설정하면 이 어셈블리의 형식이 COM 구성 요소에
18 | // 표시되지 않습니다. COM에서 이 어셈블리의 형식에 액세스하려면
19 | // 해당 형식에 대해 ComVisible 특성을 true로 설정하십시오.
20 | [assembly: ComVisible(false)]
21 |
22 | // 이 프로젝트가 COM에 노출되는 경우 다음 GUID는 typelib의 ID를 나타냅니다.
23 | [assembly: Guid("6701c7f3-3c04-4207-b1df-125e43303888")]
24 |
25 | // 어셈블리의 버전 정보는 다음 네 가지 값으로 구성됩니다.
26 | //
27 | // 주 버전
28 | // 부 버전
29 | // 빌드 번호
30 | // 수정 버전
31 | //
32 | // 모든 값을 지정하거나 아래와 같이 '*'를 사용하여 빌드 번호 및 수정 버전이 자동으로
33 | // 지정되도록 할 수 있습니다.
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/Main/Properties/Resources.Designer.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------------------------
2 | //
3 | // 이 코드는 도구를 사용하여 생성되었습니다.
4 | // 런타임 버전:4.0.30319.42000
5 | //
6 | // 파일 내용을 변경하면 잘못된 동작이 발생할 수 있으며, 코드를 다시 생성하면
7 | // 이러한 변경 내용이 손실됩니다.
8 | //
9 | //------------------------------------------------------------------------------
10 |
11 | namespace Main.Properties {
12 | using System;
13 |
14 |
15 | ///
16 | /// 지역화된 문자열 등을 찾기 위한 강력한 형식의 리소스 클래스입니다.
17 | ///
18 | // 이 클래스는 ResGen 또는 Visual Studio와 같은 도구를 통해 StronglyTypedResourceBuilder
19 | // 클래스에서 자동으로 생성되었습니다.
20 | // 멤버를 추가하거나 제거하려면 .ResX 파일을 편집한 다음 /str 옵션을 사용하여 ResGen을
21 | // 다시 실행하거나 VS 프로젝트를 다시 빌드하십시오.
22 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
23 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
24 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
25 | internal class Resources {
26 |
27 | private static global::System.Resources.ResourceManager resourceMan;
28 |
29 | private static global::System.Globalization.CultureInfo resourceCulture;
30 |
31 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
32 | internal Resources() {
33 | }
34 |
35 | ///
36 | /// 이 클래스에서 사용하는 캐시된 ResourceManager 인스턴스를 반환합니다.
37 | ///
38 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
39 | internal static global::System.Resources.ResourceManager ResourceManager {
40 | get {
41 | if (object.ReferenceEquals(resourceMan, null)) {
42 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Main.Properties.Resources", typeof(Resources).Assembly);
43 | resourceMan = temp;
44 | }
45 | return resourceMan;
46 | }
47 | }
48 |
49 | ///
50 | /// 이 강력한 형식의 리소스 클래스를 사용하여 모든 리소스 조회에 대한 현재 스레드의 CurrentUICulture
51 | /// 속성을 재정의합니다.
52 | ///
53 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
54 | internal static global::System.Globalization.CultureInfo Culture {
55 | get {
56 | return resourceCulture;
57 | }
58 | set {
59 | resourceCulture = value;
60 | }
61 | }
62 |
63 | ///
64 | /// System.Drawing.Bitmap 형식의 지역화된 리소스를 찾습니다.
65 | ///
66 | internal static System.Drawing.Bitmap About_Image {
67 | get {
68 | object obj = ResourceManager.GetObject("About_Image", resourceCulture);
69 | return ((System.Drawing.Bitmap)(obj));
70 | }
71 | }
72 | }
73 | }
74 |
--------------------------------------------------------------------------------
/Main/Properties/Resources.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 | text/microsoft-resx
110 |
111 |
112 | 2.0
113 |
114 |
115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
119 |
120 |
121 |
122 | ..\Resources\About_Image.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
123 |
124 |
--------------------------------------------------------------------------------
/Main/Properties/Settings.Designer.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------------------------
2 | //
3 | // 이 코드는 도구를 사용하여 생성되었습니다.
4 | // 런타임 버전:4.0.30319.42000
5 | //
6 | // 파일 내용을 변경하면 잘못된 동작이 발생할 수 있으며, 코드를 다시 생성하면
7 | // 이러한 변경 내용이 손실됩니다.
8 | //
9 | //------------------------------------------------------------------------------
10 |
11 | namespace Main.Properties {
12 |
13 |
14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "14.0.0.0")]
16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
17 |
18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
19 |
20 | public static Settings Default {
21 | get {
22 | return defaultInstance;
23 | }
24 | }
25 |
26 | [global::System.Configuration.UserScopedSettingAttribute()]
27 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
28 | [global::System.Configuration.DefaultSettingValueAttribute("1")]
29 | public int V {
30 | get {
31 | return ((int)(this["V"]));
32 | }
33 | set {
34 | this["V"] = value;
35 | }
36 | }
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/Main/Properties/Settings.settings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | 1
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Main/Properties/app.manifest:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
48 |
55 |
56 |
70 |
--------------------------------------------------------------------------------
/Main/Resources/About_Image.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Empier/MemoryEditor/6d6460f0b44f13cbbbfae91820eb03c7c97204c5/Main/Resources/About_Image.png
--------------------------------------------------------------------------------
/Main/Settings_Form.Designer.cs:
--------------------------------------------------------------------------------
1 | namespace Main
2 | {
3 | partial class Settings_Form
4 | {
5 | ///
6 | /// Required designer variable.
7 | ///
8 | private System.ComponentModel.IContainer components = null;
9 |
10 | ///
11 | /// Clean up any resources being used.
12 | ///
13 | /// true if managed resources should be disposed; otherwise, false.
14 | protected override void Dispose(bool disposing)
15 | {
16 | if (disposing && (components != null))
17 | {
18 | components.Dispose();
19 | }
20 | base.Dispose(disposing);
21 | }
22 |
23 | #region Windows Form Designer generated code
24 |
25 | ///
26 | /// Required method for Designer support - do not modify
27 | /// the contents of this method with the code editor.
28 | ///
29 | private void InitializeComponent()
30 | {
31 | this.linkLabel1 = new System.Windows.Forms.LinkLabel();
32 | this.tabControl1 = new System.Windows.Forms.TabControl();
33 | this.tabPage1 = new System.Windows.Forms.TabPage();
34 | this.tabPage2 = new System.Windows.Forms.TabPage();
35 | this.button1 = new System.Windows.Forms.Button();
36 | this.tabControl1.SuspendLayout();
37 | this.SuspendLayout();
38 | //
39 | // linkLabel1
40 | //
41 | this.linkLabel1.AutoSize = true;
42 | this.linkLabel1.Location = new System.Drawing.Point(23, 468);
43 | this.linkLabel1.Name = "linkLabel1";
44 | this.linkLabel1.Size = new System.Drawing.Size(44, 15);
45 | this.linkLabel1.TabIndex = 0;
46 | this.linkLabel1.TabStop = true;
47 | this.linkLabel1.Text = "about";
48 | this.linkLabel1.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabel1_LinkClicked);
49 | //
50 | // tabControl1
51 | //
52 | this.tabControl1.Controls.Add(this.tabPage1);
53 | this.tabControl1.Controls.Add(this.tabPage2);
54 | this.tabControl1.Location = new System.Drawing.Point(2, 2);
55 | this.tabControl1.Name = "tabControl1";
56 | this.tabControl1.SelectedIndex = 0;
57 | this.tabControl1.Size = new System.Drawing.Size(811, 463);
58 | this.tabControl1.TabIndex = 1;
59 | //
60 | // tabPage1
61 | //
62 | this.tabPage1.Location = new System.Drawing.Point(4, 25);
63 | this.tabPage1.Name = "tabPage1";
64 | this.tabPage1.Padding = new System.Windows.Forms.Padding(3);
65 | this.tabPage1.Size = new System.Drawing.Size(803, 434);
66 | this.tabPage1.TabIndex = 0;
67 | this.tabPage1.Text = "General";
68 | this.tabPage1.UseVisualStyleBackColor = true;
69 | //
70 | // tabPage2
71 | //
72 | this.tabPage2.Location = new System.Drawing.Point(4, 25);
73 | this.tabPage2.Name = "tabPage2";
74 | this.tabPage2.Padding = new System.Windows.Forms.Padding(3);
75 | this.tabPage2.Size = new System.Drawing.Size(803, 434);
76 | this.tabPage2.TabIndex = 1;
77 | this.tabPage2.Text = "Setting 1";
78 | this.tabPage2.UseVisualStyleBackColor = true;
79 | //
80 | // button1
81 | //
82 | this.button1.Location = new System.Drawing.Point(683, 468);
83 | this.button1.Name = "button1";
84 | this.button1.Size = new System.Drawing.Size(119, 23);
85 | this.button1.TabIndex = 2;
86 | this.button1.Text = "submit";
87 | this.button1.UseVisualStyleBackColor = true;
88 | //
89 | // Settings_Form
90 | //
91 | this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 15F);
92 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
93 | this.ClientSize = new System.Drawing.Size(814, 492);
94 | this.Controls.Add(this.button1);
95 | this.Controls.Add(this.tabControl1);
96 | this.Controls.Add(this.linkLabel1);
97 | this.Name = "Settings_Form";
98 | this.Text = "Settings";
99 | this.tabControl1.ResumeLayout(false);
100 | this.ResumeLayout(false);
101 | this.PerformLayout();
102 |
103 | }
104 |
105 | #endregion
106 |
107 | private System.Windows.Forms.LinkLabel linkLabel1;
108 | private System.Windows.Forms.TabControl tabControl1;
109 | private System.Windows.Forms.TabPage tabPage1;
110 | private System.Windows.Forms.TabPage tabPage2;
111 | private System.Windows.Forms.Button button1;
112 | }
113 | }
--------------------------------------------------------------------------------
/Main/Settings_Form.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.ComponentModel;
4 | using System.Data;
5 | using System.Drawing;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Windows.Forms;
9 |
10 | namespace Main
11 | {
12 | public partial class Settings_Form : Form
13 | {
14 | public Settings_Form()
15 | {
16 | InitializeComponent();
17 | }
18 |
19 | private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
20 | {
21 | About_Form aboutForm = new About_Form();
22 | var k = aboutForm.ShowDialog(this);
23 | }
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/Main/Settings_Form.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 | text/microsoft-resx
110 |
111 |
112 | 2.0
113 |
114 |
115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
119 |
120 |
--------------------------------------------------------------------------------
/Main/VEdit_Form.Designer.cs:
--------------------------------------------------------------------------------
1 | namespace Main
2 | {
3 | partial class VEdit_Form
4 | {
5 | ///
6 | /// Required designer variable.
7 | ///
8 | private System.ComponentModel.IContainer components = null;
9 |
10 | ///
11 | /// Clean up any resources being used.
12 | ///
13 | /// true if managed resources should be disposed; otherwise, false.
14 | protected override void Dispose(bool disposing)
15 | {
16 | if (disposing && (components != null))
17 | {
18 | components.Dispose();
19 | }
20 | base.Dispose(disposing);
21 | }
22 |
23 | #region Windows Form Designer generated code
24 |
25 | ///
26 | /// Required method for Designer support - do not modify
27 | /// the contents of this method with the code editor.
28 | ///
29 | private void InitializeComponent()
30 | {
31 | this.label1 = new System.Windows.Forms.Label();
32 | this.textBox1 = new System.Windows.Forms.TextBox();
33 | this.button1 = new System.Windows.Forms.Button();
34 | this.SuspendLayout();
35 | //
36 | // label1
37 | //
38 | this.label1.AutoSize = true;
39 | this.label1.Location = new System.Drawing.Point(10, 35);
40 | this.label1.Name = "label1";
41 | this.label1.Size = new System.Drawing.Size(107, 15);
42 | this.label1.TabIndex = 0;
43 | this.label1.Text = "Change Value: ";
44 | //
45 | // textBox1
46 | //
47 | this.textBox1.Location = new System.Drawing.Point(114, 32);
48 | this.textBox1.Name = "textBox1";
49 | this.textBox1.Size = new System.Drawing.Size(100, 25);
50 | this.textBox1.TabIndex = 1;
51 | this.textBox1.TextChanged += new System.EventHandler(this.textBox1_TextChanged);
52 | this.textBox1.KeyDown += new System.Windows.Forms.KeyEventHandler(this.Enter);
53 | //
54 | // button1
55 | //
56 | this.button1.Location = new System.Drawing.Point(204, 75);
57 | this.button1.Name = "button1";
58 | this.button1.Size = new System.Drawing.Size(99, 39);
59 | this.button1.TabIndex = 2;
60 | this.button1.Text = "OK";
61 | this.button1.UseVisualStyleBackColor = true;
62 | this.button1.Click += new System.EventHandler(this.button1_Click);
63 | //
64 | // VEdit_Form
65 | //
66 | this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 15F);
67 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
68 | this.ClientSize = new System.Drawing.Size(325, 126);
69 | this.Controls.Add(this.button1);
70 | this.Controls.Add(this.textBox1);
71 | this.Controls.Add(this.label1);
72 | this.Name = "VEdit_Form";
73 | this.Text = "Edit Value";
74 | this.ResumeLayout(false);
75 | this.PerformLayout();
76 |
77 | }
78 |
79 | #endregion
80 |
81 | private System.Windows.Forms.Label label1;
82 | private System.Windows.Forms.TextBox textBox1;
83 | private System.Windows.Forms.Button button1;
84 | }
85 | }
--------------------------------------------------------------------------------
/Main/VEdit_Form.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.ComponentModel;
4 | using System.Data;
5 | using System.Drawing;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Windows.Forms;
9 |
10 | namespace Main
11 | {
12 |
13 |
14 | public partial class VEdit_Form : Form
15 | {
16 |
17 | public int VALUE { get; set; }
18 |
19 |
20 | public VEdit_Form()
21 | {
22 | InitializeComponent();
23 | }
24 |
25 | private void button1_Click(object sender, EventArgs e)
26 | {
27 | this.VALUE = Convert.ToInt32(textBox1.Text);
28 | this.DialogResult = DialogResult.OK;
29 | this.Close();
30 | }
31 |
32 | private void Enter(object sender, KeyEventArgs e)
33 | {
34 | if (e.KeyCode == Keys.Enter)
35 | {
36 | this.button1_Click(sender, e);
37 | }
38 | else
39 | {
40 |
41 | }
42 | }
43 |
44 | private void textBox1_TextChanged(object sender, EventArgs e)
45 | {
46 |
47 | }
48 | }
49 | }
50 |
--------------------------------------------------------------------------------
/Main/VEdit_Form.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 | text/microsoft-resx
110 |
111 |
112 | 2.0
113 |
114 |
115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
119 |
120 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Memory Editor
2 |
3 |
4 | The goal is to implement the Cheat Engine via C#
5 |
6 | To start the program, run Main.exe.
7 |
8 | - Require : .Net Framework 4.5
9 |
10 | - Tested On: Windows 10 x64
11 |
12 | - Driver: Driver Test Signing
13 |
14 | [Change Log Link](https://github.com/Empier/MemoryEditor/blob/master/ChangeLog.txt)
15 |
16 | ######################################
17 |
18 | ## Build
19 |
20 | ### Tools
21 |
22 | Use Visual Studio 2015 Pro
23 |
24 | Windows Driver Kit
25 |
26 | AcroEdit
27 |
28 | ### ScreenShot
29 |
30 |
--------------------------------------------------------------------------------
/Win8.1Debug/Empire.inf:
--------------------------------------------------------------------------------
1 | ;
2 | ; Empire.inf
3 | ;
4 |
5 | [Version]
6 | Signature="$WINDOWS NT$"
7 | Class=Sample ; TODO: edit Class
8 | ClassGuid={78A1C341-4539-11d3-B88D-00C04FAD5171} ; TODO: edit ClassGuid
9 | Provider=ASF%ManufacturerName%
10 | CatalogFile=Empire.cat
11 | DriverVer = 08/13/2019,22.12.28.200
12 |
13 | ;[DestinationDirs]
14 | ;DefaultDestDir = 12
15 |
16 | ; ================= Class section =====================
17 |
18 | [ClassInstall32]
19 | Addreg=SampleClassReg
20 |
21 | [SampleClassReg]
22 | HKR,,,0,%ClassName%
23 | HKR,,Icon,,-5
24 |
25 | [SourceDisksNames]
26 | 1 = %DiskName%,,,""
27 |
28 | ;[SourceDisksFiles]
29 | ;Empire.sys = 1,,
30 |
31 | ;*****************************************
32 | ; Install Section
33 | ;*****************************************
34 |
35 | [Manufacturer]
36 | %ManufacturerName%=Standard,NTx86
37 |
38 | [Standard.NTx86]
39 | %Empire.DeviceDesc%=Empire_Device, Root\Empire ; TODO: edit hw-id
40 |
41 | [Empire_Device.NT]
42 | CopyFiles=Drivers_Dir
43 |
44 | [Drivers_Dir]
45 | Empire.sys
46 |
47 |
48 | ;-------------- Service installation
49 | [Empire_Device.NT.Services]
50 | AddService = Empire,%SPSVCINST_ASSOCSERVICE%, Empire_Service_Inst
51 |
52 | ; -------------- Empire driver install sections
53 | [Empire_Service_Inst]
54 | DisplayName = %Empire.SVCDESC%
55 | ServiceType = 1 ; SERVICE_KERNEL_DRIVER
56 | StartType = 3 ; SERVICE_DEMAND_START
57 | ErrorControl = 1 ; SERVICE_ERROR_NORMAL
58 | ServiceBinary = %12%\Empire.sys
59 | LoadOrderGroup = Extended Base
60 |
61 | ;
62 | ;--- Empire_Device Coinstaller installation ------
63 | ;
64 |
65 | [DestinationDirs]
66 | Empire_Device_CoInstaller_CopyFiles = 11
67 |
68 | [Empire_Device.NT.CoInstallers]
69 | AddReg=Empire_Device_CoInstaller_AddReg
70 | CopyFiles=Empire_Device_CoInstaller_CopyFiles
71 |
72 | [Empire_Device_CoInstaller_AddReg]
73 | HKR,,CoInstallers32,0x00010000, "WdfCoInstaller01011.dll,WdfCoInstaller"
74 |
75 | [Empire_Device_CoInstaller_CopyFiles]
76 | WdfCoInstaller01011.dll
77 |
78 | [SourceDisksFiles]
79 | WdfCoInstaller01011.dll=1 ; make sure the number matches with SourceDisksNames
80 | Empire.sys = 1,,
81 |
82 | [Empire_Device.NT.Wdf]
83 | KmdfService = Empire, Empire_wdfsect
84 | [Empire_wdfsect]
85 | KmdfLibraryVersion = 1.11
86 |
87 | [Strings]
88 | SPSVCINST_ASSOCSERVICE= 0x00000002
89 | ManufacturerName="" ; TODO: add ManufacturerName
90 | ClassName="Samples" ; TODO: edit ClassName
91 | DiskName = "Empire Installation Disk"
92 | Empire.DeviceDesc = "Empire Device"
93 | Empire.SVCDESC = "Empire Service"
94 |
--------------------------------------------------------------------------------