Разглобяване програми за конзолата, за да намерите паролата

Основната задача, която води до демонтажа на заявления е необходимостта да се промени структурата и поведението на крайния изпълнимия файл. Най-ярък пример е демонтаж 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 минути.