profps โพสต์ 2015-11-17 00:43:09

[Source Code] C# injector dll from Resources

แก้ไขครั้งสุดท้ายโดย profps เมื่อ 2015-11-17 00:42

Been working on this for a while now. It's a .NET library with various injection methods which make it very straightforward to make your own injectors/loaders. It even includes a public Manual Map injection method.

Although the source is in C#, the compiled library is usable in both VB.NET and C#, depending on your language preferences. I have included both the raw binary as well as the project folder in the attachments to this post.

The source is fairly documented, but I get lazy so there may be sections that you'll need to work out for yourself when looking into the source. The project targets .NET 2.0, so there should be no compatibility issues with projects you want to make.

To use the library, simply create a new .NET project and add the library as a project reference. (Project >> Add Reference >> Browse >> Locate DLL)

I've implemented this library using a factory pattern, so using the various different injection methods are very straightforward. All the various types of injection inherit from the base "InjectionMethod" class, which implements two different methods for injecting.

Code:
Inject(...)         // inject a single moduleor
InjectAll(...)      // inject a range of modules


Both of these methods have various overloads but the key point is that each method can either inject from a PortableExecutable object, or from a file location. A PortableExecutable object can be created in-memory, or from a file location. This means that when using ManualMap injection, it's possible to inject a DLL without it ever touching the harddisk during the injection process. Standard/ThreadHijack methods both call LoadLibrary, so even if you pass a PortableExecutable object to these injection methods, the module will be written to disk in a random location.

The two main namespaces you'll likely refer to are going to be
Code:
using InjectionLibrary;
using JLibrary.PortableExecutable;


Example 1: Using the creation factory to make an injection method

Code:
InjectionMethod injector = InjectionMethod.Create(InjectionMethodType.ManualMap);


Example 2: Super-stealthy injection from resources.

Code:
var injector = InjectionMethod.Create(InjectionMethodType.ManualMap);
var processId = Process.GetProcessesByName("engine").Id;
var hModule = IntPtr.Zero;
using (var img = new PortableExecutable(Properties.Resources.TestDll))
    hModule = injector.Inject(img, processId);
if (hModule != IntPtr.Zero)
{   
    // injection was successful
}
else
{
    // injection failed
    if (injector.GetLastError() != null)
      MessageBox.Show(injector.GetLastError().Message);
}

ดาวน์โหลดdll library

**** Hidden Message *****

jewkungz โพสต์ 2015-11-22 13:03:16

ขอไปทดสอบนะ

bearnannan โพสต์ 2015-12-28 13:51:22

thk na kup thk na kup thk na kup

Camfrog โพสต์ 2016-5-3 04:06:23

ส่อง ขอบคุณครับผมม

theeraphong0 โพสต์ 2016-7-11 07:42:41

ขอบคุณครับ

theven2544 โพสต์ 2016-11-29 18:17:41

ขอทดสอบหน่อยครับ

lionzazak โพสต์ 2016-12-3 19:09:27

แจ่มมาากกกก

niran โพสต์ 2017-1-2 15:34:26


ขอบคุณครับ

202620950z โพสต์ 2017-3-12 13:51:46

ขอบคุณครับ

Seal โพสต์ 2018-3-11 14:23:26

ขอบคุณครับเจ้านายยยย
หน้า: [1] 2
ดูในรูปแบบกติ: [Source Code] C# injector dll from Resources