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

 eXeL@B —› Вопросы новичков —› Не могу найти точку входа OEP
. 1 . 2 . >>
Посл.ответ Сообщение

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

Создано: 18 марта 2015 15:52
· Личное сообщение · #1

Здравствуйте, не могу отучить программу от Hasp ключа. Делай вроде как учили PEid v0.95, говорит файл запакован UPolyX v0.5 *, отладкой Олли нашёл записи в стек регистров,причём не pushad, а 4 раза PUSH , затем начинает доставать из стека по одному значению и редактировать их (то складавая с целыми значениями,то делая логические сдвиги), затем записывает обратно в стек.Было найдено несколько условных JMP(JNE,JE), все адреса были проверены на точку входу, но увы не один дам не запустился.Что делаю не так, или вообще файл не запакован и я не туда копаю?

Добавлено спустя 14 минут
http://rusfolder.com/43240617 - Сама прога



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

Создано: 18 марта 2015 16:39
· Личное сообщение · #2

Копаешь ты совсем не туда - твоя прожка накрыта протом HASP HL. На тутсях есть гайд по распаковке https://tuts4you.com/download.php?view.2252



Ранг: 95.1 (постоянный), 247thx
Активность: 0.260.01
Статус: Участник

Создано: 19 марта 2015 16:51
· Личное сообщение · #3

MrProxe пишет:
все адреса были проверены на точку входу

hr esp-4
Можно безболезненно срезать все секции, кроме первых двух.
Shubka75 пишет:
Копаешь ты совсем не туда - твоя прожка накрыта протом HASP HL.

Зрение проверьте и этот тутор ему не поможет, коли ключа нет, так что глупый совет.

-----
TEST YOUR MIGHT




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

Создано: 19 марта 2015 22:57
· Личное сообщение · #4

Ключик есть

Добавлено спустя 2 минуты
Не понял, а с ключиком всё срежится, если делать по предложенной инструкции?

Добавлено спустя 21 минуту
Что с ключом,что без ход программы в Олли не меняется,так и должно быть?

Добавлено спустя 1 час 15 минут
да и При загрузке программы в ollydbg, оля ругается module has entry point outside of code



Ранг: 95.1 (постоянный), 247thx
Активность: 0.260.01
Статус: Участник

Создано: 20 марта 2015 01:52 · Поправил: unknownproject
· Личное сообщение · #5

MrProxe пишет:
Не понял, а с ключиком всё срежится, если делать по предложенной инструкции?

После успешной инициализации, распаковки кода и заполнения IAT прот передает управление проге, так что OEP будет найти легко.

MrProxe пишет:
да и При загрузке программы в ollydbg, оля ругается module has entry point outside of code

Это патчится.

MrProxe пишет:
Что с ключом,что без ход программы в Олли не меняется,так и должно быть?

Не исключено, что палится отладчик.

-----
TEST YOUR MIGHT




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

Создано: 20 марта 2015 08:46
· Личное сообщение · #6

И как же обойти,то что палится отладчик?

Добавлено спустя 1 час 13 минут
С антиотладчком вроде разобрался, теперь прога запускается,но выдаёт окно не соответствие CRC суммы и закрывается. Как с этим быть?



Ранг: 95.1 (постоянный), 247thx
Активность: 0.260.01
Статус: Участник

Создано: 20 марта 2015 17:41 · Поправил: unknownproject
· Личное сообщение · #7

MrProxe пишет:
С антиотладчком вроде разобрался, теперь прога запускается,но выдаёт окно не соответствие CRC суммы и закрывается. Как с этим быть?

Поставить после вызова мессадж бокса отладку на паузу, перейти к дереву вызовов (Calls) - кнопка K, перейти к соответствующей функции и поставить бряк на RETN.Продолжить отладку, нажать ОК, должно произойти прерывание на выходе из функции (тот самый бряк на RETN).После этого выйти по F8 в код программы и, если он не сжат/виртуализирован/обфусцирован, то поискать выше вызовы MapViewOfFile и GetFileSize, ну и условные переходы рядом с ними.

-----
TEST YOUR MIGHT




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

Создано: 25 марта 2015 16:21
· Личное сообщение · #8

