PDA

Просмотр полной версии : Инжект dll при старте(допил отладчиком)


den-x
23.06.2013, 06:29
Поправьте, что не так.
Вообщем такая задача: Сделать чтобы процесс инжектил dll при запуске.
Моё решение:
Точку входа(call 0404D5C) заменил на jmp 040D294(адресс с мусором).
Добавил инструкции в 040D294

call 0404D5C;я же его выпилил из начала
mov 0044F556, "c:\my.dll"; что-то типо этого
push 0044F556;вот здесь мне надо запихнуть указатель на строку "c:\my.dll"
call LoadLibraryA
jmp 00401971; продолжаем со следующей инструкции после точки входа

В асм не силён, подскажите как сделать код.
UPD: Ручным изменением памяти и push'a адреса всё получилось. Осталось только узнать какой инструкцией запихнуть строку в память

iamzero
23.06.2013, 09:21
вообще не догоняю что ты делаешь...
зачем в инжекторе адреса?
ты еще ничего не внедрил в процесс что бы использовать их...

Alex_Pr0
23.06.2013, 09:35
Поправьте, что не так.
Вообщем такая задача: Сделать чтобы процесс инжектил dll при запуске.
Моё решение:
Точку входа(call 0404D5C) заменил на jmp 040D294(адресс с мусором).
Добавил инструкции в 040D294

call 0404D5C;я же его выпилил из начала
mov 0044F556, "c:\my.dll"; что-то типо этого
push 0044F556;вот здесь мне надо запихнуть указатель на строку "c:\my.dll"
call LoadLibraryA
jmp 00401971; продолжаем со следующей инструкции после точки входа

В асм не силён, подскажите как сделать код.
UPD: Ручным изменением памяти и push'a адреса всё получилось. Осталось только узнать какой инструкцией запихнуть строку в память

Расспиши по подробней процесс самого Injecta.Ведь через реестр,уже палево,через процесс тоже.Не советаю писать инжектор без обхода.

den-x
23.06.2013, 10:57
Это не инжектор. Я в процессе встроенный инжектор делаю.
Со всем разобрался, только не могу в память программно строку записать.
На C++ так:

char sDll[] = "c:\my.dll";

Из за меленького опыта не могу переделать на асм.

Добавлено через 3 минуты
вообще не догоняю что ты делаешь...
зачем в инжекторе адреса?
ты еще ничего не внедрил в процесс что бы использовать их...
Я свой код добавлю.
--
Смысл идеи такой: жмёшь F5(дебаг) в VC++, запускается d3d Test(который сам инжектит dll, т.к VC не инжектит dll, а только запускает процесс) и я дебагаю свою dll с удобными бряками.

Тигрь
23.06.2013, 20:47
[Ссылки могут видеть только зарегистрированные и активированные пользователи]

den-x
24.06.2013, 05:16
При таких настройках запускается процесс, но не инжектится:
[Ссылки могут видеть только зарегистрированные и активированные пользователи]
При таких нужно запущенное приложение:
[Ссылки могут видеть только зарегистрированные и активированные пользователи]
[Ссылки могут видеть только зарегистрированные и активированные пользователи]
Я и решил допилить процесс Оллей :D
[Ссылки могут видеть только зарегистрированные и активированные пользователи]

[Ссылки могут видеть только зарегистрированные и активированные пользователи]

[Ссылки могут видеть только зарегистрированные и активированные пользователи]

Добавлено через 27 минут
Мне кажется, что решение намного проще, но я решаю как умею D:

Добавлено через 48 минут
Запихнул строку в секцию кода и сохранил в файл :/