Уроците на Jonie


Тема           
Регистриране на  WinZip 7.0 с име по ваш избор


Нужни програми   
SoftIce


Увод
Има няколко начина да регистрирате WinZip един от които е чрез регистрация с валидни име и сериен номер .
В този урок ще ви покажа как да регистрирате WinZip с каквото име си пожелаете. При регистриране програмата генерира два валидни номера
според вкараното име ( първият съдържа цифри и букви (
HEX формат ) , а другият само цифри ( DECIMAL формат ) ), които се сравняват с вкарания от вас номер и ако той съвпадне с един от двата програмата се регистрира , ако ли не , излиза съобщение за грешка .


Начин на действие
Стартирайте WinZip и когато се появи досадния екран натиснете бутона "Enter Registration Code" и въведете някакви данни в празните полета.
( например: name : Jonie the Horror  Registration # : 12345678 )
Преди да натиснете OK натиснете CTRL+D за да влезете в SoftIce и въведете bpx GetDlgItemTextA , натиснете F5 за да излезете от SoftIce и натиснете OK.
Това автоматично ви връща в SoftIce ( регистрира се прекъсване ).

Натиснете F11 за да видите прекъсването в WinZip кода. На екрана трябва да се вижда следния участък от кода:

:00408014 FF150C844600   Call dword ptr [0046840C]
:0040801A 53             push ebx
:0040801B E879160200     call 00429699
:00408020 59             pop ecx
:00408021 53             push ebx
:00408022 E89B160200     call 004296C2
:00408027 59             pop ecx
:00408028 BE58D94700     mov esi, 0047D958

:0040802D 6A0B           push 0000000B
:0040802F 56             push esi
:00408030 68810C0000     push 00000C81
:00408035 57             push edi
:00408036 FF150C844600   Call dword ptr [0046840C]
:0040803C 56             push esi
:0040803D E857160200     call 00429699
:00408042 59             pop ecx
:00408043 56             push esi
:00408044 E879160200     call 004296C2
:00408049 803D28D9470000 cmp byte ptr [0047D928], 00
;проверка дължината на името

:00408050 59             pop ecx
:00408051 745F           je 004080B2
;ако = 0 показва съобщение за грешка
:00408053 803D58D9470000 cmp byte ptr [0047D958],00
;проверка дължината  на сер. номер
:0040805A 7456           je 004080B2
;ако = 0 показва съобщение за грешка
:0040805C E8EAFAFFFF     call 00407B4B
;генериране на правилни номера
:00408061 85C0           test eax, eax
;EAX 0 = грешен номер,          EAX 1 = верен номер

:00408063 744D           je 004080B2 ;ако номера е грешен показва        съобщение за грешка
:00408065 53             push ebx
:00408066 BBB80C4700     mov ebx, 00470CB8


Както се вижда , програмата проверява първо дали са вкарани някакви данни и ако са се генерират валидните серийни номера . След това нашият измислен номер се сравнява с тях  и ако той съвпадне с някой от двата регистрацията се приема ако ли не, показва се съобщение за грешка . За нас е важно повикването на процедурата в адрес 40805C където се генерират истинските номера . Натискайте F10 докато стигнете върху 0040805C  , натиснете "T" и след това "ENTER" за да проследите самата процедура . Трябва да видите следния участък от кода :


:00407B4B 55             push ebp
:00407B4C 8BEC           mov ebp, esp
:00407B4E 81EC08020000   sub esp, 00000208
:00407B54 53             push ebx
:00407B55 56             push esi
:00407B56 33F6           xor esi, esi
:00407B58 803D28D9470000 cmp byte ptr [0047D928],00
:00407B5F 57             push edi
:00407B60 0F84A1000000   je 00407C07
:00407B66 8D45EC         lea eax, dword ptr [ebp-14]  

:00407B69 50             push eax
:00407B6A 6860F44600     push 0046F460
:00407B6F E84F9CFFFF     call 004017C3
:00407B74 59             pop ecx
:00407B75 8D85F8FDFFFF   lea eax, dword ptr [ebp+FFFFFDF8]


Няма да се спирам на широко в обяснения на действието на процедурата  ,
( за допълнителна информация може да ми пишете на: horrorscop@excite.com ) а направо ще преминем към откриването на двата  истински номера .Натискайте F10 докато достигнете до адрес : 00407C22      8D85C0FEFFFF           lea eax, dword ptr [ebp+FFFFFEC0] , напишете D ECX  натиснете "ENTER" и ще видите първият номер . ( при име : Jonie the Horror02F32E09 ) .   Ако продължите надолу ( F10 ) на адрес : 00407C51   59   pop  ecx ( D EAX – ENTER ) ще видите и вторият номер ( 49101100 ) .Сега вече може да напуснете SoftIce ( bc 0 – ENTER ) и да изпробвате откритите номера .


 

Надявам се да ви бъда полезен с представения урок и ако имате  някакви въпроси относно него или за нещо друго можете да ми пишете  на адрес : horrorscop@excite.com

 

 

Hosted by uCoz