Skip to content
This repository has been archived by the owner on Oct 2, 2024. It is now read-only.

It allows you to efficiently convert a DLL (.Net) so that it can be easily injected into a process, as you would a native DLL.

License

Notifications You must be signed in to change notification settings

DestroyerDarkNess/Unmanaged.Net

Repository files navigation

Unmanaged.Net

passing

Introduction

Unmanaged.Net allows you to efficiently convert a DLL (.Net) so it can be easily injected into a process, as you would with a native DLL.

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 UdrakoLoader, But I was not completely satisfied and that's why I created this tool.

Doate Image If you like this project, you can consider making a donation. Help us continue to improve the tool.

What is Unmanaged.NET?

This tool is the final result of my research. Basically, I took a DLL made in .NET, exported a specific function (Equivalent to C++'s DLLMain() / entrypoint) and then I packed it with a stub made in C, finally I compiled the stub generating the new DLL that was already exported.

After these steps, you can inject your DLL with any injector. 😎

How to use?

First we need our DLL made in .NET, the code of the DLL that we will use:

using System;
using System.Windows.Forms;

namespace TestLibrary
{
    public class Test
    {
        public static void DllMain()
        {

            MessageBox.Show("Hello World!");

        }

    }
}
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

Once you have the DLL, follow these steps:​

  • Open the tool and select the DLL (The methods will be automatically loaded)
  • Select the method that will work as the EntryPoint of our DLL.
  • 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!

Notes

  • This tool is in its first stable version, there may be errors.
  • Your entrypoint method of your .NET DLL must be public and accessible to everyone.

Note1

Injecting DLL (Final Test)

Contributors

  • Destroyer : Creator / Discord : Destroyer#8328
  • BloodSharp : C/C++ Helper / Discord : BloodSharp#7180
  • XPN : https://github.com/xpn

Download

Download Pre-Releases made for games: UnmanagedDotNet

About

It allows you to efficiently convert a DLL (.Net) so that it can be easily injected into a process, as you would a native DLL.

Resources

License

Stars

Watchers

Forks

Packages

No packages published