
DNCI - डॉट नेट कोड इंजेक्टर
DNCI विंडोज़ में अप्रबंधित प्रक्रियाओं में .Net कोड (.exe या .dll) को दूरस्थ रूप से इंजेक्ट करने की अनुमति देता है।
प्रोजेक्ट इस प्रकार संरचित है:
क्लासिक .Net कंसोल एप्लीकेशन को Notepad++ में इंजेक्ट करें
यह उदाहरण InjectDemo.Console.ClassicNet .exe फ़ाइल का उपयोग करता है। DNCI.Injector.Runner.exe --assemblyFile "<PATH_TO_FILE>\InjectDemo.Console.ClassicNet.exe" --className InjectDemo.Console.ClassicNet.Program --methodName EntryPoint --targetMode=processName --processName notepad++ --argument "OK BOY"
क्लासिक .Net कंसोल एप्लीकेशन को आईडी 66 वाली प्रक्रिया में इंजेक्ट करें
यह उदाहरण InjectDemo.Console.ClassicNet .exe फ़ाइल का उपयोग करता है। DNCI.Injector.Runner.exe --assemblyFile "<PATH_TO_FILE>\InjectDemo.Console.ClassicNet.exe" --className InjectDemo.Console.ClassicNet.Program --methodName EntryPoint --targetMode=PID --pid 66 --argument "OK BOY"
क्लासिक .Net कंसोल एप्लीकेशन को किसी भी चल रही प्रक्रिया में इंजेक्ट करने का प्रयास करें
यह उदाहरण InjectDemo.Console.ClassicNet .exe फ़ाइल का उपयोग करता है। DNCI.Injector.Runner.exe --assemblyFile "<PATH_TO_FILE>\InjectDemo.Console.ClassicNet.exe" --className InjectDemo.Console.ClassicNet.Program --methodName EntryPoint --targetMode=BruteForce --argument "OK BOY"
इंजेक्शन लाइब्रेरी को किसी भी .Net प्रोग्राम द्वारा उपयोग करने के लिए डिज़ाइन किया गया था। वास्तव में, DNCI कमांड लाइन उपयोगिता स्वयं DNCI लाइब्रेरी का उपयोग करती है।
क्लासिक .Net कंसोल एप्लीकेशन को दूरस्थ प्रक्रिया में इंजेक्ट करें
Injector.Library.InjectorConfiguration config = Injector.Library.InjectorConfigurationBuilder
.Instance()
.InjectThisClrBinary(@"<PATH_TO_BINARY>\InjectDemo.Console.ClassicNet.exe")
.ClrClassName("InjectDemo.Console.ClassicNet.Program")
.ClrMethodName("EntryPoint")
.WithArguments("OK - It Works Baby")
.InjectOnProcess("cmd") // Try to Inject on cmd process
.InjectOnProcess("chrome") // Try to Inject on chrome process
.InjectOnProcess("cmd.exe") // Try to Inject on cmd.exe process
.InjectOnProcess("calc") // Try to Inject on calc process
.InjectOnProcess("notepad++") // Try to Inject on notepad++ process
.Build();
किसी भी उपलब्ध प्रक्रिया में क्लासिक .Net DLL एप्लीकेशन को ब्रूट फोर्स करके इंजेक्ट करें
Injector.Library.InjectorConfiguration config = Injector.Library.InjectorConfigurationBuilder
.Instance()
.InjectThisClrBinary(@"<PATH_TO_BINARY>\InjectDemo.Dll.ClassicNet.dll")
.ClrClassName("InjectDemo.Dll.ClassicNet.Class1")
.ClrMethodName("EntryPoint")
.WithArguments("OK - It Works Baby")
.InjectWithBruteForce()
.Build();
// Create Injector Instance
DNCI.Injector.Library.Injector injector = new Library.Injector(configBuilderconfig);
// Execute the Injection
List<InjectorResult> result = injector.Run();
// Print Injection Result on Console
foreach (InjectorResult res in result)
{
Console.WriteLine(res);
}