Перейти к содержанию

Рекомендуемые сообщения

Всем привет. 

Хотел написать простейший инжектор на C#(учу его пару дней уже)

Через создание удалённого потока с LoadLibraryA как функция потока.

 

 

Импортирую все необходимые WinAPI

И в случае если инжектор х86 то проблем нет.(Таргет и ДЛЛ х86)

Получаю адрес LoadLibraryA записываю путь DLL запускаю поток. 

 

Но если инжектор х64(Таргет и ДЛЛ всё так же х86)

Появляется проблема при получении LoadLibraryA я естественно получаю х64 функцию.

Я придумал временный костыль

 

System.Diagnostics.Process? LoadLibProc = System.Diagnostics.Process.Start("x32GetLoadLib.bin");
                    if (LoadLibProc != null) Loger.GetInstance().LogI("x32GetLoadLib loader...");
                    if (LoadLibProc.WaitForExit(10000))
                        LoadLibFucn = (IntPtr)LoadLibProc.ExitCode;

 

Ну и собственно x32GetLoadLib.bin

int main()
{
	return reinterpret_cast<int>(LoadLibraryA);
}

Можно ли решить данную проблему иначе? :)

 

P.S. получение адреса LoadLibraryA через PEB->Ldr целевого приложения не предлагать, такой вариант я знаю, но кода будет 100+ строк, а в данном костыле 5)

Изменено пользователем temtriss
Добавил)
Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.