Сейчас на форуме: Magister Yoda, site-pro, Rio (+6 невидимых) |
eXeL@B —› Крэки, обсуждения —› Определить функцию из KERNEL32.DLL по ассемблерному коду |
Посл.ответ | Сообщение |
|
Создано: 15 мая 2012 17:56 · Личное сообщение · #1 Вариант №1 Code:
Вариант №2 Code:
Вариант №3 Code:
По адресу 7C910060 находится значение FFFFFFFF Добавляем F,получается 0000000E |
|
Создано: 15 мая 2012 17:58 · Личное сообщение · #2 смотри что там за функция по адресу 7C90E8CB Поищи в kernel32 этот адрес. Как найдёшь, смотри примерно по коду что там и как. Как я понимаю разбираешь таблицу импорта у Star Force? | Сообщение посчитали полезным: Svinovod |
|
Создано: 15 мая 2012 18:22 · Личное сообщение · #3 Dart Sergius пишет: смотри что там за функция по адресу 7C90E8CB Это функция из модуля ntdll.dll Code:
А по адресу 7C90E920 тоже этот модуль: Code:
Может это мусор какой-то,причем тут вообще kernel32.dll? |
|
Создано: 15 мая 2012 18:41 · Личное сообщение · #4 Dart Sergius пишет: Как я понимаю разбираешь таблицу импорта у Star Force? Да,здесь 3 разных варианта одной функции для версий 4.70.9.9 Pro , 4.50.6.16 Basic и 4.70.11.0 Pro соответственно. Большую часть импорта можно восстановить по адресу PUSH перед RET ,а тут какая-то фигня. Непонятно зачем он в стек засовывает адрес из другого dll |
|
Создано: 15 мая 2012 19:20 · Поправил: Dart Sergius · Личное сообщение · #5 хм, ну посмотри по параметрам вызова. Code:
это примерно тоже самое что Code:
по этой маске ищешь функцию, похожую на кож выше в модуле kermel32. ps ЕСТЬ КНОПКА ПРАВКА!! не создаём несколько сообщений подряд. |
|
Создано: 15 мая 2012 19:24 · Поправил: Svinovod · Личное сообщение · #6 |
|
Создано: 15 мая 2012 20:31 · Поправил: Dart Sergius · Личное сообщение · #7 |
|
Создано: 15 мая 2012 20:55 · Личное сообщение · #8 |
|
Создано: 15 мая 2012 20:58 · Поправил: Svinovod · Личное сообщение · #9 Ну как прямые,по rva адресу из ImpRec JMP на начало функции. Может фишка в том,что версия Windows другая? Или на WindowsXP и Vista должны быть одинаковые функции kernel32? Причем это не глюк,и не ошибка нахождения OEP - именно встречаются нескольких таких функций на разной версии StarForce ,но видно что это одинаковые функции и их невозможно определить по методике,используя поиск в kernel32.dll |
|
Создано: 15 мая 2012 21:16 · Личное сообщение · #10 |
|
Создано: 15 мая 2012 22:10 · Личное сообщение · #11 Бряк не получится поставить - это динамическая память,адреса генерирует ВМ случайным образом. Я ставлю бряк на 7C910060 Memory Breakpoint ,происходит останов в модуле protect.dll ,я открыл ImpRec и посмотрел что происходит с функциями: как раз в это время Старфорс делает таблицу импорта (гадит его),и rva этой функции ещё неизвестно (бряк поставить некуда). А когда он сгенерирован,если его поставить то толку ноль - остановки не будет. |
|
Создано: 15 мая 2012 22:17 · Поправил: Veliant · Личное сообщение · #12 7C90E8CB это скорей всего __SEH_prolog4_GS Ищите референсы в ntdll с таким же предшествующим кодом Code:
и скорей всего это не начало спертой api Надо смотреть не куда прыгает, а куда выходит потом, тк спирается только начало, если функция длинная. Или еще проще - ставите eip в нужное место и трейсите | Сообщение посчитали полезным: Svinovod |
|
Создано: 15 мая 2012 22:56 · Личное сообщение · #13 |
|
Создано: 15 мая 2012 23:06 · Личное сообщение · #14 |
|
Создано: 15 мая 2012 23:09 · Личное сообщение · #15 |
|
Создано: 15 мая 2012 23:13 · Личное сообщение · #16 Svinovod Происходит ----- Stuck to the plan, always think that we would stand up, never ran. | Сообщение посчитали полезным: plutos |
|
Создано: 15 мая 2012 23:14 · Поправил: Veliant · Личное сообщение · #17 |
|
Создано: 15 мая 2012 23:17 · Личное сообщение · #18 |
eXeL@B —› Крэки, обсуждения —› Определить функцию из KERNEL32.DLL по ассемблерному коду |