13.5. Декілька цікавих протекторів

На даний момент розроблено досить велику кількість протекторів виконуваних файлів. Багато з них безкоштовні та створені ентузіастами, яким просто цікаво спробувати свої сили у захисті програм. Зрозуміло, є й комерційні протектори. А деякі протектори є складовими частинами складніших комплексів, що включають прив'язку до апаратних ключів або компакт-дисків.

Розглянемо основні характеристики кількох найцікавіших протекторів.

13.5.1. ASProtect

Для захисту умовно безкоштовних програм найчастіше, напевно, застосовується ASProtect – протектор, розроблений Олексієм Солодовниковим. ASProtect був чи не першим серйозним протектором, що поєднував у собі основні функції, що застосовуються для захисту програм:

  • робота з реєстраційними кодами на базі RSA-1024;
  • підтримка "чорного списку" реєстраційних кодів; Про обмеження періоду роботи пробної версії;
  • обмеження функціональності пробної версії;
  • динамічне розшифрування фрагментів коду за наявності правильного реєстраційного коду;
  • API для інтеграції програми, що захищається з протектором;
  • оригінальні методи протидії дослідженню під налагоджувачем;
  • оригінальні методи захисту від зняття протектора

Однак, завдяки величезній популярності ASProtect є і одним з найбільш добре вивчених протекторів - майже для всіх хитрощів, які застосовуються в ASProtect, розроблені або автоматичні або напівавтоматичні засоби обходу.

13.5.2. Armadillo

Незвичний метод взаємодії з програмою, що захищається, використовує протектор, розроблений компанією The Silicon Realms Toolworks і носить назву Armadillo. При запуску захищена програма виконується як два процеси. Першийпроцес, у якому працює основний код протектора, створює в режимі налагодження другий процес, що містить власне захищену програму, та керує його виконанням.

Протектор Armadillo застосовує оригінальні технології, звані СоруМетП і Nanomites, для захисту коду програми від зчитування з пам'яті. Технологія СоруМетП вже добре вивчена та легко обходиться автоматичними депротекторами. Про існування автомата, здатного обійти Nanomites, поки що не відомо, але були численні повідомлення про ручне розпакування програм, при захисті яких використовувалася ця технологія.

Протектор Armadillo також включає менеджер ліцензій.

13.5.3. PACEInterLok

Протектор InterLok, розроблений компанією РАСІ Anti-Piracy, має версії для Windows та Macintosh. Набір функцій, що пропонуються протектором, цілком звичайний: менеджер ліцензій, демонстраційні версії, API для інтеграції тощо.

Версія для Windows встановлює драйвер ядра, що перешкоджає налагодженню захищеної програми та виконує частину перевірок. Але, незважаючи на наявність такого складного елемента, як драйвер, захист файлу, що виконується, досить слабка. Наприклад, всі секції шифруються потоковим шифром з тим самим ключем. Це призводить до того, що якщо секція коду більше, ніж будь-яка інша секція, можна прочитати з пам'яті запущеної програми розшифровану секцію коду, обчислити гаму, що накладається при шифруванні, і розшифрувати всі інші секції файлу, навіть не вдаючись до складних інструментів. Драйвер практично не має захисту від дослідження, а таблиці імпорту взагалі не захищені.

13.5.4. HASP Envelope

У комплект розробника, що постачається разом із ключами HASP, входить протектор HASP Envelope. Мета цього протектора – захиститипрограму від дослідження та навіть запуску за відсутності апаратного ключа HASP.

Так як секретна функція, яка була протягом багатьох років серцем ключів HASP, виявилася повністю розкрита, не складало значних труднощів емулювати відповіді на запити, які Envelope робив до ключа. Отже, будь-яка програма, захищена HASP Envelope, могла бути запущена без ключа.

З появою ключів сімейства HASP4, у яких використовуються нові секретні функції HaspEncodeData та HaspDecodeData, обхід Envelope. За відсутності ключа став неможливим. Але в решті протектор не здатний забезпечити високу стійкість захисту. І за наявності ключа отримання незахищеної копії програми зазвичай не потребує значних зусиль.

13.5.5. StarForce

Однією із складових StarForce Professional (системи, розробленої компанією Protection Technology для захисту інформації, що розповсюджується на компакт-дисках) є протектор. У його функції входять автентифікація компакт-диска та запуск захищеної програми, але тільки в тому випадку, якщо введений користувачем ліцензійний код відповідає встановленому диску.

StarForce застосовує безліч унікальних технологічних рішень. Так, наприклад, у захищеному виконуваному файлі секція коду заповнена одними нулями, а код захисту виконується з динамічної бібліотеки protect.dll, яка автоматично завантажується та ініціалізується під час запуску програми.

Більшість захисту зосереджена в драйвері, що встановлюється в ядро ​​операційної системи. Саме там триває автентифікація компакт-диска. Сам драйвер також зашифрований з метою утруднення його дослідження.

Частина програми, що захищається, зберігається в псевдокоді і виконується на вбудованій в протектор віртуальній машині.

УЗагалом StarForce на сьогоднішній день є одним із найсерйозніших протекторів, який, до того ж, продовжує розвиватися. Так нещодавно компанія Protection Technology оголосила про вихід StarForce Soft 3.0 - системи захисту від копіювання, заснованої на ядрі StarForce Professional 3.0, але не використовує компакт-дисків.