Пользователь
-
Автор темы
- #1
СТАТЬЯ ВЗЯТА И ПЕРЕВЕДЕНА С ДРУГОГО САЙТА
Мы имеем вот такую простую программу для експеремента,с более сложными такое врядли сработает
Нам нужно такие инструменты:
1.Ollydbg
2.Немного терпения
Итак приступим:
1.Открываем в Ollydbg наш файл и видим такую картину
2.Щелкните правой кнопкой мыши в любом месте ollydbg, затем выберите меню правой кнопки мыши. search for > All referenced Text Strings
Теперь найдите Text> Wrong key, который является нашим сообщением об ошибке.
дважды щелкните по нему, и он приведет вас к его коду ASM. не волнуйтесь, если вы не поняли этот гигантский код. Я сделаю это просто.
Следите за приведенным выше кодом. Адрес строки с ошибкой - 00401183 (он может отличаться в зависимости от вашего компьютера, но вы получите ссылку на эту ссылку).
Подожди .. посмотри на адрес
здесь наш введенный ключ сравнивается с сохраненным ключом (который равен 123 в нашей программе), затем при неправильном сравнении условие JNZ 00401183 становится истинным, и управление переходит на адрес 00401183, который является адресом нашей строки ошибки.
Однако, если мы изменим это условие, тогда это условие станет ложным при неправильном сравнении, и элемент управления переместится вперед, то есть на адрес с правильным ключевым сообщением.
Дважды щелкните код и измените JNZ на JE
Нажмите Ctrl + A, чтобы проанализировать код в случае ошибки.
Теперь сохраните все изменения. из меню правой кнопкой мыши скопируйте в исполняемый copy to executable > All modifications > copy All затем отмените переднее окно, он попросит сохранить изменения, нажмите YES > overwrite to crackme.exe
Закройте отладчик и снова запустите взломанный файл crackme.exe.
Теперь он принимает любой случайный ключ.
Виола, кажется, мы взломали код. да, я очень рад, что ты наконец дочитал эту статью;)
Мы имеем вот такую простую программу для експеремента,с более сложными такое врядли сработает
Код:
#include<stdio.h>
int main()
{
int a;
printf("Enter the Key:");
scanf("%d",&a);
if(a==123)
printf("\n Correct Key");
else
printf("\n Wrong Key");
return 0;
}
1.Ollydbg
2.Немного терпения
Мы будем искать код для запуска программы, все это лишь для примера.Внимание! Все что Вы будете делать это на свой страх и риск! Некоторые лоаедры могут стереть вам диск!
Итак приступим:
1.Открываем в Ollydbg наш файл и видим такую картину
2.Щелкните правой кнопкой мыши в любом месте ollydbg, затем выберите меню правой кнопки мыши. search for > All referenced Text Strings
Теперь найдите Text> Wrong key, который является нашим сообщением об ошибке.
дважды щелкните по нему, и он приведет вас к его коду ASM. не волнуйтесь, если вы не поняли этот гигантский код. Я сделаю это просто.
Следите за приведенным выше кодом. Адрес строки с ошибкой - 00401183 (он может отличаться в зависимости от вашего компьютера, но вы получите ссылку на эту ссылку).
Подожди .. посмотри на адрес
Код:
00401170 CMP [EBP-4],7B
00401174 JNZ 00401183
здесь наш введенный ключ сравнивается с сохраненным ключом (который равен 123 в нашей программе), затем при неправильном сравнении условие JNZ 00401183 становится истинным, и управление переходит на адрес 00401183, который является адресом нашей строки ошибки.
Однако, если мы изменим это условие, тогда это условие станет ложным при неправильном сравнении, и элемент управления переместится вперед, то есть на адрес с правильным ключевым сообщением.
Дважды щелкните код и измените JNZ на JE
Теперь сохраните все изменения. из меню правой кнопкой мыши скопируйте в исполняемый copy to executable > All modifications > copy All затем отмените переднее окно, он попросит сохранить изменения, нажмите YES > overwrite to crackme.exe
Закройте отладчик и снова запустите взломанный файл crackme.exe.
Теперь он принимает любой случайный ключ.
Виола, кажется, мы взломали код. да, я очень рад, что ты наконец дочитал эту статью;)
Пожалуйста, зарегистрируйтесь или авторизуйтесь, чтобы увидеть содержимое.
Вложения
-
93.2 KB Просмотры: 67
-
93.2 KB Просмотры: 59