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

Custom DLL Injector

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

За 3 дня накидал простенький DLL инжектор, который внедряет DLL посредством manual mapping'а.

WARNING / АХТУНГ:

DLL в процессе не регистрируется и поэтому в списке модулей процесса она не отображается, следовательно - такие функции как GetModuleHandle, EnumerateProcessModules и Module32Next не смогут найти внедрённую DLL.

 

x86

post-8127-0-96400900-1412829818_thumb.pn

Download - memInjector.zip

VirusTotal - https://www.virustotal.com/ru/file/6ceb0af59b29ddcc737937ef7f25e3062b4daae50105364bba3a70725e3050b9/analysis/1412830192/

 

x64

post-8127-0-35188200-1412829819_thumb.pn

Download - memInjector_64.zip

VirusTotal - https://www.virustotal.com/ru/file/03bbd1e77a90f7670baa0d594689820af1b5916b919b6074aa9f59ae2bb9676b/analysis/1412830206/

 

x64 инжектор может внедрять DLL (x86 и x64) в x86 и x64 процессы соотвественно.

x86 инжектор может внедрять только x86 DLL в x86 процессы.

 

Из того что есть на данный момент:

1. Поддержка x86 и x64

2. Base relocs

3. Import Table Fix

 

Из того, чего нет на данный момент, но появится в будущем:

1. TLS callbacks

2. Export table fix

3. Resources

4. .NET файлы

 

Авторство: Coder (я)

 

Баги:

Те, что сообщите вы :)

 

P.S. очень прикольно то что в x86 версии файла антивирус "Qihoo-360" видит "Malware.QVM10.Gen", а x64 файл он считает чистым.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ошибка! и тот и другой. аваст даже не дает загружать страницу.

Или у меня с компом что то не ТО, вчера загружал таблицу сегодня нет.

 

ПРОВЕРЯЮ КОМП...........................................


Нет. Не получается антивирус блокирует. сам сайт.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Так выключи антивирь. Знаешь же, что наши участники не станут подсаживать вирусы пользователям форума.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я вижу народ прямо оставляет комменты как не знаю кто))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Протестировал, все прекрасно работает. Спасибо большое!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не по тему:

Coder сможешь точно таким же образам подгрузить ехе файл в другой процесс, скажем, СЕ грузился в чужой процесс да бы скрыт от некоторых защищённых игр? или это не возможно? хотя... все возможно... (был бы крутой вещщ))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не по тему:

Coder сможешь точно таким же образам подгрузить ехе файл в другой процесс, скажем, СЕ грузился в чужой процесс да бы скрыт от некоторых защищённых игр? или это не возможно? хотя... все возможно... (был бы крутой вещщ))

EXE ничем не отличается от DLL, и то и то это PE файлы.

Единственное отличие EXE от DLL это то что у EXE обязательно имеется точка входа. Думаю что такое возможно разумеется, но придется много чего для это реализовать. Проще всего CE скомпилить в DLL и не париться, если ты уж так хочешь это сделать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не по тему:

Coder сможешь точно таким же образам подгрузить ехе файл в другой процесс, скажем, СЕ грузился в чужой процесс да бы скрыт от некоторых защищённых игр? или это не возможно? хотя... все возможно... (был бы крутой вещщ))

СЕ грузился в чужой процесс???????

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ребята, стоп! В адресное простоанство можно инжектить код, другой исполняемый файл (библиотеку), а так же создавать потоки, клонировать процесс и делать все это из режима ядра. Ехе выполнить внутри другого ехе - можно, но довольно бессмысленно. Сначала стоит четко определиться с задачей, а уже потом проектировать решение.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Работоспособность ссылок снова восстановлена.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Привет. Пофикстье ссылки пожалуйста, хотелось бы опробовать сие творение ))

ЗЫ Для использования manual map нужно вкл тестовый режим винды ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Привет. Пофикстье ссылки пожалуйста, хотелось бы опробовать сие творение ))

ЗЫ Для использования manual map нужно вкл тестовый режим винды ?

