Разглобяване програми за конзолата, за да намерите паролата
Основната задача, която води до демонтажа на заявления е необходимостта да се промени структурата и поведението на крайния изпълнимия файл. Най-ярък пример е демонтаж Hacking защита, вградени разработчици. Помислете за решаването на този проблем на един практически пример.
Внимание! Това ръководство е предназначено само за осигуряване на знания монтаж на хора, които програмират електрониката на този език. Във всеки случай, не се изпълнят стъпките в това ръководство по всички програми, различни от този, показан в примера.
Обява на програмата за тест, за да се намери labDasm.cpp парола:
Стъпки алгоритъм за намиране на паролата:
1. Отворете дебъгер Turbo дебъгер (TD.exe) labDasm.exe изпълним файл;
2. Извършване на сериен програма проследяване (искане въвеждане на паролата да въведете низ като В "12345V.") За да намерите точка за сравнение, strcmp на извикване на процедура (Фигура 1.);
В този случай:
Както се вижда от фигура 3, при офсет 5845h се въвежда от клавиатурата линия по-рано в "12345V" край на линията с кода 0, и преминаването на 00AAh бъде парола в "парола Б".
Алгоритъмът променя изпълнимия файл за положителния й отговор на неправилна парола:
1. Отворете дебъгер Turbo дебъгер (TD. Exe) изпълним файл labDasm. Търсейки;
2. Извършване на сериен програма за проследяване на намиране на работа условно разклонение след обаждането strcmp процедура сравнение (фиг. 4). Намерени операция условно скок има JNE машинен код 7505h;
5. операция Find с машинен код 7505 ч (F 7 от търсенето -> Hex входни shesnadtsaterichnyh знака);
6. Промяна на работа на JNE да JE (F 3, за да влезете в режим на редактиране след това F 2 за промяна на текущата команда) (Фигура 5).
7. С изключение и е Menenius (F9).
Сега, след като изпълним файл се променя, когато въведете грешна парола, програмата ще го разглежда като правилна (фиг. 6).
За да изпълните инструкциите претенции отне 30 минути.