eXeL@B —› Вопросы новичков —› Как работать с системными библиотеками? |
Посл.ответ | Сообщение |
|
Создано: 25 мая 2017 16:10 · Личное сообщение · #1 Добрый день. Подскажите пожалуйста как работать с библиотекой которая не была инициализирована в начале программы, ну например вызвать из kernel32.ReadFile и чтобы не вылетал Access Violation? Чтобы было ещё понятнее, есть левая программа, я запускаю её через ollydbg и копирую байт-код(ну или опкоды, как кому понятнее) который делает тупо invoke kernel32.ReadFile, но к сожалению выскакивает Access Violation и всё повисает Так вот как сделать динамическое обращение к библиотеке ? |
|
Создано: 25 мая 2017 16:16 · Личное сообщение · #2 |
|
Создано: 25 мая 2017 17:46 · Поправил: alex-rudenkiy · Личное сообщение · #3 |
|
Создано: 25 мая 2017 17:54 · Поправил: HandMill · Личное сообщение · #4 alex-rudenkiy пишет: LoadLibrary лежит в Kernel32, который как раз мне и нужно подключить Ваш этот kernel32 уже по умолчанию загружен в ваш процесс. Не верите? Проверьте и убедитесь что это так. alex-rudenkiy пишет: грубо говоря как из shell-последовательности байт Взгляните на такую кастомную реализацию загрузчика библиотек: https://github.com/fancycode/MemoryModule Но лучше понять как использовать то что порекомендовал r_e, так меньше проблем будет. ----- все багрепорты - в личные сообщения |
|
Создано: 25 мая 2017 21:45 · Поправил: dosprog · Личное сообщение · #5 HandMill пишет: Ваш этот kernel32 уже по умолчанию загружен в ваш процесс. Не верите? Проверьте и убедитесь что это так. Он хэндл kernel'а не знает как получить. И документированных и гарантированно рабочих способов для этого нет. Вот как это делается: Code:
| Сообщение посчитали полезным: soft |
|
Создано: 25 мая 2017 22:24 · Поправил: VOLKOFF · Личное сообщение · #6 На новых ОС этот код кернелбэйс должен вернуть вместо кернел32, кошернее так Code:
| Сообщение посчитали полезным: Veliant |
|
Создано: 26 мая 2017 00:43 · Поправил: alex-rudenkiy · Личное сообщение · #7 |
|
Создано: 26 мая 2017 02:30 · Личное сообщение · #8 |
|
Создано: 26 мая 2017 04:01 · Личное сообщение · #9 dosprog > И документированных и гарантированно рабочих способов для этого нет. Примитивный проход по связанному списку: Code:
Ну а в общем вопрос бессмысленный. Где описание ошибки ? ----- vx |
|
Создано: 26 мая 2017 06:10 · Поправил: dosprog · Личное сообщение · #10 |
|
Создано: 26 мая 2017 10:43 · Поправил: microxa · Личное сообщение · #11 dosprog Разбирал тут инжектор dll (очень хорошей) в процесс.. (переделывал с асма, а то инжектило, через раз, то с какимито висяками (чегото там наворочено было) - пришлось упрощать до максимума..) Хотя у либы после запуска по EP проблем не было, ни с кернелом, ни с инициализацией.. Ни с размещением маячков над головами.. |
|
Создано: 26 мая 2017 11:08 · Личное сообщение · #12 |
|
Создано: 26 мая 2017 15:57 · Личное сообщение · #13 |
|
Создано: 26 мая 2017 18:52 · Личное сообщение · #14 |
|
Создано: 31 мая 2017 12:49 · Личное сообщение · #15 soft пишет: за подобный рабочий пример (xp-win10) как у VOLKOFF, dosprog в плане GetProcAddress был бы благодарен ловите 7aba_31.05.2017_EXELAB.rU.tgz - test.zip ----- Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли. | Сообщение посчитали полезным: soft |
|
Создано: 04 июня 2017 22:19 · Личное сообщение · #16 |
eXeL@B —› Вопросы новичков —› Как работать с системными библиотеками? |