You are given an application and you are supposed to find a vulnerability and exploit it.
You have to make a message box pop up as shown below:
(Displays Hacked! in the pop-up with the OK button to exit the program)
It should also show your name and password in the area in which it is showing not registered.
Include the relevant files needed in your solution.
Watch out for hints in the discussion area!!
Happy reverse engineering!!
Краткий мануал - смотрим, что происходит при нажатии кнопки test - видим, что пеервые семь символов из license.lic пишутся во 2-ой Edit, без проверки на длину остаток файла пишется в 1-ый эдит. Но! Перед тем как записать их в эдиты, они сохраняются в стековом пространстве. Трассируем до выхода из процедуры вставки этих значений в поля - видим, что адрес возврата, тто есть вершина стека, оказалась чуть ниже сохранённых считанных значений. Значит, адрес возврата можно переписать, если сделать большой второе поле в license.lic. А там уже и пошло-поехало
__________________
Bedankt euch dafür bei euch selbst.
стек(содержимое license.lic):
Nick, ноль, пароль, ноль, мусор до адреса возврата из функции, затераем адрес возврата адресом MessageBoxA, адрес ExitProcess(это типа адрес возврата из MessageBoxA), ноль, адрес строки дисплэй хэккид,адрес строки дисплэй хэккид, ноль, ноль(параметр ExitProcess), строка дисплый хэккид
Последний раз редактировалось TAHA; 03.04.2008 в 12:01..