![]() |
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:
![]() |
|
Создано: 25 мая 2017 22:24 · Поправил: VOLKOFF · Личное сообщение · #6 На новых ОС этот код кернелбэйс должен вернуть вместо кернел32, кошернее так Code:
![]() |
|
Создано: 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 был бы благодарен ловите ![]() ----- Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли. ![]() |
|
Создано: 04 июня 2017 22:19 · Личное сообщение · #16 |
![]() |
eXeL@B —› Вопросы новичков —› Как работать с системными библиотеками? |