![]() |
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс |
Новичку | Ссылки | Программирование | Интервью | Архив | Связь |
Исследование SAMInside 2.0 DemoОбсудить статью на форумеОчень удобно, когда все крэкерские инструменты, книги и статьи в одном месте. Используйте сборник от EXELAB - вот тут. Description : [WIN] SAMInside 2.0 DEMO Crack subject : Alphbet can't be changed Crack made by : Runtime_err0r Crack made at : 27-02-2003 Comments : http://pwlinside.narod.ru/ Protection : (X)Beginner ( )Intermediate ( )Advanced ( )Expert Time for hack : 00:20 Type of hack : Bit Hack Used packer : WWPack32 Used unpacker : GUW32 File size : 74240 bytes Src language : Assembler Price : $40 US Used tools : pe-scan 3.31, TRW 1.22 REGISTERED, LordPE, HIEW 6.83, IDA Pro 4.15 (or higher), calc.exe :-))) Under Music : Radio ULTRA (100.5 FM)
Внимание !!!
Данная статья носит образовательный характер и предназначена для разработчиков программных защит. Автор не несёт никакой ответственности за возможное использование материалов данной статьи в противозаконных целях. 1. ВВЕДЕНИЕ Описание программыПрограмма SAMInside выполняет следующие функции:
Ограничение demo-версии Программа является Demo и требует небольшой платы за ее использование. Вы можете использовать demo-версию неограниченно долго, но она имеет одно ограничение: нельзя использовать другой алфавит для перебора (цифры, национальные символы и пр.), кроме латиницы. То есть, Demo-версия программы полнофункциональна практичеcки на 95%! 2. РАСПАКОВКА Прежде всего необходимо определить, чем прога запакована. Для этого можно воспользоваться утилитой pe-scan 3.31, хотя можно просто открыть её через F3 в FAR'е и обнаружить там секцию с названием WWP32, так что можно догадаться, что это WWPack32 (оф. сайт http://www.webmedia.pl/. Поскольку готового распаковщика для этой шняги нет, придётся сделать это самим (вообще-то он без проблем распаковывается универсальным анпакером GUW32, который можно скачать с сайта Unpacking Gods, но распаковать его вручную будет полезно для общего развития). Итак, загружаем файл SAMInside.exe в TRW жмём F10 и оказываемся здесь:019F:0041E000 PUSH EBX 019F:0041E001 PUSH EBP 019F:0041E002 MOV EBP,EAX 019F:0041E004 XOR EBX,EBX 019F:0041E006 JMP SHORT 0041E068 019F:0041E008 OR EAX,570A0D0A 019F:0041E00D PUSH EDI 019F:0041E00E PUSH EAX 019F:0041E00F POPAДалее есть два способа добраться до OEP - быстрый и классический:
3. СНЯТИЕ ОГРАНИЧЕНИЙ Теперь приступим непосредственно к увеличению алфавита: для этого открываем распакованный файл dumped.exe в HIEW и ищем строчку ABCDEF, после неё идёт много нулей, так что можно добавить к ней новые символы, я дописал 0123456789. Теперь надо сохранить изменения, найти где-нибудь файлы SAM и system и запустить перебор. Но нетрудно заметить, что в переборе участвуют только латинские буквы, несмотря на то, что в файле SAMInside.ini появилась строка Alphabet=ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.Теперь самое время применить тяжёлую артиллерию, то есть IDA Pro (разумеется, у меня есть замечательный релиз DataRescue.IDA.Pro.Advanced.V4.3.0.740.RETAIL.READNFO-ZENiTH, но я пока пользуюсь старой проверенной версией 4.17). Итак, загружаем наш распакованный exe'шник в IDA, дожидаемся окончания анализа и идём в меню Search -> text... Вводим строку для поиска: ABCDEF и находим несколько ссылок: ![]() меня заинтересовали 3-я и 5-я, где в регистр EDI помещается адрес начала алфавита. Тут следует отметить, что длина стандартного алфавита равна 26-и символам, что в 16-ричной системе равно 1Ah (если в не можете пересчитать в уме, воспользуйтесь стандартным Виндузовским калькулятором). Теперь попробуем перейти по третьей ссылке: .text:00401C45 loc_0_401C45: ; CODE XREF: start+990.j .text:00401C45 ; start+B44.j .text:00401C45 mov eax, 1Ah .text:00401C4A mov dword_0_413988, eax .text:00401C4F pxor mm0, mm0 .text:00401C52 mov esi, offset word_0_414169 .text:00401C57 movq qword ptr [esi], mm0 .text:00401C5A movq qword ptr [esi+7], mm0 .text:00401C5E push esi ; lParam .text:00401C5F push 0Fh ; wParam .text:00401C61 push 0Dh ; Msg .text:00401C63 push dword_0_413958 ; hWnd .text:00401C69 call SendMessageA .text:00401C6E .text:00401C6E loc_0_401C6E: ; CODE XREF: start+B9D.j .text:00401C6E lodsb .text:00401C6F cmp al, 20h .text:00401C71 jb short loc_0_401CAE .text:00401C73 mov edi, offset aAbcdefghijklmn ; "ABCDEFGHIJKLMNOPQRSTUVWXYZ" .text:00401C78Тут всё очевидно - надо просто открыть файл dumped.exe в HIEW и исправить mov eax, 1Ah на mov eax, 24h (24 HEX = 36 DEC). Теперь прога подбирает пароли состоящие из латинских букв и цифр !!! 1 Команда pusha используется совместно с командой popa для сохранения и восстановления всех регистров общего назначения. Эти команды удобно использовать при работе с процедурами, программами обработки прерываний, а также в других случаях для сохранения и восстановления регистров общего назначения как части контекста некоторого вычислительного процесса. Комментарии к статье: Исследование SAMInside 2.0 Demo 6aHguT 22.02.2005 05:53:59 всё хорошо но у меня вместо строки mov edi, offset aAbcdefghijklmn ; \"ABCDEFGHIJKLMNOPQRSTUVWXYZ\" строка mov edi, offset WindowName почему так ,и как от этого избавиться ? --- Материалы находятся на сайте https://exelab.ru ![]() |
Вы находитесь на EXELAB.rU |
![]() |