Исследование SnagIt32 v4.0.1Delphi , Программа и Интерфейс , Исследование программИсследование SnagIt32 v4.0.1
Оформил: DeeCo Короче программа бесспорно нужная и приятная сердцу. Но (как всегда) возникло одно НО: программа шароварная и постоянно выскакивают напоминания о незарегистрированности. Эти напоминания очень смахивают на обычные Окна. Для начала я попытался стандартными методами, но ничего не смог найти, тогда я вспомнил, что когда хочешь сделать окно видимым (enabled) то надо юзать АПИшную функцию EnableWindow. Так вот, я ставлю в айсе бряк на эту самую функцию: bpx EnableWindow do "p ret" выхожу из айса и запускаю программу и почти сразу оказываюсь тут: :0043FF94 FF15F8EF4700 call USER32.EnableWindow :0043FF9A C745E401000000 mov [ebp-1C], 00000001посмотрим немного выше в поисках какого-нибудь условного перехода, который уведёт нас далеко от текущей позиции (поближе к ret из функции) И я нашёл такой переход немного выше: * Referenced by a (U)nconditional or (C)onditional Jump at Address: |:0043FF4D(C) | :0043FF59 837DEC00 cmp dword ptr [ebp-14], 00000000 ;перед этим чего-то проверили :0043FF5D 7508 jne 0043FF67 ;если мы анрегистред - то прыгаем :0043FF5F 83C8FF or eax, FFFFFFFF :0043FF62 E9EC000000 jmp 00440053 ;иначе прыгаем на выход из функции и никакого напоминания не показываем * Referenced by a (U)nconditional or (C)onditional Jump at Address: |:0043FF5D(C) | :0043FF67 8BCE mov ecx, esi :0043FF69 E81AFFFFFF call 0043FE88 :0043FF6E 8BF8 mov edi, eax :0043FF70 897DE0 mov dword ptr [ebp-20], edi :0043FF73 E8480D0000 call 00440CC0 :0043FF78 57 push edi :0043FF79 E8E5070000 call 00440763 :0043FF7E 8365E400 and dword ptr [ebp-1C], 00000000 :0043FF82 85FF test edi, edi :0043FF84 741B je 0043FFA1 :0043FF86 57 push edi * Reference To: USER32.IsWindowEnabled, Ord:0168h ;проверяют активно ли главное окно | :0043FF87 FF15D0EF4700 Call dword ptr [0047EFD0] :0043FF8D 85C0 test eax, eax :0043FF8F 7410 je 0043FFA1 ;если нет то прыгаем.... :0043FF91 6A00 push 00000000 :0043FF93 57 push edi * Reference To: USER32.EnableWindow, Ord:00B2h ;...иначе - делаем его неактивным | :0043FF94 FF15F8EF4700 Call dword ptr [0047EFF8] :0043FF9A C745E401000000 mov [ebp-1C], 00000001Как оказалось напоминание показывается не функцией enablewindow, а чем-то другим, а enablewindow назначалась главному окну, которое должно было бы стать disabled, когда появится окно напоминания!!! Но нам повезло, и место проверки "А нужно ли напоминание" оказалось рядом, а именно по адресу: :0043FF5D 7508 jne 0043FF67тут нужно, чтобы мы никогда не прыгали, т.е. поменяем команду jne 0043FF67 на jne 0043FF5F. Можете проверить - при старте никакого напоминания нет! Ура. Теперь я могу не отвлекаться на то, чтобы каждый раз закрывать окно с напоминаниями! Ну а для тех, у кого нифига не получилось, как всегда готовый крак: -------вырезать тут----------- SnagIt32 v [4.0.1] CRACK by vallkor//PTDS it'll remove all nag screens!!! snagit32.exe 0003F35E: 08 00 ------вырезать тут------------ ВсЁ! исследовал и наваял туториал: vallkor //PTDS (vallkor@chat.ru)
Расшифровка программы SnagIt32 v4.0.1: исследование и cracking напоминаний о незарегистрированности. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: Исследование программ ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |