Создано: 25 мая 2017 16:10 New! Цитата · Личное сообщение · #1
Добрый день. Подскажите пожалуйста как работать с библиотекой которая не была инициализирована в начале программы, ну например вызвать из kernel32.ReadFile и чтобы не вылетал Access Violation? Чтобы было ещё понятнее, есть левая программа, я запускаю её через ollydbg и копирую байт-код(ну или опкоды, как кому понятнее) который делает тупо invoke kernel32.ReadFile, но к сожалению выскакивает Access Violation и всё повисает Так вот как сделать динамическое обращение к библиотеке ?
Создано: 25 мая 2017 17:54 · Поправил: HandMill New! Цитата · Личное сообщение · #4
alex-rudenkiy пишет: LoadLibrary лежит в Kernel32, который как раз мне и нужно подключить Ваш этот kernel32 уже по умолчанию загружен в ваш процесс. Не верите? Проверьте и убедитесь что это так.
alex-rudenkiy пишет: грубо говоря как из shell-последовательности байт Взгляните на такую кастомную реализацию загрузчика библиотек: https://github.com/fancycode/MemoryModule
Но лучше понять как использовать то что порекомендовал r_e, так меньше проблем будет.
Создано: 26 мая 2017 00:43 · Поправил: alex-rudenkiy New! Цитата · Личное сообщение · #7
VOLKOFF, извините пожалуйста за мою глупость, но чем мне поможет хранящийся после выполнения этих команд адрес в EAX и указывающий на структуру IMAGE_DOS_HEADER, в вызове kernel32.LoadLibrary?
Создано: 26 мая 2017 02:30 New! Цитата · Личное сообщение · #8
Я лишь показал простое рабочее решение под XP...Win10 Принцип: PEB->LDR->InLoadOrderModuleList->NTDLLPtr, Kernel32Ptr->база Kernel32 А имея базовый адрес, не составит труда прочитать таблицу экспорта, и получить адреса функций.
Создано: 26 мая 2017 06:10 · Поправил: dosprog New! Цитата · Личное сообщение · #10
alex-rudenkiy пишет: извините пожалуйста за мою глупость
) та ничо, всё нормально
Ищи, короче, программу "Armadillo Environment Variables Injector" и присмотрись внимательней, что там она инжектирует в программы. Там тебе и ответ на интересующее
Создано: 26 мая 2017 10:43 · Поправил: microxa New! Цитата · Личное сообщение · #11
dosprog Разбирал тут инжектор dll (очень хорошей) в процесс.. (переделывал с асма, а то инжектило, через раз, то с какимито висяками (чегото там наворочено было) - пришлось упрощать до максимума..) >> очень простой лодер << Хотя у либы после запуска по EP проблем не было, ни с кернелом, ни с инициализацией..
Создано: 26 мая 2017 11:08 New! Цитата · Личное сообщение · #12
а если разобрать как работают GetModuleHandle, GetProcAddress то можно и без них обойтись а если ещё глубже капнуть то можно получить, путь к модулю,его размер, точку входа..........