Поправил ссылки. Нет, тестовый режим не нужен.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А почему бы при выходе не сделать сохранение параметров? К примеру, путь библиотеки и имя процесса? Ведь это два textBox'a. Просто сохрани их содержимое... Куда-нибудь и при лаунче проверяй есть ли в буфере (или текстовике или еще где) хоть что-то, если есть - подгружай в textBox'ы. Помоему норм идея.

Изменено пользователем RockHamer

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Поправил ссылки. Нет, тестовый режим не нужен.

Спасибо :) Но не работает инжект...пишет только Process found and ready to injection! PID: XXXX, дальше ничего. Пробовал на x64 и x86 системах, в исходниках внедряемой .dll нет ни GetModuleHandle, ни двух других функций. 

Что я делаю не так?)) 

PS Для сравнения, ProcessHacker без проблем внедряет эти же .dll... 

Изменено пользователем Shelby

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо :) Но не работает инжект...пишет только Process found and ready to injection! PID: XXXX, дальше ничего. Пробовал на x64 и x86 системах, в исходниках внедряемой .dll нет ни GetModuleHandle, ни двух других функций. 

Что я делаю не так?)) 

PS Для сравнения, ProcessHacker без проблем внедряет эти же .dll... 

А ты собственно инжектить пытаешься наверное в процесс, который был запущен от имени админа, но при этом инжектор ты запустил без админских прав.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@Coder, не от админа процесс. Много комбинаций пробовал. ProcessHacker не видит длл.

Вообще я скачал Custom injector как замену Xenos'у, но только после понял, что тут нет Kernel Manual Map, лишь юзер мод :) Тогда немного оффтопа : кто знает где можно взять kernel инжекторы? Тот же Xenos есть на github'e, но как настроить под него wdk 8.0, чтобы хоть чуть его модифицировать(вернее кернел драйвер для него)...для меня(начинающего) задачка нелегкая. Нашел исходники еще одного, там просто драйвер.c и инжектор.с, опять же как драйвер скомпилить(есть вообще такое понятие - компиляция драйвера? :) ) я не имею представления. Если можете скинуть мануал какой-нибудь, буду признателен. Еще раз простите за оффтоп )) .

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@Coder, не от админа процесс. Много комбинаций пробовал. ProcessHacker не видит длл.

Ну так он и не увидит, потому что DLL нет в PEB -> PEB_LDR_DATA и хидеры подтерты.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

TS, есть ли какая-нибудь годная русскоязычная инфа по этому мануал мапингу?
Дюже хочется поднабраться.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

TS, есть ли какая-нибудь годная русскоязычная инфа по этому мануал мапингу?

Дюже хочется поднабраться.

На wasm.ru можешь почитать про формат PE файлов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На wasm.ru можешь почитать про формат PE файлов.

 

Basically manual mapping mirrors the functionality of LoadLibraryA in that it prepares a dll so that it can be successfully loaded into the process and have the right relative offsets etc, thus eliminating the need to call LoadLibraryA which is VERY easy for the remote process to hook and detect seeing as it's called within the remote process.

Я не силён в английском. Как я понял, этот мэппинг заменяет loadlibrarya и нужен из-за того, что второй легко определяется (чем-то).

Coder, можешь кинуть ссылку где можно почитать суть этого метода, если он имеет схожий функционал со стандартным loadlibrarya, то в чем его "фишка"?

 

Ну и на васме я что-то не смог соориентироваться :mad:

UPD. Всё нашёл. Если можешь от себя что-то добавить - буду рад)

Изменено пользователем Afro

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я не силён в английском. Как я понял, этот мэппинг заменяет loadlibrarya и нужен из-за того, что второй легко определяется (чем-то).

Coder, можешь кинуть ссылку где можно почитать суть этого метода, если он имеет схожий функционал со стандартным loadlibrarya, то в чем его "фишка"?

 

Ну и на васме я что-то не смог соориентироваться :mad:

Без английского тебе туго будет)

 

http://www.wasm.ru/wault/

http://www.wasm.ru/wault/article/show/1002001

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

на  каждой DLL Injector - е  антивирус найдет вирус.

Изменено пользователем Matroix123

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

на  каждой DLL Injector - е  антивирус найдет вирус.

Прости, что?)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

хочу сказать что антивирусы тупые . на каждом инжекторе обнаруживает вируси ))

особенно антивирус  AVG

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Предпросмотр

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

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

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