Нашёл точку входа в программу a28868, Вычислил RVA EOP a28868-400000=62886.Нажал AutoSerch,он нашёл этот адрес,вверху было YES без единого Invalid,выбрал дамп- ImpRec написал все Ок success. запускаю прогу она не запускается, просто ничего не происходит. Куда копать дальше???

Добавлено спустя 19 минут
Да и заметил ещё один интересный факт, если запустить программу с ключом немного поработав в ней, взять и выдернуть ключ, то через некоторое они выкинет и скажет,что ключ не обнаружен...Куда копать???



Ранг: 95.1 (постоянный), 247thx
Активность: 0.260.01
Статус: Участник

Создано: 25 марта 2015 17:04
· Личное сообщение · #9

MrProxe пишет:
Нашёл точку входа в программу a28868, Вычислил RVA EOP a28868-400000=62886

Скорее всего Вы ошиблись и нашли неверную точку входа.
MrProxe пишет:
Да и заметил ещё один интересный факт, если запустить программу с ключом немного поработав в ней, взять и выдернуть ключ, то через некоторое они выкинет и скажет,что ключ не обнаружен...Куда копать???

Значит наличие ключа проверяется как во время запуска, так и в процессе работы в цикле.

-----
TEST YOUR MIGHT




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

Создано: 25 марта 2015 17:07
· Личное сообщение · #10

http://rusfolder.com/43302195 - вот распакованный exe

Добавлено спустя 3 минуты
Настолько всё совпало, hr-esp4 прям указал на Jmp, перед которым был POP.Перешёл по jmp и я решил,что это и есть ОЕР.И импортирование прошло без сучка и задоринки. А как же мне найти цикл в котором она обращается к ключу?

Добавлено спустя 5 минут
Проверка распакованного файла в PEid пишит теперь про какой-то alias pix/vivid img graphics format



Ранг: 95.1 (постоянный), 247thx
Активность: 0.260.01
Статус: Участник

Создано: 25 марта 2015 17:13
· Личное сообщение · #11

MrProxe пишет:
http://rusfolder.com/43302195 - вот распакованный exe

Это дамп с прикрученным импортом, снятый во время приостановки программы после инициализации защиты и проверки ключа или до возникновения сообщения об ошибке, что ключ не найден ?

-----
TEST YOUR MIGHT




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

Создано: 25 марта 2015 17:18
· Личное сообщение · #12

Это дамп снятый сразу после перехода в OEP с последующим изменение точки входа в IMRec.Нет отладка проводится со вставленным ключом,сообщение об ошибки ключа не выскакивает



Ранг: 95.1 (постоянный), 247thx
Активность: 0.260.01
Статус: Участник

Создано: 25 марта 2015 17:20
· Личное сообщение · #13

Вы меня, видимо, не поняли.Вы пробовали отпускать программу работать в отладчике после прерывания на OEP ?.Там вполне мог не восстановиться или частично распаковаться участок кода.

-----
TEST YOUR MIGHT




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

Создано: 25 марта 2015 17:25
· Личное сообщение · #14

Да пробывал,он ещё раз останавливается на след строке а2869 и последующее нажатие F9 приводит к запуску программы



Ранг: 95.1 (постоянный), 247thx
Активность: 0.260.01
Статус: Участник

Создано: 25 марта 2015 17:33
· Личное сообщение · #15

Скорректируйте OEP.Удалите все брейкпоинты и после запуска программы гляньте Intermodular Calls.Таблица импорта в том дампе содержит только импорты kernel32, что явно подозрительно.Скрины сюда кидайте, потому что без ключа и визуального представления рабочей программы трудно.

-----
TEST YOUR MIGHT




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

Создано: 25 марта 2015 17:42
· Личное сообщение · #16

Скрин запушенной проги

9584_25.03.2015_EXELAB.rU.tgz - Screen после запуска проги.jpg

Добавлено спустя 0 минут
сама прога

f983_25.03.2015_EXELAB.rU.tgz - Запущенная прога.jpg



Ранг: 95.1 (постоянный), 247thx
Активность: 0.260.01
Статус: Участник

Создано: 25 марта 2015 17:53 · Поправил: unknownproject
· Личное сообщение · #17

Судя по коду сначала отрабатывает SFX пакера, потом передается управление коду протектора, а далее уже при наличии ключа переход на OEP проги.Судя по количеству секций это MS C++, значит с бОльшей вероятностью, что рядом с OEP расположен вызов функции GetVersion или GetVersionExA.

