├── Code ├── EnvironmentInformation.cpp ├── EnvironmentInformation.h ├── ErrorInformation.cpp ├── ErrorInformation.h ├── ExeEntry.cpp ├── InjectCode.cpp ├── InjectCode.h ├── ProcessInformation.cpp ├── ProcessInformation.h ├── stdafx.cpp ├── stdafx.h └── targetver.h ├── README.md ├── VS2008 ├── InjectCode.sln ├── InjectCode.suo └── InjectCode │ ├── InjectCode.vcproj │ └── ReadMe.txt └── vs2012 ├── InjectCode.sln ├── InjectCode.v11.suo └── InjectCode ├── InjectCode.vcxproj ├── InjectCode.vcxproj.filters ├── InjectCode.vcxproj.user └── ReadMe.txt /Code/EnvironmentInformation.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EvilKnight1986/InjectCode/973d4fcbf2b574a9ec3af100ba7dce0ce558af6a/Code/EnvironmentInformation.cpp -------------------------------------------------------------------------------- /Code/EnvironmentInformation.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EvilKnight1986/InjectCode/973d4fcbf2b574a9ec3af100ba7dce0ce558af6a/Code/EnvironmentInformation.h -------------------------------------------------------------------------------- /Code/ErrorInformation.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EvilKnight1986/InjectCode/973d4fcbf2b574a9ec3af100ba7dce0ce558af6a/Code/ErrorInformation.cpp -------------------------------------------------------------------------------- /Code/ErrorInformation.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EvilKnight1986/InjectCode/973d4fcbf2b574a9ec3af100ba7dce0ce558af6a/Code/ErrorInformation.h -------------------------------------------------------------------------------- /Code/ExeEntry.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EvilKnight1986/InjectCode/973d4fcbf2b574a9ec3af100ba7dce0ce558af6a/Code/ExeEntry.cpp -------------------------------------------------------------------------------- /Code/InjectCode.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EvilKnight1986/InjectCode/973d4fcbf2b574a9ec3af100ba7dce0ce558af6a/Code/InjectCode.cpp -------------------------------------------------------------------------------- /Code/InjectCode.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EvilKnight1986/InjectCode/973d4fcbf2b574a9ec3af100ba7dce0ce558af6a/Code/InjectCode.h -------------------------------------------------------------------------------- /Code/ProcessInformation.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EvilKnight1986/InjectCode/973d4fcbf2b574a9ec3af100ba7dce0ce558af6a/Code/ProcessInformation.cpp -------------------------------------------------------------------------------- /Code/ProcessInformation.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EvilKnight1986/InjectCode/973d4fcbf2b574a9ec3af100ba7dce0ce558af6a/Code/ProcessInformation.h -------------------------------------------------------------------------------- /Code/stdafx.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EvilKnight1986/InjectCode/973d4fcbf2b574a9ec3af100ba7dce0ce558af6a/Code/stdafx.cpp -------------------------------------------------------------------------------- /Code/stdafx.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EvilKnight1986/InjectCode/973d4fcbf2b574a9ec3af100ba7dce0ce558af6a/Code/stdafx.h -------------------------------------------------------------------------------- /Code/targetver.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EvilKnight1986/InjectCode/973d4fcbf2b574a9ec3af100ba7dce0ce558af6a/Code/targetver.h -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | InjectCode 2 | ========== 3 | The InjectCode project is a support Windows 32 bit and 64 bit DLL remote thread injection library. 4 | 5 | Tested Platforms 6 | ----------------- 7 | - Windows 8 x64 8 | - Windows 8 x32 9 | - Windows 7 SP1 x64 10 | - Windows 7 SP1 x32 11 | - Windows 2008 R2 12 | - Windows 2003 SP2 x64 13 | - Windows 2003 SP2 x32 14 | - Windows XP SP2 x64 15 | - Windows XP SP2 x32 16 | 17 | principle of work 18 | ----------------- 19 | step 1. find target process by process name. 20 | step 2. Find successively injected into the process. 21 | setp 3. To determine whether the program can be injected into the median. 22 | setp 4. Create a remote thread will be injected into the target process dll. 23 | -------------------------------------------------------------------------------- /VS2008/InjectCode.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 10.00 3 | # Visual Studio 2008 4 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "InjectCode", "InjectCode\InjectCode.vcproj", "{D761F7A4-335A-43EB-944A-B007A997C46D}" 5 | EndProject 6 | Global 7 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 8 | Debug|Win32 = Debug|Win32 9 | Debug|x64 = Debug|x64 10 | DebugExe|Win32 = DebugExe|Win32 11 | DebugExe|x64 = DebugExe|x64 12 | Release|Win32 = Release|Win32 13 | Release|x64 = Release|x64 14 | EndGlobalSection 15 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 16 | {D761F7A4-335A-43EB-944A-B007A997C46D}.Debug|Win32.ActiveCfg = Debug|Win32 17 | {D761F7A4-335A-43EB-944A-B007A997C46D}.Debug|Win32.Build.0 = Debug|Win32 18 | {D761F7A4-335A-43EB-944A-B007A997C46D}.Debug|x64.ActiveCfg = Debug|x64 19 | {D761F7A4-335A-43EB-944A-B007A997C46D}.Debug|x64.Build.0 = Debug|x64 20 | {D761F7A4-335A-43EB-944A-B007A997C46D}.DebugExe|Win32.ActiveCfg = DebugExe|Win32 21 | {D761F7A4-335A-43EB-944A-B007A997C46D}.DebugExe|Win32.Build.0 = DebugExe|Win32 22 | {D761F7A4-335A-43EB-944A-B007A997C46D}.DebugExe|x64.ActiveCfg = DebugExe|x64 23 | {D761F7A4-335A-43EB-944A-B007A997C46D}.DebugExe|x64.Build.0 = DebugExe|x64 24 | {D761F7A4-335A-43EB-944A-B007A997C46D}.Release|Win32.ActiveCfg = Release|Win32 25 | {D761F7A4-335A-43EB-944A-B007A997C46D}.Release|Win32.Build.0 = Release|Win32 26 | {D761F7A4-335A-43EB-944A-B007A997C46D}.Release|x64.ActiveCfg = Release|x64 27 | {D761F7A4-335A-43EB-944A-B007A997C46D}.Release|x64.Build.0 = Release|x64 28 | EndGlobalSection 29 | GlobalSection(SolutionProperties) = preSolution 30 | HideSolutionNode = FALSE 31 | EndGlobalSection 32 | EndGlobal 33 | -------------------------------------------------------------------------------- /VS2008/InjectCode.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EvilKnight1986/InjectCode/973d4fcbf2b574a9ec3af100ba7dce0ce558af6a/VS2008/InjectCode.suo -------------------------------------------------------------------------------- /VS2008/InjectCode/InjectCode.vcproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EvilKnight1986/InjectCode/973d4fcbf2b574a9ec3af100ba7dce0ce558af6a/VS2008/InjectCode/InjectCode.vcproj -------------------------------------------------------------------------------- /VS2008/InjectCode/ReadMe.txt: -------------------------------------------------------------------------------- 1 | ======================================================================== 2 | 静态库:InjectCode 项目概述 3 | ======================================================================== 4 | 5 | 应用程序向导已为您创建了此 InjectCode 库项目。 6 | 7 | 本文件概要介绍组成 InjectCode 应用程序的每个文件的内容。 8 | 9 | 10 | InjectCode.vcproj 11 | 这是使用应用程序向导生成的 VC++ 项目的主项目文件, 12 | 其中包含生成该文件的 Visual C++ 的版本信息,以及有关使用应用程序向导选择的平台、配置和项目功能的信息。 13 | 14 | 15 | ///////////////////////////////////////////////////////////////////////////// 16 | 17 | StdAfx.h, StdAfx.cpp 18 | 这些文件用于生成名为 InjectCode.pch 的预编译头 (PCH) 文件和名为 StdAfx.obj 的预编译类型文件。 19 | 20 | ///////////////////////////////////////////////////////////////////////////// 21 | 其他注释: 22 | 23 | 应用程序向导使用“TODO:”注释来指示应添加或自定义的源代码部分。 24 | 25 | ///////////////////////////////////////////////////////////////////////////// -------------------------------------------------------------------------------- /vs2012/InjectCode.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 2012 4 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "InjectCode", "InjectCode\InjectCode.vcxproj", "{F296FC0B-FCBA-4A49-8A65-584B23EA2BA9}" 5 | EndProject 6 | Global 7 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 8 | Debug|Win32 = Debug|Win32 9 | Debug|x64 = Debug|x64 10 | DebugExe|Win32 = DebugExe|Win32 11 | DebugExe|x64 = DebugExe|x64 12 | Release|Win32 = Release|Win32 13 | Release|x64 = Release|x64 14 | EndGlobalSection 15 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 16 | {F296FC0B-FCBA-4A49-8A65-584B23EA2BA9}.Debug|Win32.ActiveCfg = Debug|Win32 17 | {F296FC0B-FCBA-4A49-8A65-584B23EA2BA9}.Debug|Win32.Build.0 = Debug|Win32 18 | {F296FC0B-FCBA-4A49-8A65-584B23EA2BA9}.Debug|Win32.Deploy.0 = Debug|Win32 19 | {F296FC0B-FCBA-4A49-8A65-584B23EA2BA9}.Debug|x64.ActiveCfg = Debug|x64 20 | {F296FC0B-FCBA-4A49-8A65-584B23EA2BA9}.Debug|x64.Build.0 = Debug|x64 21 | {F296FC0B-FCBA-4A49-8A65-584B23EA2BA9}.DebugExe|Win32.ActiveCfg = DebugExe|Win32 22 | {F296FC0B-FCBA-4A49-8A65-584B23EA2BA9}.DebugExe|Win32.Build.0 = DebugExe|Win32 23 | {F296FC0B-FCBA-4A49-8A65-584B23EA2BA9}.DebugExe|Win32.Deploy.0 = DebugExe|Win32 24 | {F296FC0B-FCBA-4A49-8A65-584B23EA2BA9}.DebugExe|x64.ActiveCfg = DebugExe|x64 25 | {F296FC0B-FCBA-4A49-8A65-584B23EA2BA9}.DebugExe|x64.Build.0 = DebugExe|x64 26 | {F296FC0B-FCBA-4A49-8A65-584B23EA2BA9}.Release|Win32.ActiveCfg = Release|Win32 27 | {F296FC0B-FCBA-4A49-8A65-584B23EA2BA9}.Release|Win32.Build.0 = Release|Win32 28 | {F296FC0B-FCBA-4A49-8A65-584B23EA2BA9}.Release|Win32.Deploy.0 = Release|Win32 29 | {F296FC0B-FCBA-4A49-8A65-584B23EA2BA9}.Release|x64.ActiveCfg = Release|x64 30 | {F296FC0B-FCBA-4A49-8A65-584B23EA2BA9}.Release|x64.Build.0 = Release|x64 31 | EndGlobalSection 32 | GlobalSection(SolutionProperties) = preSolution 33 | HideSolutionNode = FALSE 34 | EndGlobalSection 35 | EndGlobal 36 | -------------------------------------------------------------------------------- /vs2012/InjectCode.v11.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EvilKnight1986/InjectCode/973d4fcbf2b574a9ec3af100ba7dce0ce558af6a/vs2012/InjectCode.v11.suo -------------------------------------------------------------------------------- /vs2012/InjectCode/InjectCode.vcxproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | DebugExe 6 | Win32 7 | 8 | 9 | DebugExe 10 | x64 11 | 12 | 13 | Debug 14 | Win32 15 | 16 | 17 | Debug 18 | x64 19 | 20 | 21 | Release 22 | Win32 23 | 24 | 25 | Release 26 | x64 27 | 28 | 29 | 30 | {F296FC0B-FCBA-4A49-8A65-584B23EA2BA9} 31 | Win32Proj 32 | InjectCode 33 | 34 | 35 | 36 | StaticLibrary 37 | true 38 | v110 39 | Unicode 40 | 41 | 42 | StaticLibrary 43 | true 44 | v110 45 | Unicode 46 | 47 | 48 | Application 49 | true 50 | v110 51 | Unicode 52 | 53 | 54 | Application 55 | true 56 | v110 57 | Unicode 58 | 59 | 60 | StaticLibrary 61 | false 62 | v110 63 | true 64 | Unicode 65 | 66 | 67 | StaticLibrary 68 | false 69 | v110 70 | true 71 | Unicode 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 | ..\$(PlatformName) 97 | ..\$(PlatformName)\$(Configuration) 98 | 99 | 100 | $(PlatformName) 101 | $(PlatformName)\$(Configuration) 102 | $(ProjectName)_$(PlatformName)_$(Configuration) 103 | 104 | 105 | ..\$(PlatformName) 106 | ..\$(PlatformName)\$(Configuration) 107 | 108 | 109 | $(PlatformName) 110 | $(PlatformName)\$(Configuration) 111 | $(ProjectName)_$(PlatformName)_$(Configuration) 112 | 113 | 114 | ..\$(PlatformName) 115 | ..\$(PlatformName)\$(Configuration) 116 | 117 | 118 | $(PlatformName) 119 | $(PlatformName)\$(Configuration) 120 | $(ProjectName)_$(PlatformName)_$(Configuration) 121 | 122 | 123 | 124 | NotUsing 125 | Level3 126 | Disabled 127 | WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions) 128 | true 129 | MultiThreadedDebug 130 | 131 | 132 | Windows 133 | true 134 | 135 | 136 | ..\$(PlatformName)\$(ProjectName)_$(PlatformName)_$(ConfigurationName)$(TargetExt) 137 | 138 | 139 | 140 | 141 | NotUsing 142 | Level3 143 | Disabled 144 | WIN32;_WIN64;_DEBUG;_LIB;%(PreprocessorDefinitions) 145 | true 146 | MultiThreadedDebug 147 | 148 | 149 | Windows 150 | true 151 | 152 | 153 | ..\$(PlatformName)\$(ProjectName)_$(PlatformName)_$(ConfigurationName)$(TargetExt) 154 | 155 | 156 | 157 | 158 | NotUsing 159 | Level3 160 | Disabled 161 | WIN32;_DEBUG;_LIB;_EXE;%(PreprocessorDefinitions) 162 | true 163 | MultiThreadedDebug 164 | 165 | 166 | Windows 167 | true 168 | ..\$(PlatformName)\$(ProjectName)_$(PlatformName)_$(ConfigurationName)$(TargetExt) 169 | 170 | 171 | $(ProjectName)_$(PlatformTarget))_$(ConfigurationName).$(TargetExt) 172 | 173 | 174 | 175 | 176 | NotUsing 177 | Level3 178 | Disabled 179 | WIN32;_WIN64;_DEBUG;_LIB;_EXE;%(PreprocessorDefinitions) 180 | true 181 | MultiThreadedDebug 182 | 183 | 184 | Windows 185 | true 186 | $(PlatformName)\$(ProjectName)_$(PlatformName)_$(ConfigurationName)$(TargetExt) 187 | 188 | 189 | $(ProjectName)_$(PlatformTarget))_$(ConfigurationName).$(TargetExt) 190 | 191 | 192 | 193 | 194 | Level3 195 | NotUsing 196 | MaxSpeed 197 | true 198 | true 199 | WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions) 200 | true 201 | MultiThreaded 202 | 203 | 204 | Windows 205 | true 206 | true 207 | true 208 | 209 | 210 | ..\$(PlatformName)\$(ProjectName)_$(PlatformName)_$(ConfigurationName)$(TargetExt) 211 | 212 | 213 | 214 | 215 | Level3 216 | NotUsing 217 | MaxSpeed 218 | true 219 | true 220 | WIN32;_WIN64;NDEBUG;_LIB;%(PreprocessorDefinitions) 221 | true 222 | MultiThreaded 223 | 224 | 225 | Windows 226 | true 227 | true 228 | true 229 | 230 | 231 | ..\$(PlatformName)\$(ProjectName)_$(PlatformName)_$(ConfigurationName)$(TargetExt) 232 | 233 | 234 | 235 | 236 | 237 | 238 | 239 | 240 | 241 | 242 | 243 | 244 | 245 | 246 | 247 | 248 | 249 | 250 | 251 | 252 | 253 | 254 | 255 | 256 | -------------------------------------------------------------------------------- /vs2012/InjectCode/InjectCode.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 | 18 | 19 | 20 | 21 | 22 | 头文件 23 | 24 | 25 | 头文件 26 | 27 | 28 | 头文件 29 | 30 | 31 | 头文件 32 | 33 | 34 | 头文件 35 | 36 | 37 | 头文件 38 | 39 | 40 | 41 | 42 | 源文件 43 | 44 | 45 | 源文件 46 | 47 | 48 | 源文件 49 | 50 | 51 | 源文件 52 | 53 | 54 | 源文件 55 | 56 | 57 | 源文件 58 | 59 | 60 | -------------------------------------------------------------------------------- /vs2012/InjectCode/InjectCode.vcxproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /vs2012/InjectCode/ReadMe.txt: -------------------------------------------------------------------------------- 1 | ======================================================================== 2 | 静态库:InjectCode 项目概述 3 | ======================================================================== 4 | 5 | 应用程序向导已为您创建了此 InjectCode 库项目。 6 | 7 | 没有为此项目创建源文件。 8 | 9 | 10 | InjectCode.vcxproj 11 | 这是使用应用程序向导生成的 VC++ 项目的主项目文件,其中包含生成该文件的 Visual C++ 的版本信息,以及有关使用应用程序向导选择的平台、配置和项目功能的信息。 12 | 13 | InjectCode.vcxproj.filters 14 | 这是使用“应用程序向导”生成的 VC++ 项目筛选器文件。它包含有关项目文件与筛选器之间的关联信息。在 IDE 中,通过这种关联,在特定节点下以分组形式显示具有相似扩展名的文件。例如,“.cpp”文件与“源文件”筛选器关联。 15 | 16 | ///////////////////////////////////////////////////////////////////////////// 17 | 其他注释: 18 | 19 | 应用程序向导使用“TODO:”注释来指示应添加或自定义的源代码部分。 20 | 21 | ///////////////////////////////////////////////////////////////////////////// 22 | --------------------------------------------------------------------------------