| eXeL@B —› Крэки, обсуждения —› Опкод EBFE в начало системной функции | 
| << . 1 . 2 . | 
| Посл.ответ | Сообщение | 
| 
 | 
Создано: 29 июля 2005 18:08  · Личное сообщение · #1 Господа,прошу помочь мне разобраться в следующей ситуации: необходимо разместить опкод EBFE в начало системной функции LoadLibraryA в чужом процессе,чтобы таким образом отследить обращение чужого процесса к данной функции и получить тем самым некоторую информацию (имя загружаемой библиотеки,обратный адрес функции).Собственно в чём проблема... 
 ...так вот функция VirtualProtectEx возвращает C0000018 (STATUS_CONFLICTING_ADDRESSES) и естесственно вся остальная констукция кода тоже рушится   .
Хотелось бы узнать,почему так происходит ? Т.к. такая же кодовая операция только с адресом,к примеру,точки входа проходит без проблем,т.е. на EP размещается необходимый опкод. Читал в статьях Ms-Rem'а про "сплайсинг" API-функций,в которых он говорит,что перехват API,находящихся в чужом процессе, - весьма неудобная штука.Следовательно любознательный вопрос - почему это так (неудобно) ? Далее он приводит просто монструозные коды внедрения собственных библиотек в чужой процесс путём создания удалённого процесса... Собственно у меня дилемма - как поступить,если мне всего лишь необходимо узнать имя загружаемой библиотеки и обратный адрес функции LoadLibraryA,загружающей эту библиотеку   .
Или как всё-таки заставить вышеприведённый код работать без ошибок ? Весьма надеюсь на любые предложения,советы,вопросы с вашей,господа,стороны... ----- the Power of Reversing team ![]()  | 
| 
 | 
Создано: 05 августа 2005 16:59  · Личное сообщение · #2  | 
| 
 | 
Создано: 05 августа 2005 18:24  · Личное сообщение · #3 Error_Log Под хорошей идеей имелось ввиду поставить в начало перехватываемой АПИ ССh (что Вы отвергли ввиду невозможности этого по непонятным причинам). Как выяснилось позже, надо перехватывать АПИ протектора, поэтому автор прав, что протектор может по своему истолковать int3. А чем собственно не нравится идея зациклить какую-нить функцию в kernel32? Вариант не очень красивый, согласен, но для достижения цели вполне подходящий... ![]()  | 
| 
 | 
Создано: 05 августа 2005 22:04  · Личное сообщение · #4 Господа,давайте всё же не отклонятся от актуальных вопросов,а то я уже начинаю впадать в транс от того,что функция GetModuleBaseName никак не хочет работать как надо   .
Может проблема в библиотеке PsAPI.dll, в которой эта функция объявлена ? Кстати,пробовал использовать функцию GetModuleFileName (из той же библиотеки) - тот же результат : Ошибка 6 - ERROR_INVALID_HANDLE Может кто-то встречался с подобным ? ----- the Power of Reversing team ![]()  | 
| << . 1 . 2 . | 
| eXeL@B —› Крэки, обсуждения —› Опкод EBFE в начало системной функции | 


 .
 .



 .
 Для печати