OP 24 May, 2022 - 06:28 PM
(This post was last modified: 24 May, 2022 - 06:38 PM by DestroyerDarkNess. Edited 5 times in total.)
In my head the idea of injecting a DLL made in .NET (C# / VB) into a Process as you would do with a Native DLL (C++) has always been around.
In fact I made a Universal Loader ASI - UdrakoLoader , But not completely satisfied, that's why I created this tool.
What is Unmanaged.NET?
This Tool is the Final Result of my Research, Basically I take a DLL made in NET, I Export a Specific Function (This function will be the Equivalent to C++'s DLLMain(), the EntryPoint of the DLL) and then I pack it with a Stub made in C , I compile the Stub Generating the New DLL already Exported.
After these Steps, You can Inject your DLL with any Injector. [img]data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7[/img]
How to use ?
First we need our DLL made in .NET, then I will put the code of the DLL that we will use:
We already have our DLL, now we will follow these steps:
Download :
Injecting DLL (Final Test)
In fact I made a Universal Loader ASI - UdrakoLoader , But not completely satisfied, that's why I created this tool.
What is Unmanaged.NET?
This Tool is the Final Result of my Research, Basically I take a DLL made in NET, I Export a Specific Function (This function will be the Equivalent to C++'s DLLMain(), the EntryPoint of the DLL) and then I pack it with a Stub made in C , I compile the Stub Generating the New DLL already Exported.
After these Steps, You can Inject your DLL with any Injector. [img]data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7[/img]
How to use ?
First we need our DLL made in .NET, then I will put the code of the DLL that we will use:
Code:
using System;
using System.Windows.Forms;
namespace TestLibrary
{
public class Test
{
public static void DllMain()
{
MessageBox.Show("Hello World!");
}
}
}
Code:
Imports System
Imports System.Windows.Forms
Namespace TestLibrary
Public Class Test
Public Shared Sub DllMain()
MessageBox.Show("Hello World!")
End Sub
End Class
End Namespace
We already have our DLL, now we will follow these steps:
- We will open the Tool and Select the DLL (The Methods will be Automatically Loaded)
- We select the Method that will work as the EntryPoint of our DLL.
- We select the Target Architecture to compile for. Usually it is I386
- Press the "Convet To Unmanaged" Button.
- If everything finished Correctly, in the same path of your DLL, there will be another DLL that will have the name of "xxxExported.dll" , That is your Final DLL, Inject it in any Process!
Quote:Notes :
- Your EntryPoint Method of your .NET DLL must be Public and Accessible to everyone.
Quote:C# : public static void DllMain()
Quote:VB : Public Shared Sub DllMain()
- The Tool is in its first stable version, there may be errors.
Download :
Injecting DLL (Final Test)
Thanks for reading, if you liked it, please comment on the post.
Spoiler: