+ Reply to Thread
Results 1 to 7 of 7

Thread: Hasp Envelope 3.25

  1. #1
    BaronPabloz's Avatar

    Default Hasp Envelope 3.25

    Подскажите пожалуйста, как все таки вручную восстановить IAT при снятии конверта Hasp Envelope 3.25? ImcRec восстанавливает не все функции. Вот здесь человек пишет, что можно поймать момент, когда таблица импорта корректна, но подробностей, увы нет. В вот тут в п.4 упоминается неведомый JE в секции .protected, по этому моменту нет инфы? Может кто сталкивался? п.с. мучаюсь не один день, все доступные туторы читал и смотрел, гугл тоже юзал.

  2. #2
    Darwin's Avatar

    Default Re: Hasp Envelope 3.25

    Вот здесь человек пишет, что можно поймать момент, когда таблица импорта корректна, но подробностей, увы нет.
    Это называется найти magic jump (волшебный/магический переход), читай эту статью:
    Введение в крэкинг с нуля, используя OllyDbg - Глава 37
    Счастлив кто отдал, а не взял. (с) Inception

  3. Пользователь сказал cпасибо:
    BaronPabloz (13-05-2015)
  4. #3
    BaronPabloz's Avatar

    Default Re: Hasp Envelope 3.25

    Quote Originally Posted by Darwin View Post
    Это называется найти magic jump (волшебный/магический переход), читай эту статью:
    Введение в крэкинг с нуля, используя OllyDbg - Глава 37
    Спасибо! Эти статьи как раз уже и затер до дыр. Дохожу до того что на скрине:

    по адресу 401BF8 та функция которую пытаюсь разгадать.

  5. #4
    BaronPabloz's Avatar

    Default Re: Hasp Envelope 3.25

    Опа, нашел...&KERNEL32.TlsGetValue ...просто погуглил D8604000, а почему так? и на всех осях будет так же? О, все заработало, чудо - не иначе! :)
    Last edited by BaronPabloz; 13-05-2015 at 18:13.

  6. #5
    ximera's Avatar

    Default Re: Hasp Envelope 3.25

    Ну системные либы висят на определенных адресах, только по абсолютному смещению грузить функцию не советую, потому что адреса меняются, если не ошибаюсь даже в сервис паках.
    Чтобы избегать ошибок, надо набираться опыта; чтобы набираться опыта, надо делать ошибки. © Лоренс Питер

    Неизбежное прими достойно. © Сенека Луций Анней

    Господи... храни сумасшедших. © Сумасшедший Фрэнки

  7. Пользователь сказал cпасибо:
    BaronPabloz (14-05-2015)
  8. #6
    BaronPabloz's Avatar

    Default Re: Hasp Envelope 3.25

    Так, вообщем вопрос я этот не бросил. С тестовой прогой, где было всего-ничего api вызовов разобрался, а теперь взялся за зверя посерьезней. ImpRec определил, что вызовов всего 179 штук, из них 50 распознались как "invalid", пришлось разбираться и переписывать скрипт "iat fixer" великого Sc0py, отсюда. В итоге распозналось еще 46 функций, осталось 4-ре. Я так понял hasp несколько функций эмулирует; трассировал вручную, вроде бы как получается, что это функи (GetACP, GetVersion, GetCurrentProcessId и GetCurrentProcess), однако, уверенности нет, особенно смущает GetACP. Да и когда я их подставил в ImpRec и фиксанул дамп он не запустился и падает по адресу 78с00003, т.е. где то в kernel32. Вообщем, вопрос, как мне проверить правильно я определил API или нет?

  9. #7
    BaronPabloz's Avatar

    Default Re: Hasp Envelope 3.25

    Победил и этот момент, вот как : открыл дамп программы в IDA и затем посмотрел места вызовов искомых функций (их нашел, благодаря статье выше) на предмет наличия характерных особенностей (количество принимаемых параметров, количество возвращаемых параметров и так далее), Kernel32.GetCurrentProcess, Kernel32.GetProcAdress, Kernel32.GetStartupInfoA ,Kernel32.GetCurrentProcessID были идентифицированы. дамп заработал - аллилуйя :)

  10. Пользователь сказал cпасибо:
    klaus (31-05-2015)
+ Reply to Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
All times are GMT. The time now is 01:26
vBulletin® Copyright ©2000 - 2018
www.reverse4you.org