• XSS.stack #1 – первый литературный журнал от юзеров форума

DLL инжектор не правильно работает (C#)

uglydavidka

HDD-drive
Пользователь
Регистрация
17.11.2022
Сообщения
30
Реакции
0
Помогитек плз, при вызове функции нужно:
1 открытие ксго
2 ожидание запуска процесса игры
3 инжект DLL в игру (lla метод)
4 перенос dll файла в папку

Но у меня просто открывается игра и инжектится софт (в одну секунду)
Надежда только на вас
Сам код

C#:
public static bool Inject(string dllpath)
        {
            string processname = "csgo";
            string dllpatch = @"C:\test.dll";
            Directory.CreateDirectory(PreInjection(@"C:\Windows"));
            Directory.CreateDirectory(PreInjection(@"C:\Windows\PrintDialog"));
            Directory.CreateDirectory(PreInjection(@"C:\Windows\PrintDialog\Assets"));
            Process.Start("steam://rungameid/730");
            while (Process.GetProcessesByName(processname).Length < 1)
            {
                return false;
            }
            var handle = OpenProcess((int)(PROCESS_ACCESS_FLAGS.PROCESS_VM_READ | PROCESS_ACCESS_FLAGS.PROCESS_VM_WRITE | PROCESS_ACCESS_FLAGS.PROCESS_VM_OPERATION), false, Process.GetProcessesByName(processname)[0].Id);
            var buffer = VirtualAllocEx(handle, 0, dllpath.Length + 1, (int)MEMORY_ACCESS_FLAGS.MEM_COMMIT, (int)PAGE_ACCESS_FLAGS.PAGE_READWRITE);
            WriteProcessMemory(handle, buffer, Marshal.StringToHGlobalAnsi(dllpath), dllpath.Length + 1, 0);
            WaitForSingleObject(CreateRemoteThread(handle, IntPtr.Zero, 0, GetProcAddress(LoadLibraryA("kernel32.dll"), "LoadLibraryA"), buffer, 0, 0), -1);
            VirtualFreeEx(handle, buffer, 0, (int)MEMORY_ACCESS_FLAGS.MEM_RELEASE);
            Random r = new Random();
            File.Move(dllpath, PreInjection(@"C:\Windows\PrintDialog\Assets") + @"\asset" + r.Next(0, 255) + ".dll");
            return true;
        }
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Пожалуйста, обратите внимание, что пользователь заблокирован
буду раз если поможешь
Буду два:
C#:
while (Process.GetProcessesByName(processname).Length < 1)
{
    Thread.Sleep(100);
}

По сабжу: может стоит потратить время на изучение программирования, прежде чем начинать писать какие-то сложные вещи, типа инжектов и тд? Прежде чем начинать бегать, нужно научиться ходить.
 
Буду два:
C#:
while (Process.GetProcessesByName(processname).Length < 1)
{
    Thread.Sleep(100);
}

По сабжу: может стоит потратить время на изучение программирования, прежде чем начинать писать какие-то сложные вещи, типа инжектов и тд? Прежде чем начинать бегать, нужно научиться ходить.
Я всё время разрабатывал обычные классические приложения с неочень сложными функциями, сейчас решил углубиться, а книжки читать не хочу)
Но мне повезло что я не первый в мире этим начал заниматься и вокруг меня есть люди такие как ты)
 
Я всё время разрабатывал обычные классические приложения с неочень сложными функциями
Сделаем вид, что поверили:D
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх