Сейчас на форуме: hgdagon, asfa, bartolomeo (+6 невидимых)

 eXeL@B —› Программирование —› Найти точку входа в .ax DS фильтр из EXE файла, который его использует
Посл.ответ Сообщение

Ранг: 3.2 (гость)
Активность: 0=0
Статус: Участник

Создано: 21 октября 2006 12:50
· Личное сообщение · #1

Емеется 2 файла, один экзешник, другой .ax - Direct Show фильтр, оба защищены AsProtect-ом версии 2.2 или выше, нужно найти при помощи Ольки точку перехода из экзешника в OEP .ax фильтра дабы провести трассировку, пока только смог по установленному аспротектом INT 3 выпасть сразу в код этого файла, соответственно знаю в какой он сегмент памяти себя постоянно вгружает, но этот инт находится слишком далеко от интересующих меня элементов(после их), вручную трассировать до этого перехода просто палец устает и глаза я конешно понимаю что это смешно, но хочется какнибудь упростить. Не судите строго, я Ольку токо за сегодняшний день освоил.



Ранг: 24.2 (новичок)
Активность: 0.010
Статус: Участник

Создано: 21 октября 2006 17:48
· Личное сообщение · #2

а распаковать??? ты же все равно там что-то править собрался (или нет??) А без распаковки ты там ничего не исправишь....



Ранг: 3.2 (гость)
Активность: 0=0
Статус: Участник

Создано: 21 октября 2006 21:46 · Поправил: Kamo
· Личное сообщение · #3

Ну я инлайн патч хочу сделать или попробовать отследить функцию валидации ключа и получить валидный ключ для активации, там как-то очень забавно аспротект защитил - в экзешнике защищена только самая начальная часть кода, она аж запускается в отдельном выделенном сегменте памяти, в нем же осуществляется вгрузка .ax потом поток кода уходит обратно в секцию кода и там уже шуршит, я потм посмотрел сам, такое ощущение что львиная доля секции кода вообще никак аспротектом не застронута, тоесть он вначале распаковал код и таблицу импорта, я ее кстати нашел в начале секции .data после распаковки, она там плавно переходит в ресурсы почемуто, вот так получается секция кода практически не защищена токо видно повсеместно аспротектовские int 3(гы гы свободное место под инлайн патч), вообще я по результатам трассировки надыбал там оч много точек кода где идет проверка лицензионного ключа и прога сама даже выдала мне часть этого ключа(проверка ключа просто проводится в самой .ax) вот, анализирую алгоритм дабы весь ключ получить для этого нужно выскочить чуток ранее чем да вышеописанного инта, там какраз все начинается с чтения записанного ключа в реестре, насколько я увидел по коду, вот в Olly можно поставить бряк на вызов апишной функции RegOpenKeyExA до того как код загружен в сегмент данных, в WinICE было попроще, там просто ставиш бряк на вызов апи и она выпадает по любому обращению к ней, неважно откуда, а тут, наверное надо просто найти в памяти эту функцию и поставить бряк на ее начало, надо попробовать, но только системка ее вызывает переодически, надо момент подловить



Ранг: 3.2 (гость)
Активность: 0=0
Статус: Участник

Создано: 22 октября 2006 07:20
· Личное сообщение · #4

Еще возникла одна трабла, когда стою на OEP, ставлю брейкпоинты на RegQueryKeyExA и на RegQueryKeyA, так как RegMon-ом посмотрел что прога читает именно ими активационный ключик из реестра, если после этого нажать F9 прога постоянно вылетает на какой-то непонятный код в непонятном сегменте после чего один шаг трасировки приводит к сообщению - что-то типа "Dont know how to step because memory at address XXXXXXXXX is not readable". Возможно это из-за какойто системной функции, которая вызывает этот RegQueryValue с переодичностью, как можно эту бряку отфильтровать так в Оле, чтобы вылетала только из нужного модуля? Или может это еще одна уловка ASProtect`а?



Ранг: 3.2 (гость)
Активность: 0=0
Статус: Участник

Создано: 22 октября 2006 10:09
· Личное сообщение · #5

Попробовал ставить аппаратные бряки, работают без экзепшенов, прога не рухается, но по брякам выпадают не все вызовы нужной функции, какой-то рандом получается в выпадении, как можно Olly заставить вылетать на всех бряках по вызову апишной функции, чтобы он ничего не пропустил, ато получается какраз нужную мне он и пропускает, по регмону там RegQueryValueExA или RegQueryValueA а у меня по хардварным брякам они не выпадают, выпадают некоторые из самой проги и некоторые системные вызовы и все, потом прога запускается и вообще бряки не выпадают, что-то я не втыкаю как эти бряки в Olly работают через раз



Ранг: 310.8 (мудрец), 29thx
Активность: 0.430
Статус: Участник

Создано: 31 октября 2006 08:15
· Личное сообщение · #6

Kamo пишет:
как RegMon-ом посмотрел что прога читает именно ими активационный ключик из реестра,

RegMon показывает и прогу, которая читает. Для .AX это может оказаться системный сервис и поэтому ты не можешь его поймать, протрассировать.


 eXeL@B —› Программирование —› Найти точку входа в .ax DS фильтр из EXE файла, который его использует
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати