forked from rootm0s/Injectors
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
7 changed files
with
381 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,63 @@ | ||
############################################################################### | ||
# Set default behavior to automatically normalize line endings. | ||
############################################################################### | ||
* text=auto | ||
|
||
############################################################################### | ||
# Set default behavior for command prompt diff. | ||
# | ||
# This is need for earlier builds of msysgit that does not have it on by | ||
# default for csharp files. | ||
# Note: This is only used by command line | ||
############################################################################### | ||
#*.cs diff=csharp | ||
|
||
############################################################################### | ||
# Set the merge driver for project and solution files | ||
# | ||
# Merging from the command prompt will add diff markers to the files if there | ||
# are conflicts (Merging from VS is not affected by the settings below, in VS | ||
# the diff markers are never inserted). Diff markers may cause the following | ||
# file extensions to fail to load in VS. An alternative would be to treat | ||
# these files as binary and thus will always conflict and require user | ||
# intervention with every merge. To do so, just uncomment the entries below | ||
############################################################################### | ||
#*.sln merge=binary | ||
#*.csproj merge=binary | ||
#*.vbproj merge=binary | ||
#*.vcxproj merge=binary | ||
#*.vcproj merge=binary | ||
#*.dbproj merge=binary | ||
#*.fsproj merge=binary | ||
#*.lsproj merge=binary | ||
#*.wixproj merge=binary | ||
#*.modelproj merge=binary | ||
#*.sqlproj merge=binary | ||
#*.wwaproj merge=binary | ||
|
||
############################################################################### | ||
# behavior for image files | ||
# | ||
# image files are treated as binary by default. | ||
############################################################################### | ||
#*.jpg binary | ||
#*.png binary | ||
#*.gif binary | ||
|
||
############################################################################### | ||
# diff behavior for common document formats | ||
# | ||
# Convert binary document formats to text before diffing them. This feature | ||
# is only available from the command line. Turn it on by uncommenting the | ||
# entries below. | ||
############################################################################### | ||
#*.doc diff=astextplain | ||
#*.DOC diff=astextplain | ||
#*.docx diff=astextplain | ||
#*.DOCX diff=astextplain | ||
#*.dot diff=astextplain | ||
#*.DOT diff=astextplain | ||
#*.pdf diff=astextplain | ||
#*.PDF diff=astextplain | ||
#*.rtf diff=astextplain | ||
#*.RTF diff=astextplain |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,87 @@ | ||
#OS junk files | ||
[Tt]humbs.db | ||
*.DS_Store | ||
|
||
#Visual Studio files | ||
*.[Oo]bj | ||
*.user | ||
*.aps | ||
*.pch | ||
*.vspscc | ||
*.vssscc | ||
*_i.c | ||
*_p.c | ||
*.ncb | ||
*.suo | ||
*.tlb | ||
*.tlh | ||
*.bak | ||
*.[Cc]ache | ||
*.ilk | ||
*.log | ||
*.tlog | ||
*.pdb | ||
*.cer | ||
*.lib | ||
*.sbr | ||
*.sdf | ||
*.opensdf | ||
*.unsuccessfulbuild | ||
*.lastbuildstate | ||
ipch/ | ||
obj/ | ||
cmake/ | ||
[Bb]in | ||
[Dd]ebug*/ | ||
[Rr]elease*/ | ||
Ankh.NoLoad | ||
|
||
#MonoDevelop | ||
*.pidb | ||
*.userprefs | ||
|
||
#Tooling | ||
_ReSharper*/ | ||
*.resharper | ||
[Tt]est[Rr]esult* | ||
*.sass-cache | ||
|
||
#Project files | ||
[Bb]uild/ | ||
|
||
#Subversion files | ||
.svn | ||
|
||
# Office Temp Files | ||
~$* | ||
|
||
#NuGet | ||
packages/ | ||
|
||
#ncrunch | ||
*ncrunch* | ||
*crunch*.local.xml | ||
|
||
# visual studio database projects | ||
*.dbmdl | ||
|
||
#Test files | ||
*.testsettings | ||
|
||
#Generated libraries | ||
*.dll | ||
*.bin | ||
*.sys | ||
#and files | ||
GeneratedFiles*/ | ||
|
||
*.ggpk | ||
*.idb | ||
*.opendb | ||
*.db | ||
*.sqlite | ||
/.vs | ||
*.db-shm | ||
*.db-wal | ||
*.json | ||
*.json |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,85 @@ | ||
|
||
Microsoft Visual Studio Solution File, Format Version 12.00 | ||
# Visual Studio 15 | ||
VisualStudioVersion = 15.0.26403.3 | ||
MinimumVisualStudioVersion = 10.0.40219.1 | ||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BlackBone", "src\BlackBone\BlackBone.vcxproj", "{A2C53563-46F5-4D87-903F-3F1F2FDB2DEB}" | ||
EndProject | ||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestApp", "src\TestApp\TestApp.vcxproj", "{D31B07B5-C75F-4382-B07F-D95922764BD7}" | ||
ProjectSection(ProjectDependencies) = postProject | ||
{A2C53563-46F5-4D87-903F-3F1F2FDB2DEB} = {A2C53563-46F5-4D87-903F-3F1F2FDB2DEB} | ||
EndProjectSection | ||
EndProject | ||
Global | ||
GlobalSection(SolutionConfigurationPlatforms) = preSolution | ||
Debug(DLL)|Win32 = Debug(DLL)|Win32 | ||
Debug(DLL)|x64 = Debug(DLL)|x64 | ||
Debug(XP)|Win32 = Debug(XP)|Win32 | ||
Debug(XP)|x64 = Debug(XP)|x64 | ||
Debug|Win32 = Debug|Win32 | ||
Debug|x64 = Debug|x64 | ||
Release(DLL)|Win32 = Release(DLL)|Win32 | ||
Release(DLL)|x64 = Release(DLL)|x64 | ||
Release(XP)|Win32 = Release(XP)|Win32 | ||
Release(XP)|x64 = Release(XP)|x64 | ||
Release|Win32 = Release|Win32 | ||
Release|x64 = Release|x64 | ||
EndGlobalSection | ||
GlobalSection(ProjectConfigurationPlatforms) = postSolution | ||
{A2C53563-46F5-4D87-903F-3F1F2FDB2DEB}.Debug(DLL)|Win32.ActiveCfg = Debug(DLL)|Win32 | ||
{A2C53563-46F5-4D87-903F-3F1F2FDB2DEB}.Debug(DLL)|Win32.Build.0 = Debug(DLL)|Win32 | ||
{A2C53563-46F5-4D87-903F-3F1F2FDB2DEB}.Debug(DLL)|x64.ActiveCfg = Debug(DLL)|x64 | ||
{A2C53563-46F5-4D87-903F-3F1F2FDB2DEB}.Debug(DLL)|x64.Build.0 = Debug(DLL)|x64 | ||
{A2C53563-46F5-4D87-903F-3F1F2FDB2DEB}.Debug(XP)|Win32.ActiveCfg = Debug(XP)|Win32 | ||
{A2C53563-46F5-4D87-903F-3F1F2FDB2DEB}.Debug(XP)|Win32.Build.0 = Debug(XP)|Win32 | ||
{A2C53563-46F5-4D87-903F-3F1F2FDB2DEB}.Debug(XP)|x64.ActiveCfg = Debug(XP)|x64 | ||
{A2C53563-46F5-4D87-903F-3F1F2FDB2DEB}.Debug(XP)|x64.Build.0 = Debug(XP)|x64 | ||
{A2C53563-46F5-4D87-903F-3F1F2FDB2DEB}.Debug|Win32.ActiveCfg = Debug|Win32 | ||
{A2C53563-46F5-4D87-903F-3F1F2FDB2DEB}.Debug|Win32.Build.0 = Debug|Win32 | ||
{A2C53563-46F5-4D87-903F-3F1F2FDB2DEB}.Debug|x64.ActiveCfg = Debug|x64 | ||
{A2C53563-46F5-4D87-903F-3F1F2FDB2DEB}.Debug|x64.Build.0 = Debug|x64 | ||
{A2C53563-46F5-4D87-903F-3F1F2FDB2DEB}.Release(DLL)|Win32.ActiveCfg = Release(DLL)|Win32 | ||
{A2C53563-46F5-4D87-903F-3F1F2FDB2DEB}.Release(DLL)|Win32.Build.0 = Release(DLL)|Win32 | ||
{A2C53563-46F5-4D87-903F-3F1F2FDB2DEB}.Release(DLL)|x64.ActiveCfg = Release(DLL)|x64 | ||
{A2C53563-46F5-4D87-903F-3F1F2FDB2DEB}.Release(DLL)|x64.Build.0 = Release(DLL)|x64 | ||
{A2C53563-46F5-4D87-903F-3F1F2FDB2DEB}.Release(XP)|Win32.ActiveCfg = Release(XP)|Win32 | ||
{A2C53563-46F5-4D87-903F-3F1F2FDB2DEB}.Release(XP)|Win32.Build.0 = Release(XP)|Win32 | ||
{A2C53563-46F5-4D87-903F-3F1F2FDB2DEB}.Release(XP)|x64.ActiveCfg = Release(XP)|x64 | ||
{A2C53563-46F5-4D87-903F-3F1F2FDB2DEB}.Release(XP)|x64.Build.0 = Release(XP)|x64 | ||
{A2C53563-46F5-4D87-903F-3F1F2FDB2DEB}.Release|Win32.ActiveCfg = Release|Win32 | ||
{A2C53563-46F5-4D87-903F-3F1F2FDB2DEB}.Release|Win32.Build.0 = Release|Win32 | ||
{A2C53563-46F5-4D87-903F-3F1F2FDB2DEB}.Release|x64.ActiveCfg = Release|x64 | ||
{A2C53563-46F5-4D87-903F-3F1F2FDB2DEB}.Release|x64.Build.0 = Release|x64 | ||
{D31B07B5-C75F-4382-B07F-D95922764BD7}.Debug(DLL)|Win32.ActiveCfg = Debug(DLL)|Win32 | ||
{D31B07B5-C75F-4382-B07F-D95922764BD7}.Debug(DLL)|Win32.Build.0 = Debug(DLL)|Win32 | ||
{D31B07B5-C75F-4382-B07F-D95922764BD7}.Debug(DLL)|x64.ActiveCfg = Debug(DLL)|x64 | ||
{D31B07B5-C75F-4382-B07F-D95922764BD7}.Debug(DLL)|x64.Build.0 = Debug(DLL)|x64 | ||
{D31B07B5-C75F-4382-B07F-D95922764BD7}.Debug(XP)|Win32.ActiveCfg = Debug(XP)|Win32 | ||
{D31B07B5-C75F-4382-B07F-D95922764BD7}.Debug(XP)|Win32.Build.0 = Debug(XP)|Win32 | ||
{D31B07B5-C75F-4382-B07F-D95922764BD7}.Debug(XP)|x64.ActiveCfg = Debug(XP)|x64 | ||
{D31B07B5-C75F-4382-B07F-D95922764BD7}.Debug(XP)|x64.Build.0 = Debug(XP)|x64 | ||
{D31B07B5-C75F-4382-B07F-D95922764BD7}.Debug|Win32.ActiveCfg = Debug|Win32 | ||
{D31B07B5-C75F-4382-B07F-D95922764BD7}.Debug|Win32.Build.0 = Debug|Win32 | ||
{D31B07B5-C75F-4382-B07F-D95922764BD7}.Debug|Win32.Deploy.0 = Debug|Win32 | ||
{D31B07B5-C75F-4382-B07F-D95922764BD7}.Debug|x64.ActiveCfg = Debug|x64 | ||
{D31B07B5-C75F-4382-B07F-D95922764BD7}.Debug|x64.Build.0 = Debug|x64 | ||
{D31B07B5-C75F-4382-B07F-D95922764BD7}.Debug|x64.Deploy.0 = Debug|x64 | ||
{D31B07B5-C75F-4382-B07F-D95922764BD7}.Release(DLL)|Win32.ActiveCfg = Release(DLL)|Win32 | ||
{D31B07B5-C75F-4382-B07F-D95922764BD7}.Release(DLL)|Win32.Build.0 = Release(DLL)|Win32 | ||
{D31B07B5-C75F-4382-B07F-D95922764BD7}.Release(DLL)|Win32.Deploy.0 = Release(DLL)|Win32 | ||
{D31B07B5-C75F-4382-B07F-D95922764BD7}.Release(DLL)|x64.ActiveCfg = Release(DLL)|x64 | ||
{D31B07B5-C75F-4382-B07F-D95922764BD7}.Release(DLL)|x64.Build.0 = Release(DLL)|x64 | ||
{D31B07B5-C75F-4382-B07F-D95922764BD7}.Release(XP)|Win32.ActiveCfg = Release(XP)|Win32 | ||
{D31B07B5-C75F-4382-B07F-D95922764BD7}.Release(XP)|Win32.Build.0 = Release(XP)|Win32 | ||
{D31B07B5-C75F-4382-B07F-D95922764BD7}.Release(XP)|x64.ActiveCfg = Release(XP)|x64 | ||
{D31B07B5-C75F-4382-B07F-D95922764BD7}.Release(XP)|x64.Build.0 = Release(XP)|x64 | ||
{D31B07B5-C75F-4382-B07F-D95922764BD7}.Release|Win32.ActiveCfg = Release|Win32 | ||
{D31B07B5-C75F-4382-B07F-D95922764BD7}.Release|Win32.Build.0 = Release|Win32 | ||
{D31B07B5-C75F-4382-B07F-D95922764BD7}.Release|Win32.Deploy.0 = Release|Win32 | ||
{D31B07B5-C75F-4382-B07F-D95922764BD7}.Release|x64.ActiveCfg = Release|x64 | ||
{D31B07B5-C75F-4382-B07F-D95922764BD7}.Release|x64.Build.0 = Release|x64 | ||
EndGlobalSection | ||
GlobalSection(SolutionProperties) = preSolution | ||
HideSolutionNode = FALSE | ||
EndGlobalSection | ||
EndGlobal |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
The MIT License (MIT) | ||
|
||
Copyright (c) 2015 DarthTon | ||
|
||
Permission is hereby granted, free of charge, to any person obtaining a copy of | ||
this software and associated documentation files (the "Software"), to deal in | ||
the Software without restriction, including without limitation the rights to | ||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of | ||
the Software, and to permit persons to whom the Software is furnished to do so, | ||
subject to the following conditions: | ||
|
||
The above copyright notice and this permission notice shall be included in all | ||
copies or substantial portions of the Software. | ||
|
||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS | ||
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR | ||
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER | ||
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | ||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,91 @@ | ||
# Blackbone | ||
|
||
### Windows memory hacking library | ||
|
||
## Features | ||
|
||
- **x86 and x64 support** | ||
|
||
**Process interaction** | ||
- Manage PEB32/PEB64 | ||
- Manage process through WOW64 barrier | ||
|
||
**Process Memory** | ||
- Allocate and free virtual memory | ||
- Change memory protection | ||
- Read/Write virtual memory | ||
|
||
**Process modules** | ||
- Enumerate all (32/64 bit) modules loaded. Enumerate modules using Loader list/Section objects/PE headers methods. | ||
- Get exported function address | ||
- Get the main module | ||
- Unlink module from loader lists | ||
- Inject and eject modules (including pure IL images) | ||
- Inject 64bit modules into WOW64 processes | ||
- Manually map native PE images | ||
|
||
**Threads** | ||
- Enumerate threads | ||
- Create and terminate threads. Support for cross-session thread creation. | ||
- Get thread exit code | ||
- Get main thread | ||
- Manage TEB32/TEB64 | ||
- Join threads | ||
- Suspend and resume threads | ||
- Set/Remove hardware breakpoints | ||
|
||
**Pattern search** | ||
- Search for arbitrary pattern in local or remote process | ||
|
||
**Remote code execution** | ||
- Execute functions in remote process | ||
- Assemble own code and execute it remotely | ||
- Support for cdecl/stdcall/thiscall/fastcall conventions | ||
- Support for arguments passed by value, pointer or reference, including structures | ||
- FPU types are supported | ||
- Execute code in new thread or any existing one | ||
|
||
**Remote hooking** | ||
- Hook functions in remote process using int3 or hardware breakpoints | ||
- Hook functions upon return | ||
|
||
**Manual map features** | ||
- x86 and x64 image support | ||
- Mapping into any arbitrary unprotected process | ||
- Section mapping with proper memory protection flags | ||
- Image relocations (only 2 types supported. I haven't seen a single PE image with some other relocation types) | ||
- Imports and Delayed imports are resolved | ||
- Bound import is resolved as a side effect, I think | ||
- Module exports | ||
- Loading of forwarded export images | ||
- Api schema name redirection | ||
- SxS redirection and isolation | ||
- Activation context support | ||
- Dll path resolving similar to native load order | ||
- TLS callbacks. Only for one thread and only with PROCESS_ATTACH/PROCESS_DETACH reasons. | ||
- Static TLS | ||
- Exception handling support (SEH and C++) | ||
- Adding module to some native loader structures(for basic module api support: GetModuleHandle, GetProcAdress, etc.) | ||
- Security cookie initialization | ||
- C++/CLI images are supported | ||
- Image unloading | ||
- Increase reference counter for import libraries in case of manual import mapping | ||
- Cyclic dependencies are handled properly | ||
|
||
**Driver features** | ||
- Allocate/free/protect user memory | ||
- Read/write user and kernel memory | ||
- Disable permanent DEP for WOW64 processes | ||
- Change process protection flag | ||
- Change handle access rights | ||
- Remap process memory | ||
- Hiding allocated user-mode memory | ||
- User-mode dll injection and manual mapping | ||
- Manual mapping of drivers | ||
|
||
## License ## | ||
Blackbone is licensed under the MIT License. Dependencies are under their respective licenses. | ||
|
||
[![Build status](https://ci.appveyor.com/api/projects/status/h3tr97727ngr7jko?svg=true)](https://ci.appveyor.com/project/DarthTon/blackbone) | ||
|
||
[![Build status](https://ci.appveyor.com/api/projects/status/5lu9aw84t00ibkdo?svg=true)](https://ci.appveyor.com/project/DarthTon/blackbone-q21rd) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.