Нубский вопрос::Какой смысл в шифровании ПЕ файлов?

Тема в разделе "WASM.CRYPTO", создана пользователем UTeX, 21 ноя 2007.

  1. UTeX

    UTeX New Member

    Публикаций:
    0
    Регистрация:
    19 окт 2007
    Сообщения:
    584
    Это я читал
    И еще многое
    Поэтому и возник вопрос
    Вижу и в правду нужен сложный алгоритм выполнения просто для того чтобы на время растянуть восстановление кода.

    Интересно эта идея Айрапетяна о сетях Петри была воплощена в жизнь?
     
  2. UTeX

    UTeX New Member

    Публикаций:
    0
    Регистрация:
    19 окт 2007
    Сообщения:
    584
    Вобще не понял к чему этот пост
     
  3. censored

    censored New Member

    Публикаций:
    0
    Регистрация:
    5 июл 2005
    Сообщения:
    1.615
    Адрес:
    деревня "Анонимные Прокси"
    UTeX
    google: dongle
     
  4. z80

    z80 New Member

    Публикаций:
    0
    Регистрация:
    13 сен 2005
    Сообщения:
    7
    Просто если какую-либо часть программы вынести в ключ, то "оболочку" (та что крутится на PC) можно уже и не защищать. Современные ключи как-раз позволяют производить подобные действия.
    Однако правильно вынести часть программы в ключ - тоже надо попотеть ;) Это вам не на одну кнопку "автозащита" нажать...
     
  5. dag

    dag New Member

    Публикаций:
    0
    Регистрация:
    17 авг 2004
    Сообщения:
    446
    UTeX
    ProxyInspector навешан ASProtect.
    Пример из самого ASPrа :
    Код (Text):
    1. ...
    2.  #ifdef __BORLANDC__
    3.  
    4.  #define REG_CRYPT_BEGIN __emit__ (0xEB,0x04,0xEB,0x05,0x89,0x01);
    5.  #define REG_CRYPT_END   __emit__ (0xEB,0x04,0xEB,0x05,0x99,0x01);
    6.  
    7. #else
    8.  
    9.  #define REG_CRYPT_BEGIN \
    10.  __asm _emit 0xEB \
    11.  __asm _emit 0x04 \
    12.  __asm _emit 0xEB \
    13.  __asm _emit 0x05 \
    14.  __asm _emit 0x89 \
    15.  __asm _emit 0x01      
    16.  
    17.  #define REG_CRYPT_END \
    18.  __asm _emit 0xEB \
    19.  __asm _emit 0x04 \
    20.  __asm _emit 0xEB \
    21.  __asm _emit 0x05 \
    22.  __asm _emit 0x99 \
    23.  __asm _emit 0x01
    24.  
    25. #endif
    26. ....
    27.  
    28. int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
    29.                     PSTR szCmdLine, int iCmdShow){
    30.  
    31.    
    32.         if (lstrlen(UserName) > 0)
    33.         {
    34.             [b]REG_CRYPT_BEGIN[/b]
    35.             MessageBox(0,UserName,"Owner",0);
    36.             [b]REG_CRYPT_END[/b]
    37.         }
    38.         else MessageBox(0,"Ops", "Unregistered version",MB_ICONSTOP);
    39.        
    40.     return 0;
    41. }
    не имея ключа считай что у тебя нету кода между REG_CRYPT_BEGIN - REG_CRYPT_END =)
     
  6. UTeX

    UTeX New Member

    Публикаций:
    0
    Регистрация:
    19 окт 2007
    Сообщения:
    584
    Блин да дело ведь не в зарегистрированных или не зарегистрированных файлах
    а в сафой шифровке ПЕ.
    Ну вобщем я понячл что смысл весь в усложнении восстановления кода и в усложнении защиты уже навешенной на ПЕ
     
  7. z80

    z80 New Member

    Публикаций:
    0
    Регистрация:
    13 сен 2005
    Сообщения:
    7
    IMHO смысла в шифровании PE вообще нет.
    Рано или поздно код расшифруется и будет сдамплен. Произойдёт это по причине скарживания софтины посредством фейковой CC, кражей валидного регистрационного кода (HardwareID фейкаются) и т.д.... Вариантов масса.
    Противодействие: обфускация, виртуализация... Ну в принципе еще есть куча способов.
     
  8. jecxz

    jecxz New Member

    Публикаций:
    0
    Регистрация:
    23 фев 2006
    Сообщения:
    75
    Адрес:
    Brazil
    z80
    А вирусы тоже накардят?
    Как по твоему, сколько проживет вирь с шифровкой, и сколько без, до попадания в БД?

    Опять же, регистрационный номер можно просто занести в блек-лист, и следующую версию опять придется покупать?
     
  9. z80

    z80 New Member

    Публикаций:
    0
    Регистрация:
    13 сен 2005
    Сообщения:
    7
    Ну вирусы - это другое дело.
    Что же касается программ обычных (не "вредоносных"), то в некоторых случаях одна скарженая и депротекченная прога может порушить бизнес. Это касается программ анлокеров оборудования (телефоны, магнитолы и т.д...), диагностических софтин и т.д... Тех программ, где не требуется обновление, и текущая ломаная версия осуществляет свою задачу на 100%.
     
  10. MSoft

    MSoft New Member

    Публикаций:
    0
    Регистрация:
    16 дек 2006
    Сообщения:
    2.854
    не обязательно - см. армадиллу
     
  11. Mental_Mirror

    Mental_Mirror New Member

    Публикаций:
    0
    Регистрация:
    7 май 2007
    Сообщения:
    431
    Шифрование - техника известная очень давно. Одним из первых кодов, где она была использована это вирус Alexander.1951 из Румынии. Зачем нужно шифрование? Само по себе шифрование необходимо для скрытия данных от чужих глаз. В идеале - если нет ключа шифрования - нет текста, который зашифрован. Хорошо. Зачем нужно шифрование, если ключ шифрования известен? Тут тоже все достаточно просто. Первая причина - скрытие бинарного кода и строк от неподготовленного просмотра. Нет шифрования - смотрим бинарный модуль в шеснадцатиричном редакторе, и находим строки конфигурационных файлов, строки адресов HTTP серверов, все это находится в открытом виде доступном ЛЮБОМУ человеку, который может не иметь каких-либо знаний и какой либо квалификации относительно обратного проектирования бинарного кода. Т.е. банальное, простейшее использование шифрования кода (XOR/ADD и подобное) и строк разом отбрасывает (отметает) кучу любопытных, но не квалифицированных глаз, смотрящих с надеждой на непонятные проксоренные данные. Следующая стадия квалификации - это распознование простейших, тривиальных алгоритмов шифрования, и умелое использвание функциональности шестнадцатиричного редактора. Часто в качестве выравнивающего заполнителя секций и данных используются нули, если метод шифрования XOR, то поксоренные нули мигом превращаются в ключ шифрования, и он будет явно заметен. Простым противодействием являются более совершенные алгоритмы шифрования, например метод сети Фейштеля, когда на каждой итерации шифрования очередного блока ключ шифрования зависит от ключа предыдущей итерации. Тут как сразу понятно, расшифроввывать HEX-редактором не представляется возможным или если предстваляется, то нужно затратить усилия, которые несоизмеримы с интелектуальной нагрузкой шифрованного кода. Хочется отметить что в качестве инструмента просмотра может быть использован и дизасемблер, шифрование защищает и от его просмотра. Все было бы хорошо, если бы не было эмуляторов и отладчиков. Можно проэмулировать (исполнить) код декриптора и получить на блюдечке все что скрыто, сдампить файл и опять же открыть в вышеупомянутых инструментах. Однако шифрование будет сильно и эффективно и тут, если смешать его с антиэмуляционными, антиотладочными трюками, и антидамповыми. Не может проэмулировать - не сможем получичить расшифрованный код. Но говоря на чистоту не таких анти-трюков, которые бы не возможно было обойти, поэтому все это лишь может затруднить исследование. И сдесь очень уместным будет сказать о важности квалификации - чем выше квалификация тем ниже вероятность, что анти-трюки оставят исследователя. Важен также временной фактор, может придется исследовать отдельных части защиты в ручную или писать сложный специфических анализатор (разборщик). В общем шифрование полезно, и будет использоваться и далее для скрытия того, то не должно быть открыто ненужным глазам.
     
  12. drmad

    drmad New Member

    Публикаций:
    0
    Регистрация:
    13 июн 2004
    Сообщения:
    332
    Адрес:
    Russia
    Есть такая разновидность вирусов - "медленные полиморфики". Часть программы, содержащая некоторый функционал, зашифрована отсутствующим в программе ключом. Открытая часть программы при запуске пытается сгенерировать этот ключ, беря исходные данные из каких-то внешних факторов - из текущего времени, из имен каталогов, из времен нажатия пользователем клавиш и т.п. Возможно, что один раз на 1000 попыток на 1000-ной машине правильный ключ сгенерируется, закрытая часть расшифруется, получит управление и поменяется местами с бывшей открытой. Опа! Имеем на старом месте абсолютно новую программу, и причем НИКТО (кроме автора) заранее не мог предсказать, какая она будет.
     
  13. t00x

    t00x New Member

    Публикаций:
    0
    Регистрация:
    15 фев 2007
    Сообщения:
    1.921
    люблю аналитические сообщения. они так редко появляются :)
     
  14. UTeX

    UTeX New Member

    Публикаций:
    0
    Регистрация:
    19 окт 2007
    Сообщения:
    584
    drmad

    Delayed Code Technology от z0mbie читал и представление имею
    просто спросил к чему это, т к из темы было ясно что я говорю о крипторах файлов - а не какой-то встроенной защите
     
  15. Gelios

    Gelios New Member

    Публикаций:
    0
    Регистрация:
    28 июл 2006
    Сообщения:
    16
    Еще может быть расшифровка кода программы по частям (по мере обращения\надобности), тогда без реверзинга не сдампишь. А полиморф\метаморф - это вообще отдельный разговор...