Beiträge von Akino Kiritani

    Na wer ist den wohl das Problem?! BlackAce! Du kannst einfach nicht nachgeben und bist einfach nur ein **** meiner Meinung nach!!
    Mein Post wird eh gleich wieder gelöscht also von dem her ... ****


    Will hier noch jemand seinen Senf dazu abgeben ohne was zum Thema beizutragen? :huh:

    Was ist daran so shwer den Showroom aufzumachen


    Never tpuch a running System.


    Warum sollten wir etwas ändern, was so läuft wie es soll?


    Postfarming soll verhindert werden, das erreichen wir nunmal damit.
    Ob ich die Verbesserungstipps nun nach 3 Wochen erhalte oder nach zwei Stunden und dann rumweine, dass man das dann doch lieber so lässt,
    ist dann letztendlich auch egal.


    Vielleicht merkt man in den 3 Wochen ja, was alles kacke aussieht, sich abhängig von andern zu machen und sein Ego so zu pushen ist wirklich das dümmste, was man als (indirekte) Begründung nehmen kann.

    Der Mapping bereich sollte öffentlich sein! Der Scripting bereich ist doch auch offen oder nicht!?


    Mappen und Scripten sind 2 verschiedene paar Schuhe.


    Niemand muss dir wohl beibringen, wie man richtig mappt.
    Wie man richtig scriptet sollte einem schon gezeigt werden.

    Also in C# ist es schonmal eine scheiß Idee die Strings mit + zusammen zusetzen.
    Dafür gibt es schließlich den Stringbuilder ;)


    Aber es scheint ein Problem mit deiner .dll oder deinen Parametern zu sein.
    Vielleicht hast du auch dein gta im Laufwerk C ?


    Könnte Probleme geben bzw. Adminrechte erfordern.

    Ich hatte mal einen gefunden und auf meine Bedrüfnisse angepasst.
    Einfach eine neue Klasse erstellen den Code da rein und verwenden,
    wie du die Funktion kommst, solltest du wissen :D


    Injektor
    class Injektor
    {
    #region Injektor Code by The_Undead : Rhys M.
    [DllImport("kernel32")]
    public static extern IntPtr CreateRemoteThread(
    IntPtr hProcess,
    IntPtr lpThreadAttributes,
    uint dwStackSize,
    UIntPtr lpStartAddress, // raw Pointer into remote process
    IntPtr lpParameter,
    uint dwCreationFlags,
    out IntPtr lpThreadId
    );

    Injektor
    [DllImport("kernel32.dll")]
    public static extern IntPtr OpenProcess(
    UInt32 dwDesiredAccess,
    Int32 bInheritHandle,
    Int32 dwProcessId
    );

    Injektor
    [DllImport("kernel32.dll")]
    public static extern Int32 CloseHandle(
    IntPtr hObject
    );

    Injektor
    [DllImport("kernel32.dll", SetLastError = true, ExactSpelling = true)]
    static extern bool VirtualFreeEx(
    IntPtr hProcess,
    IntPtr lpAddress,
    UIntPtr dwSize,
    uint dwFreeType
    );

    Injektor
    [DllImport("kernel32.dll", CharSet = CharSet.Ansi, ExactSpelling = true)]
    public static extern UIntPtr GetProcAddress(
    IntPtr hModule,
    string procName
    );

    Injektor
    [DllImport("kernel32.dll", SetLastError = true, ExactSpelling = true)]
    static extern IntPtr VirtualAllocEx(
    IntPtr hProcess,
    IntPtr lpAddress,
    uint dwSize,
    uint flAllocationType,
    uint flProtect
    );

    Injektor
    [DllImport("kernel32.dll")]
    static extern bool WriteProcessMemory(
    IntPtr hProcess,
    IntPtr lpBaseAddress,
    string lpBuffer,
    UIntPtr nSize,
    out IntPtr lpNumberOfBytesWritten
    );

    Injektor
    [DllImport("kernel32.dll", CharSet = CharSet.Auto)]
    public static extern IntPtr GetModuleHandle(
    string lpModuleName
    );

    Injektor
    [DllImport("kernel32", SetLastError = true, ExactSpelling = true)]
    internal static extern Int32 WaitForSingleObject(
    IntPtr handle,
    Int32 milliseconds
    );
    public void InjectDLL(IntPtr hProcess, String strDLLName)
    {
    IntPtr bytesout;

    Injektor
    // Length of string containing the DLL file name +1 byte padding
    Int32 LenWrite = strDLLName.Length + 1;
    // Allocate memory within the virtual address space of the target process
    IntPtr AllocMem = (IntPtr)VirtualAllocEx(hProcess, (IntPtr)null, (uint)LenWrite, 0x1000, 0x40); //allocation pour WriteProcessMemory

    Injektor
    // Write DLL file name to allocated memory in target process
    WriteProcessMemory(hProcess, AllocMem, strDLLName, (UIntPtr)LenWrite, out bytesout);
    // Function pointer "Injector"
    UIntPtr Injector = (UIntPtr)GetProcAddress(GetModuleHandle("kernel32.dll"), "LoadLibraryA");

    Injektor
    if (Injector == null)
    {
    MessageBox.Show(" Injector Error! \n ");
    // return failed
    return;
    }

    Injektor
    // Create thread in target process, and store handle in hThread
    IntPtr hThread = (IntPtr)CreateRemoteThread(hProcess, (IntPtr)null, 0, Injector, AllocMem, 0, out bytesout);
    // Make sure thread handle is valid
    if (hThread == null)
    {
    //incorrect thread handle ... return failed
    MessageBox.Show(" hThread [ 1 ] Error! \n ");
    return;
    }
    // Time-out is 10 seconds...
    int Result = WaitForSingleObject(hThread, 10 * 1000);
    // Check whether thread timed out...
    if (Result == 0x00000080L || Result == 0x00000102L)
    {
    /* Thread timed out... */
    MessageBox.Show(" hThread [ 2 ] Error! \n ");
    // Make sure thread handle is valid before closing... prevents crashes.
    if (hThread != null)
    {
    //Close thread in target process
    CloseHandle(hThread);
    }
    return;
    }
    // Sleep thread for 1 second
    Thread.Sleep(1000);
    // Clear up allocated space ( Allocmem )
    VirtualFreeEx(hProcess, AllocMem, (UIntPtr)0, 0x8000);
    // Make sure thread handle is valid before closing... prevents crashes.
    if (hThread != null)
    {
    //Close thread in target process
    CloseHandle(hThread);
    }
    // return succeeded
    return;
    }
    #endregion
    public void StartInjekt(string Path, string Prozess, string Args, string dllToInjekt)
    {
    Process Proz = new Process();
    Proz.StartInfo.WorkingDirectory = Path;
    Proz.StartInfo.FileName = Prozess;
    Proz.StartInfo.Arguments = Args;
    Proz.Start();
    if (Proz.Id >= 0)
    {
    IntPtr hProcess = (IntPtr)OpenProcess(0x1F0FFF, 1, Proz.Id);
    InjectDLL(hProcess, Path + "\" + dllToInjekt);
    }
    Proz.Dispose();
    }
    }

    Ich meine das
    Process Proz = new Process();
    Proz.StartInfo.WorkingDirectory = "Dein Pfad";
    Proz.StartInfo.FileName = "Dein Auszuführender Prozess also die .exe";
    Proz.StartInfo.Arguments = "Deine Argumente";
    Proz.Start();


    Du hast hier dein Objekt und kannst dort alles mit machen, was dir das Objekt an Referenzen mitgibt.
    Das ist sinnvoller, als das was du da vorhast :thumbup: