Faq по зламу програм by vallkor - delphi sources faq

Q: Які види захисту використовують програми і які методи їх злому?
A: найбільш поширений вид захисту - захист серійним номером, тобто по вашому імені або за спеціальним шаблоном генерітся серійні номери. Дістати їх просто за допомогою будь-якого дебагера (відладчика), я рекомендую SoftIce. При цьому важливо "зловити" подія, яка відбувається при неправильному введенні серійного номера. Як правило це MessageBox - повідомлення про помилку, але якщо програма написана в Делфі - то там messagebox не канал, тому що "Просунутий" Делфі не використовує стандартне повідомлення Windows.
Є тимчасовий захист, тобто програма працює 30 днів - тут зовсім все просто, можна написати за 5 імнут програму, яка б перекладала на секунду час назад, запускала потрібну нам програму і повертала б час назад;
Просто почитайте літературу по зламу програм.

Q: де взяти таку літературу.
A: шукати треба літературу щодо захисту програмного забезпечення. На ринках часто продають диски з назвами "Все для хакера" - там багато корисної інформації. Є купа туторіали (пояснень) - тобто описів, як потрібно ламати ту чи іншу програму, я рекомендую регулярне видання команди CiA - "tKC's tutorials". Просто введіть в будь-якому пошуковику заповітні слова і купа інформації вам забезпечена. Рада (який мені теж хтось радив): "читайте все підряд, навіть якщо не розумієте - потім будете знати, де шукати". ЗИ: www.reversing.net - російськомовний і класний.

Q: Що таке декампілятор?
A: Це програма, яка з машинного коду програми отримує вихідний код на асемблері.

Q: А чи можна отримати вихідний текст на мові, на якому була написана програма?
A: Якщо знати якою мовою написана прога (компілятор) то теоретично можна, але практично ще не бачив.

Q: Які програми для початку краще поламати для тренування?
A: Бажано самі саморобний, типу супердіалер або суперблокнот.
Я особисто заходжу на сервер ShareWare-них програм і качаю все підряд - з 10 одна стоїть знайдеться. Впринципі, зламати саморобну програму нічого не варто.

Q: Як зламати захист на перевірку компакт диска?
A: Пропоную класичний варіант:
- Ставимо брекпоінт на функцію GetVolumeDriveType (тобто визначення виду носія) і програма перевіряє компакт це диск (тобто звіряє результат з 00000005)
- тепер Хекс-редакоторм міняємо 005 на 003 (тобто жорсткий диск)
- Створюємо будь-яким емулятором компакт-дисків з директорії Fake диск нашої програми.
- Тепер програма знайшовши жорсткий диск подумає, що це сидюк і потім виявить на ньому всі потрібні файли і звичайно запуститься.

Q: Я дизасемблювати програму WDAsm'om і побачив там порожнечу!
A: тут, швидше за все, програма захищена якимось пакером або протектером.

Q: Що таке пакер і як з ним боротися?
A: Пакер - це програма, яка запаковує (стискає) потрібну програму і прикріплює распаковщик. При цьому під час запуску цей распаковщик розпаковує запаковану прогу і передає її управління. з відомих
пакеров: UPX, ASPack etc. Є ще так звані Протектери, вони діють так само як і пакери, тільки не просто запаковують прогу а й зашифровують сам її код, таблиці імпорту і експорту, та все що завгодно, при цьому такі проги напхані різноманітними антіотладочнимі засобами і т.д. З пакеров: ASProtect, VBox, PESHiELD etc.

Q: Чи є стандартні приклади швидкого злому?
A: Питання не зовсім зрозумілий. Є стандартна помилка многох програм: коли серійний номер сгенерён, то він не затирається, а залишається в пам'яті дуже часто прямо поруч з неправильним серійним номером (Що дуже нерозумно). Тобто нам варто відкрити SoftIce і ввести рядок пошуку:
s ds: 0 l ffffffff "введенний_номер" - і десь поруч в пам'яті буде потрібний серійний номер.

Q: Я ламав програму і поставив переривання bpx messageboxA, але софт айс не вискочив, хоч повідомлення про помилку (messagebox) вискакує справно.
A: спробуй: або Q: Скільки йде часу на злом програми?
A: У мене, або програма ламається відразу (5 хв) або не відразу (до 2 днів - за настроєм). А взагалі чітких термінів немає, вони обмежені тільки умелостью самих програм.

Q: що таке IceDump?
A: Це плагін для СофтАйса. У ньому купа нових, відсутніх в Айсе функцій.
Ось деякі з них:
/ dump - дампи область пам'яті в файл. Відтворення компакт-дисків прямо з айса, програвання MP3 файлів з айса, а також на радість багатьом вбудований тетріс. Коротше, скачайте IceDump і почитайте доки (вони там невеликі).

Q: Що таке IDA?
A: Це Інтерактивний дизассемблера. Але працювати новачкові з цією штукою, це все одно що на дачу їздити на космічному кораблі, а раз ти поставив таке запитання, то сміливо бери інший дизассемблер - WDasm32

Q: А чи можна отримати вихідний текст на мові, на якому була написана програма?
A: Іноді, максимально близько до вихідного коду, але точно ніколи.
І для таких компіляторів, які залишають багато сміття в exe-файлі.
Таких як Visual Basic і частково Delphi.


Q: Які програми для початку краще поламати для тренування?
A: Крякміси для початківців, яких в мережі неміряні.

Q: Чи є стандартні приклади швидкого злому?
A. Ставимо геп на введений s / n (див. Злом Delphi). Запускаємо процедуру перевірки і чекаємо, коли прога буде його перевіряти до цього.