Анти_Антиотладочные приёмы

Тема в разделе "WASM.RESEARCH", создана пользователем Animal, 11 июн 2005.

  1. Animal

    Animal New Member

    Публикаций:
    0
    Регистрация:
    11 июн 2005
    Сообщения:
    5
    Приветствую!



    На днях стал изучать одну программу. Кряк к ней уже есть, но он решает только проблему триала, но

    не даёт полной функциональности, да и сделан как-то странно: патченная программа (которая и идёт

    как кряк) весит на несколко байт меньше, чем оригинал. Впервые такое вижу.

    Так вот. Изучая её заметил, что иногда в стеке находятся вполне читаемые опкоды команд.

    Может ли прога специально использовать такой приём для защиты, т.е. формировать инструкцию в

    стеке, а затем её исполнять, чтобы в дизасм'ном листинге не было этих генерируемых команд.

    Ещё заметил, что в присутствующей и загружаемой DLL'ке есть int 3h. Насколько я понимаю (да и как

    в ИДЕ написано) это ловушка для отладчика, но может быть она служит и для какой-то другой цели?

    В итоге я хочу найти функцию генерации рег. номера, чтобы попробовать понять алгоритм и при успехе

    сделать кейген.



    Ещё нашёл импортируемые из kernel32.dll функции WaitForDebugEvent и ContinueDebugEvent.

    Значит ли это, что программа обнаружив отладчик может пойти по совершенно другому пути, а не к

    реальной сверке кода ???



    Может мне конечно показалось, но при трассировке в W32Dasm при входе в одну функцию степами прошёл

    привычные для C [push ebp и mov ebp, esp], но при переходе на следующую инструкцию эти две не то

    что исчезли, они стали совершенно другими, как будто их перезаписали. Такое возможно ?



    Спасибо!
     
  2. Dart_Bobr

    Dart_Bobr New Member

    Публикаций:
    0
    Регистрация:
    24 сен 2004
    Сообщения:
    100
    Адрес:
    Ukraine
    То что патченая прога занимает меньше места не есть чем-либо странным(посмотри на отучалку от дисков для Воркрафт 3. Там exe-шник становится раза в три меньше, но добавляется некая длл-ка.).

    Скорее всего в твоей проге действительно есть антиотладочные трюки. Как их обойти не знаю, так как всегда юзаю для кряка IDA.
     
  3. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    Animal

    Ты там не Армадиллу часом исследуешь? :derisive:
     
  4. Animal

    Animal New Member

    Публикаций:
    0
    Регистрация:
    11 июн 2005
    Сообщения:
    5
    Нет. SocksChain последнюю.
     
  5. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    Armadillo - это пакер такой нехороший. Возможно, что именно им запакован ваш SocksChain.
     
  6. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    Раньше на SocksChain был АСПр, сейчас не знаю
     
  7. Animal

    Animal New Member

    Публикаций:
    0
    Регистрация:
    11 июн 2005
    Сообщения:
    5
    А аспротект себя как выдаёт?

    Ещё могу сказать, что это не похоже на какой-либо известный мне пакер(Aspack, UPX :)) там тока тело анпэкера и мусор, а тут полностью код.

    Посмотрел ещё, нашёл кучу int 3 как в dll'ке, так и в самом exe-шнике. Выясняя что делает функция labs, залез в MSVCRT.DLL, так и там в одном месте обнаружил четыре подряд int 3. Там то они зачем ?

    И есть ли где-нибудь описание фций из msvcrt ?
     
  8. halyavin

    halyavin New Member

    Публикаций:
    0
    Регистрация:
    13 май 2005
    Сообщения:
    252
    Адрес:
    Russia
    int 3 идущие подряд нужны для выравнивания процедур.
     
  9. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    возьми PEiD(можно скачать на этом сайте),

    натрави на файлы - она тебе поведает,

    если сможет, с чем ты имеешь дело.



    Вобще-то SocksChain никогда не ломалась, раньше там просто

    внутри были покриптованные куски и без ключа оно не

    ломалось, да и проверяется эта прога видимо на сайте,

    прежде чем включится в работу.

    Я отламывал и триал и 1000 проксей, но нифига не пахала,

    гы, да и с ключами, которых в сети полно для разных

    версий тоже что-то не работала %)
     
  10. Animal

    Animal New Member

    Публикаций:
    0
    Регистрация:
    11 июн 2005
    Сообщения:
    5
    Тык в том и разница, что мне хоца разобраться в генерации кода, чтобы сгенерить правильный. Тогда если на серваке не ведётся статистика, какие ключи уже куплены, то проверка пройдёт успешно при любом подходящем ключе, а если ведётся, то есть шанс сгенерить такой, который там уже есть.

    Просто после всех этих int'ов я опасаюсь пускать отладчик, тк прога меня может увести далекоооо, а совсем не к генерации серийника :dntknw:
     
  11. Animal

    Animal New Member

    Публикаций:
    0
    Регистрация:
    11 июн 2005
    Сообщения:
    5
    Не очень похоже, чтобы она была такая уж и uncrackable. При вводе неправильного номера выдаёт нечто, похожее на мессагВох с текстом "Error 80407542".

    Внутри push 80407542h встречается лишь три раза.

    Млин, с моим "стажиком" долго до меня всё доходит. Может меня вообще дурят такими



    вот явными признаками защиты. ХЗ. Попробую разбираться дальше.