-----
TEST YOUR MIGHT




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

Создано: 25 марта 2015 17:59
· Личное сообщение · #18

Искал через Find Command ни того ни другого не нашёл

Добавлено спустя 3 минуты
Хотя в Hex нашёл кидаю скрин,но долековато от OEP

3c03_25.03.2015_EXELAB.rU.tgz - GetVersionExa.jpg

Добавлено спустя 7 минут
Прям рядом с ОЕР есть GetModuleHandle



Ранг: 95.1 (постоянный), 247thx
Активность: 0.260.01
Статус: Участник

Создано: 25 марта 2015 18:09 · Поправил: unknownproject
· Личное сообщение · #19

Разберитесь с функционалом отладчика и внимательно прочтите мое сообщение через одно выше.Первая секция - это секция кода.OEP должно быть в пределах ее адресного пространста.

MrProxe пишет:
Добавлено спустя 7 минут
Прям рядом с ОЕР есть GetModuleHandle

Это справедливо для Layer2.Как дела обстоят с OEP самой программы - догадки.

-----
TEST YOUR MIGHT




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

Создано: 25 марта 2015 18:10
· Личное сообщение · #20

НАШЁЛ НЕПОДАЛЁКУ ОТ ОЕР GetVersionExA

Добавлено спустя 2 минуты
вот скрин

9412_25.03.2015_EXELAB.rU.tgz - GetVersionExAрядом ОЕР.jpg



Ранг: 95.1 (постоянный), 247thx
Активность: 0.260.01
Статус: Участник

Создано: 25 марта 2015 18:15 · Поправил: unknownproject
· Личное сообщение · #21

Аппаратный бряк на первую инструкцию и проверяйте, сработает ли он после перезапуска.Или можете после перезапуска перейти по этому адресу, далее ПКМ -> Breakpoint -> Run To Selection.

-----
TEST YOUR MIGHT




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

Создано: 25 марта 2015 18:18
· Личное сообщение · #22

Не понял что значит первую интсрукцию?

Добавлено спустя 8 минут
Короче сделал hardwearbreakpoint на этом вызове,перезапустил прогу,breakpoint сработал,отладчик встал,программ не запустилась,что делать дальше?

Добавлено спустя 8 минут
это ОЕР?

Добавлено спустя 13 минут
Нажимаю дальше F9 прога запускается



Ранг: 95.1 (постоянный), 247thx
Активность: 0.260.01
Статус: Участник

Создано: 25 марта 2015 18:32 · Поправил: unknownproject
· Личное сообщение · #23

Первая инструкция - это PUSH EBP.

MrProxe пишет:
это ОЕР?

Возьмите любую неупакованную и незащищенную программу и посмотрите инструкции, расположенные на точке входа.Думаю, что вопросов больше не возникнет.

MrProxe пишет:
Добавлено спустя 13 минут
Нажимаю дальше F9 прога запускается

Понятно, что она запускается.Проверяйте импорт.Если он определится неверно (не в плане валидности функций, а размер и начало), то смотрите дамп второй секции в окне дампа и ищите его начало, конец и размер.

-----
TEST YOUR MIGHT




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

Создано: 25 марта 2015 18:49
· Личное сообщение · #24

Взял обычный блокнот, посмотрел инструкции на точке входа, код очень похож. Получаестя MOV EDI,EDI и есть начало работы незащифрованной программы?

Добавлено спустя 0 минут
после Mov и есть первая инструкция....

Добавлено спустя 12 минут
Можно как-то поподробней,что-то я совсем не догоняю

Добавлено спустя 13 минут
Или ссылку где можно об этом почитать?

Добавлено спустя 1 час 12 минут
Нашёл первую инструкции,долго шёлкая F7 (первое появление PUSH EBP), кстати когда ставил Breakpoint, Олли предложила установить на этом месте Set real SFX enter. Но я поставил хардвея и прога после перезапуска проскочила эту точку спокойно запустившись.Но меня удивило кое, что. Это видно в принт скрине. Но есть ещё один push EBP, на котором прога останавливается,но это первый мой найденный ОЕР. Я окончательно запутался и не знаю,что делать. Можете дать какую нить литературу,почитав её я бы понял,что всё это значит???

