BeeLine & MTS Cracker Инструменты: PEID DeDe Предисловие: Недавно я получил вот такое письмо: "Говорят реально работающий генератор!! Буду очень рад если вы ей займетесь и вышлите мне Crack! Заранее благодарен!" Я конечно же ей занялся. Нужно отдать должное автору, одно только описание технологии взлома pin-кодов чего стоит! Взлом: PEID убедил меня, что она ни чем не запакована, загрузив её в DeDe, на вкладке Forms я нашёл на Form1 кнопку с заголовком 'GENERATION CARD', имя её BitBtn2. Потом открыл вкладку Procedures и нашёл событие BitBtn2Click. Щёлкнул по нему и вот, что увидел: * 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 Другого я и не ждал, единственным событием по нажатию кнопки был вывод сообщения "Программа незарегистрирована!". На всякий случай я решил проверить событие по нажатию кнопки "Зарегистрировать". Вот, что я с удивлением увидел: * 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. Вводим его и то, что мы увидим в комментариях не нуждается! Заключение: Надеюсь, что после прочтения этой статьи те из вас, кто ещё верит в генераторы pin-кодов убедятся, что всё это чушь. Автор: M!H@N ======================================================================= TEAM-53 TUTORiALs \\ www.BSUiR.com \\ #team-53 , IRC.By, IRC.BYNETS.ORG =======================================================================