Противодействие дизассемблированию/отладке, антиреверсинг

Тема в разделе "WASM.BEGINNERS", создана пользователем Lamobot, 5 мар 2007.

  1. Lamobot

    Lamobot New Member

    Публикаций:
    0
    Регистрация:
    5 мар 2007
    Сообщения:
    1
    Скажите, пожалуйста, какие сегодня существуют способы противодействия дизассемблированию и отладке? Какие из них наиболее популярны и эффективны?
    Спасибо.
     
  2. Quantum

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

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    теже, что и раньше. Из них мало что пригодно для практического использования, а реально эффективные держатся в секрете :)
     
  3. MSoft

    MSoft New Member

    Публикаций:
    0
    Регистрация:
    16 дек 2006
    Сообщения:
    2.854
    Про дизасм - элементарный XOR и ни одни дизасм не покажет кода :)

    А про отладку - универсальных технических (!!!) способов нет!!! Говорю по себе - сам долго искал. Все, что ты найдешь в инете - это антиотладка с пом. сеха. Забей на это дело. Сех обойти - как 2 байта переслать. Мое личное мнение - надо противодействовать тому, что по твоему мнению будет делать взломщик. Например, если ты предполагаешь, что на некоторые апишки могут поставить бряк, проверяй, не стоит ли в начале функции int3. Проверяй свой код по CRC - шоб в нем не было бряков или патчей. Если могут поставить бряк на доступ к памяти, постоянно обращайся к этой памяти.

    Причем все это желательно делать в разных тредах! Ну или с фиберами можно поколдовать :) Обязательное правило - проверка должна быть неявной! Т.е. не должно быть вызова ф-ии и, если eax<>0, прыжок на выход. Полученным значением в EAX можно например ксорить ключ для расшифровки. А потом, после расшифровки, проверять расшифрованный код по CRC и, если не равен, идти на выход. И пусть крякер думает, где ты изменил ключ. А если расшифровка будет в разных тредах + разные проверки, причем одновременные + большое количество факторов, влияющих на ключ... Вобщем, полный полет фантазии :)

    Еще могу посоветовать статью про сети Петри. Ищи на этом сайте. Полностью реализовать то, что в ней, мне не удалось почему-то, но идея сама по себе очень хорошая и может неплохо защитить твой код!
     
  4. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    в таком случае элементарный скрипт в Иде и весь код как на ладони ;)
     
  5. MSoft

    MSoft New Member

    Публикаций:
    0
    Регистрация:
    16 дек 2006
    Сообщения:
    2.854
    Ладно, признаю, сморозил глупость :) Но только потому, шо не знал о таком.
     
  6. drmist

    drmist New Member

    Публикаций:
    0
    Регистрация:
    31 май 2005
    Сообщения:
    112
  7. MSoft

    MSoft New Member

    Публикаций:
    0
    Регистрация:
    16 дек 2006
    Сообщения:
    2.854
  8. MSoft

    MSoft New Member

    Публикаций:
    0
    Регистрация:
    16 дек 2006
    Сообщения:
    2.854
    Да, неплохое описание. Особенно прием с rdtsc мне нравица. Только учти (по своему опыту говорю) - делай сравнение по rdtsc там, где для отладки обязательно надо остановиться. Иначе крякер может просто проигнорировать все исключения, поставив бряк только на одну функцию. В итоге, он пролетит мимо всех "ловушек". Так шо надо смотреть, де делать проверку времени
     
  9. Hellspawn

    Hellspawn New Member

    Публикаций:
    0
    Регистрация:
    4 фев 2006
    Сообщения:
    310
    Адрес:
    Москва
    по-моему всё зря.... пишите нормальный софт, для которого цена/качество будет приемлимо. Чтобы людям проще было бы купить, а то защитит по самое нусталуй свой блокнот)
     
  10. WatCheR

    WatCheR New Member

    Публикаций:
    0
    Регистрация:
    8 июн 2005
    Сообщения:
    5
    Адрес:
    Russia, Ufa
    Имхо, чтоб узнать
    нужно попробовать поломать пару протекторов, изучить известные методы взлома, а дальше, как говорил MSoft, полный полет фантазии.

    Тоже правильно. Защита, как говорится, от дурака; кому надо - поломают... А если продукт "стоящий", его поломают сразу-же, но и спрос будет большой! Кстать, заметили, у "лидирующих" фирм никаких анти-отладочных фитч, протекторов и т.п нету!(лично не ковырял, но вроде нету) Взять Nero, Photoshop, и.т.д.
    Имхо, брать надо качеством, а не защитой; защиту сломают, а качество останется...
     
  11. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    Ага, берите любой протектор и ковыряйте в лоб в Ида, начиная от EP(а в некоторых от первого callback'а tls)
    и до OEP, в финале, если дойдете, у вас будет полный набор трюков :))
     
  12. WatCheR

    WatCheR New Member

    Публикаций:
    0
    Регистрация:
    8 июн 2005
    Сообщения:
    5
    Адрес:
    Russia, Ufa
    Asterix
    "Ковырять" нужно с мануалов, которых не мало, а там есть опыт... Я имел в виду, если знать как ломать, будешь знать как налаживать... Имхо - хочешь научится защищать - научись атаковать.
     
  13. MSoft

    MSoft New Member

    Публикаций:
    0
    Регистрация:
    16 дек 2006
    Сообщения:
    2.854
    А как ты собираешь сломать, ну например, защиту с сэх, если ты никогда не сталкивался с сэхом и не подозреваешь, как все это работает и что это умеет??? Имхо надо сначала узнать, какие методы защиты применяются в принципе и их суть - как они работают. А тока потом ковырять протекторы и смотреть, как эти методы применяются на практике. Иначе увидишь xor eax,eax и думай, антиотладка это или нет :) Ну это я образно :)
     
  14. WatCheR

    WatCheR New Member

    Публикаций:
    0
    Регистрация:
    8 июн 2005
    Сообщения:
    5
    Адрес:
    Russia, Ufa
    2 MSoft
    Вот, в принципе, всё уже сказанно =)
    А так, полностью с тобой согласен.
     
  15. MSoft

    MSoft New Member

    Публикаций:
    0
    Регистрация:
    16 дек 2006
    Сообщения:
    2.854
    Просто я, например, еще не видел нормального мануала по защите. Я увлекался в свое врея взломами, у меня есть куча протекторов и статей по их снятию, но систематизированного материала нет. Кроме того, исползуемые методы довольно часто очень примитивны. Я читал методы аспротекта - там все настолько просто!.. Хотя взломать и не получается. Поэтому я поддерживаю инициативу Lamobot по поводу разделения общего опыта защит программ на этом форуме