Как да разбиете Windows(C)ED програми! СИН UCF
Информация - Компютри, програмиране
Други материали по темата Компютри, програмиране
1. Въведение в разбиването на Windows програми
3. Търсене на регистрационни кодове
3.1 Task Lock 3.00 - проста сигурност, базирана на сериен номер
3.2 Команден ред 95 - проста регистрация на име-код
4. Създаване на генератор на ключове за команден ред 95
5. Как работят инструкциите PUSH и CALL, когато програма извиква функция
6. Относно програмите, написани на Visual Basic
A. Как да заредите имена на символи (имена на функции и т.н.) в SoftICE
Б. Синтаксис на функциите GetWindowText, GetDlgItemText и GetDlgItemInt
C. Къде да намерите програми
1. ВЪВЕДЕНИЕ В РАЗБИРАНЕТО НА ПРОГРАМИ НА WINDOWS
Разбиването на Windows програми в повечето случаи е дори по-лесно от разбиването на Dos програми. В Windows е трудно да скриете нещо от някой, който гледа, особено ако програмата използва стандартни функции на Windows.
URL адресите за всички програми, от които се нуждаете, са в приложение C.
По-долу има много схематичен чертеж, показващ прозореца на SoftICE:---
F5 / Ctrl + D - стартиране на програмата (или продължаване на прекъснатата програма)
F8 - влизане в тялото на функцията
F10 - стъпково отстраняване на грешки без влизане в тялото на функцията
F11 - функция за изход (ще работи само до първото PUSH във функцията)
3. ТЪРСЕНЕ НА РЕГИСТРАЦИОННИ КОДОВЕ
Може би най-добрият начин да практикувате е да намерите някъде програма за споделяне и да се опитате да я регистрирате.
3.1 Task Lock 3.00 - проста сигурност, базирана на сериен номер
Това е много проста защита: броят не зависи от никакви фактори.
3.1.1медицински преглед
Каква разрядност е програмата - 16 или 32 бита? Къде се въвежда информация за регистрация? Помощта ще ми даде ли някакви указания за това как работи регистрацията? Опитайте се да отговорите на тези въпроси, преди да продължим.
. Сега трябва да сте заети с прегледа. Зает ли си с проучване? . Е, това е всичко.
Добре, сега знаете, че това е 32-битово приложение, работещо под
Windows 95 и тази регистрация се състои в попълване на регистрационния номер в диалоговия прозорец, който се появява, когато изберете менюто "РегистриранеРегистриране." От помощта научихте също, че има два вида регистрация: за индивидуална употреба и за използване в "офиса" (в оригинал - лиценз за сайт). Следователно е много вероятно програмата да има ДВЕ проверки на регистрационния код.
3.1.2 Прекъсване на програма
Регистрационните кодове най-често се въвеждат в нормални редове за въвеждане като Windows Edit. За да тества кода, програмата трябва да прочете съдържанието на входния ред, като използва една от следните функции:
Последната буква в името на 32-битовите функции показва кои низове използва тази функция: еднобайтови или двубайтови. Двубайтовите низове се използват МНОГО рядко.
Възможно е вече да сте схванали мисълта ми. „Ако можете да прекъснете повикване към GetWindowText.“ – и МОЖЕТЕ да го направите. Но първо трябва да се уверите, че имената на символите (имената на функциите) са заредени от SoftICE. Ако не знаете как да направите това, вижте Приложение A.
В командния ред на SoftICE въведете следното:
Ако получите съобщение за грешка (като „Няма LDT“), уверете се, че нямате други приложения, работещи във фонов режим. Забелязах, че Norton Commander на заден план е причинатаподобно поведение на SoftICE.
Можете да проверите за точки на прекъсване с командата:
В резултат на това ще видите нещо като:
00) BPX USER32!GetWindowTextA C=01
За да излезете от дебъгера, натиснете отново Ctrl-D (или F5).
Да продължим. И така, вие сте задали точка на прекъсване и сега SoftICE ще "изскача" всеки път, когато се извика GetWindowTextA. Нека се опитаме да въведем някаква стойност в прозореца за регистрация и да щракнете върху OK. Щраквате OK. . и да получите глупаво съобщение, че кодът ви е грешен. Така че това не беше функцията GetWindowTextA. Нека опитаме GetDlgItemTextA. Изтрийте старата точка на прекъсване:
(0 е номерът на точката на прекъсване в списъка с точки на прекъсване)