6687_25.03.2015_EXELAB.rU.tgz - Первый Push EBP в проге.jpg



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

Создано: 01 апреля 2015 08:31
· Личное сообщение · #25

ну видимо,касаемо моего вопроса идей больше нет. Жаль,хотя я вот подумал,если я найду эту точку входа OEP мне это не поможет. Ведь ещё прога обращается к ключу во время своей работы, а как с этим бороться я даже теоретически не представляю,поэтому все мои поиски бесмысленны. Моё утверждение верно,или я ошибаюсь?



Ранг: 95.1 (постоянный), 247thx
Активность: 0.260.01
Статус: Участник

Создано: 01 апреля 2015 09:18 · Поправил: unknownproject
· Личное сообщение · #26

Идеи в первую очередь должны быть у Вас, так как программа никому из здесь обитающих уж точно не нужна, да и я предостаточно намекнул.Без ключа я могу только гадать, так как форма программы предо мной не предстанет, а значит окончания инициализации защиты и передачи управления коду программы мне также не видать.Если хотите понять самостоятельно - читайте разделы из шапки каждой страницы, анализируйте, изучите спецификацию PE, сравнивайте с другими файлами.От вас пока только лишь поступают вопросы, причем те, которые можно найти в справке по отладчику.Если бы Вы обладали достаточным опытом, то уже определяли все на глаз.Не думайте, что Вас кто-то будет водить за ручку, а полагайтесь на свои силы, а то Ваши фразы невольно склоняют к мысли о том, что Вам кто-то должен, но это не так.Удачи.

-----
TEST YOUR MIGHT




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

Создано: 15 апреля 2015 11:13
· Личное сообщение · #27

Снова,здравствуйте, подтянув немного теорию (изучил форумы почитал книгу "Введение в крекинг"),появилось несколько вопросов.1.Согласно теории, брейкпоинт поставленный на выполнение (доступ) на закодированную секцию,говорит,что данная секция раскодированна. В моём случае это абсолютно не так, если посомотреть на эту секцию, до запуска программы и во время остановки на брейкпоинте они идентичны.Соответственно вопрос, как программы пытается выполнять код, не раскодировав его?

Добавлено спустя 3 минуты
hr esp-4 - тоже показывает не переход на ОЕР, так как при переходе в первую секцию,просмотрев её в hex, она идентична,той что было до запуска проги.Поэтому я делаю вывод,что она не раскодирована,мои утверждения верны?



Ранг: 10.9 (новичок), 5thx
Активность: 0.060
Статус: Участник

Создано: 15 апреля 2015 12:19
· Личное сообщение · #28

Секция кода не всегда жмется, если речь идет о протекторе и она может оставаться в первозданном виде.Чтобы в этом убедиться нужно вручную трассировать, начиная от EP протектора и если там будут обнаружены циклы, то это явно говорит о том, что там происходят модификации с кодом.



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

Создано: 15 апреля 2015 12:27
· Личное сообщение · #29

Да цикл, я обнаружил в протекторе,но он не модифицирует первую секцию,он делает арифметические вычисления без записи. Просто как мне здесь объясняли,программа накрыта Hasp конвертом,ну и действительно Hasp ключ имеется.Просто вопрос Hasp ключ обязательно,должен что-то кодировать?

Добавлено спустя 3 минуты
если долго трассировать,то можно найти момент,что в первой секции оказываются совсем другие данные,брейк поинт на запись в секцию приводит к прерыванию программы с ошибкой 39 (сессия Hasp прервана) и всё. Как поймать момент модификации кода в первой секции??? И нажен ли мне этот момент для нахождения OPE???



Ранг: 10.9 (новичок), 5thx
Активность: 0.060
Статус: Участник

Создано: 15 апреля 2015 12:54
· Личное сообщение · #30

MrProxe пишет:
ак поймать момент модификации кода в первой секции???

Открыть ее бинарный дамп и трассировать, наблюдая изменения.Раз вылазит ошибка, значит запалился отладчик и нет прав на запись в эту секцию (протектор их еще не выставил).Важен или нет ? Важен.Если визуально определить точку входа в программу проблематично, то придется ее искать, протрассировав всю SFX секцию в поисках заветных Jmp/call eax-ebx-ecx etc или retn.


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


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