Як зламати програму, змінивши файли dll
Вам коли-небудь хотілося дізнатися, як програми захищаються від копіювання? За допомогою потрібних інструментів ви зможете розібратися, як програма влаштована зсередини, і поекспериментувати з процесом зворотної розробки. Щоб почати, вам потрібно добре знання програмування на мові асемблера і шестнадцатиричного коду, а також програма-дизассемблер. За допомогою коду ви зможете змінити DLL-файли так, щоб прибрати потреба в реєстрації або покупці програми.
кроки
1. Навчіться програмувати на мові асемблера і працювати з шістнадцяткові кодом. Для злому більшості пробних версій програм необхідно добре знати мову асемблера, яка є мовою програмування низького рівня. Він є похідним від машинного мови, і кожен різновид мови асемблера буде залежати від типу використовуваного комп`ютера. Більшість мов асемблера працюють з двійковими і шестнадцатерічнимі кодами.
2. встановіть дизассемблер. Щоб вивчити і змінити файли DLL, вам знадобиться кілька інструментів, включаючи дизассемблер. Відмінним вибором буде IDA Pro - дизассемблер і відладчик. Його безкоштовна версія доступна на https: // hex-rays.com / products / ida / support / download_freeware, хоча її можливості істотно обмежені в порівнянні з Pro-версією. Також можна спробувати dotPeek - підтримує DLL декомпілятор, який транслює код асемблера .NET в C #. Ще один варіант - OllyDBG, дозволяє безкоштовно відкривати DLL-файли.
3. Відкрийте програму, яку ви хочете зламати за допомогою дизассемблера. Процес буде трохи різним в залежності від того, який дизассемблер ви використовуєте. Ви побачите, які файли DLL завантажує програма. Використовуйте відладчик, щоб визначити, які функції викликають файли DLL.
4. Знайдіть функцію лічильника. У багатьох программахдля захисту від копіювання використовується таймер, і коли він обнуляється, доступ до програми для користувача закривається. Ваше завдання полягає в тому, щоб знайти і обійти цей лічильник.
5. Встановіть контрольну точку на лічильнику. Коли ви виділите функцію лічильника, використовуйте дизассемблер, щоб відновити код в цій контрольній точці. Це дозволить вивчити код, який використовується під час виклику функції лічильника.
6. Змініть код лічильника. Тепер, коли ви знайшли код для функції лічильника, ви зможете змінити його таким чином, щоб лічильник ніколи не досяг фінальної точки відліку. Наприклад, можна зробити так, щоб лічильник не зміг дійти до кінцевої точки або перестрибував її.
7. Знову скомпілюйте зламану програму. Після використання дизассемблера і редагування вам потрібно скомпілювати нову версію програми, щоб ваші зміни поширилися на файли DLL і інші залежності.
попередження
- Комп`ютерне піратство незаконно, так що дійте на свій страх і ризик.
- Злом більшості програм є незаконним.