Ломаем генератор pin-кодов BeeLine & MTS Cracker.
Дата: 16:05 22-04-2006
Тема:
Предисловие:
Недавно я получил вот такое письмо:
"Говорят реально работающий генератор!! Буду очень рад если вы ей займетесь и вышлите мне Crack! Заранее благодарен!"
Я конечно же ей занялся. Нужно отдать должное автору, одно только описание технологии взлома pin-кодов чего стоит!
Далее идёт идёт описание взлома:
PEID убедил меня, что она ни чем не запакована, загрузив её в DeDe, на вкладке Forms я нашёл на Form1 кнопку с заголовком 'GENERATION CARD', имя её BitBtn2. Потом открыл вкладку Procedures и нашёл событие BitBtn2Click. Щёлкнул по нему и вот, что увидел:
0047EAD0 6A00 push $00
* Reference to: user32.MessageBeep()
|
0047EAD2 E8E97DF8FF call 004068C0
0047EAD7 6A00 push $00
0047EAD9 668B0DF0EA4700 mov cx, word ptr [$0047EAF0]
0047EAE0 B202 mov dl, $02
* Possible String Reference to: 'Программа незарегистрирована!'
|
0047EAE2 B8FCEA4700 mov eax, $0047EAFC
|
0047EAE7 E8C4A8FAFF call 004293B0
0047EAEC C3 ret
Другого я и не ждал, единственным событием по нажатию кнопки был вывод сообщения "Программа незарегистрирована!". На всякий случай я решил проверить событие по нажатию кнопки "Зарегистрировать". Вот, что я с удивлением увидел:
0047F17C 55 push ebp
0047F17D 8BEC mov ebp, esp
0047F17F 6A00 push $00
0047F181 6A00 push $00
0047F183 6A00 push $00
0047F185 53 push ebx
0047F186 8BD8 mov ebx, eax
0047F188 33C0 xor eax, eax
0047F18A 55 push ebp
* Possible String Reference to: 'й¬Fшяла[‹е]Г'
|
0047F18B 684FF24700 push $0047F24F
***** TRY
|
0047F190 64FF30 push dword ptr fs:[eax]
0047F193 648920 mov fs:[eax], esp
0047F196 6A00 push $00
* Reference to: user32.MessageBeep()
|
0047F198 E82377F8FF call 004068C0
0047F19D 8D55FC lea edx, [ebp-$04]
* Reference to control MaskEdit2 : TMaskEdit
|
0047F1A0 8B8390030000 mov eax, [ebx+$0390]
* Reference to: Mask.TCustomMaskEdit.GetText()
| or: Mask.TCustomMaskEdit.GetText()
|
0047F1A6 E8F5CAFFFF call 0047BCA0
0047F1AB 837DFC00 cmp dword ptr [ebp-$04], +$00
0047F1AF 7478 jz 0047F229
0047F1B1 8D55F4 lea edx, [ebp-$0C]
* Reference to control MaskEdit2 : TMaskEdit
|
0047F1B4 8B8390030000 mov eax, [ebx+$0390]
* Reference to: Mask.TCustomMaskEdit.GetText()
| or: Mask.TCustomMaskEdit.GetText()
| 0047F1BA E8E1CAFFFF call 0047BCA0
0047F1BF 8B45F4 mov eax, [ebp-$0C]
0047F1C2 8D55F8 lea edx, [ebp-$08]
* Reference to: Sysutils.Trim(System.AnsiString)
| or: Sysutils.Trim(System.AnsiString)
| 0047F1C5 E86E8DF8FF call 00407F38
0047F1CA 8B45F8 mov eax, [ebp-$08]
* Reference to: Sysutils.StrToInt(System.AnsiString)
|
0047F1CD E89692F8FF call 00408468
0047F1D2 837B0C00 cmp dword ptr [ebx+$0C], +$00
0047F1D6 7551 jnz 0047F229
0047F1D8 3D71816325 cmp eax, $25638171
0047F1DD 7E17 jle 0047F1F6 ;Если наш код меньше $25638171, то прыгаем 0047F1DF 6A00 push $00
0047F1E1 668B0D5CF24700 mov cx, word ptr [$0047F25C]
0047F1E8 B201 mov dl, $01
* Possible String Reference to: 'Неправильный серийный номер!'
|
0047F1EA B868F24700 mov eax, $0047F268
|
0047F1EF E8BCA1FAFF call 004293B0
0047F1F4 EB33 jmp 0047F229
0047F1F6 3D71816325 cmp eax, $25638171
0047F1FB 7D17 jnl 0047F214 ;Если не меньше - тоже прыгаем 0047F1FD 6A00 push $00
0047F1FF 668B0D5CF24700 mov cx, word ptr [$0047F25C]
0047F206 B201 mov dl, $01
* Possible String Reference to: 'Неправильный серийный номер!'
|
0047F208 B868F24700 mov eax, $0047F268
| 0047F20D E89EA1FAFF call 004293B0
0047F212 EB15 jmp 0047F229
0047F214 6A00 push $00
0047F216 668B0D5CF24700 mov cx, word ptr [$0047F25C]
0047F21D B202 mov dl, $02
Отсюда напрашивается вывод, что наш код - это $25638171 или 627278193. Вводим его и то, что мы увидим в комментариях не нуждается!
image http://tport.be//crackingpage/text/3.JPG
Заключение:
Надеюсь, что после прочтения этой статьи те из вас, кто ещё верит в генераторы pin-кодов убедятся, что всё это чушь.
Автор: M!H@N
Отзывы шлите на
22.06.05
Исходный текст статьи ТУТ
|
|