00000062: E2f4 loop 000000058 --- (2)
Повторяет цикл с 00000058 до 00000062 20 раз.
При жестком взломе механизма защиты осмысленный текст получить: не удалось, т.к.:
Дешифрование происходит на ключе, вычисляемом на основе контрольной суммы исполняемого кода программы.
Обобщение результатов анализа работы программы ACT-1.COM:
В данной работе взлом не удался, так как дешифрование происходит на ключе, вычисляемом на основе контрольной суммы исполняемого кода программы, и ключ не хранится в самой программе.
Исследование программы Crackme.com
Программа CRACKME.COM выполняет следующие действия:
Запрашивает ввод одного символа.
Дизассемблированный код программы:
00000000: BA3B01 mov dx,0013B ;" ;"
00000003: E83000 call 000000036 --- (1)
00000006: BA6001 mov dx,00160 ;" `"
00000009: B8000A mov ax,00A00 ;" "
0000000C: CD21 int 021
0000000E: BA4E01 mov dx,0014E ;" N"
00000011: 66B84E455453 mov eax,05354454E ;"STEN"
00000017: 660FB60E6201 movzx ecx,b,[0162]
0000001D: 66C1C006 rol eax,006 ;" "
00000021: 32E0 xor ah,al
00000023: 02C1 add al,cl
00000025: E2F6 loop 00000001D --- (2)
00000027: 663DE82227D6 cmp eax,0D62722E8 ;"╓'"ш"
0000002D: 7403 je 000000032 --- (3)
0000002F: BA5701 mov dx,00157 ;" W"
00000032: E80100 call 000000036 --- (4)
00000035: C3 retn
00000036: B409 mov ah,009 ;" "
00000038: CD21 int 021
0000003A: C3 retn
0000003B: 54 push sp
0000003C: 7970 jns 0000000AE ---X
0000003E: 65207965 and gs:[bx][di][65],bh
00000042: 7220 jb 000000064 --- (1)
00000044: 61 popa
00000045: 7474 je 0000000BB ---X
00000047: 65 gs:
00000048: 6D insw
00000049: 7074 jo 0000000BF ---X
0000004B: 3A20 cmp ah,[bx][si]
0000004D: 240A and al,00A ;" "
0000004F: 0D5269 or ax,06952 ;"iR"
00000052: 67687421 push 02174 ;"!t"
00000056: 240A and al,00A ;" "
00000058: 0D5772 or ax,07257 ;"rW"
0000005B: 6F outsw
0000005C: 6E outsb
0000005D: 67212402 and [edx][eax],sp
00000061: 0000 add [bx][si],al
00000063: 00 add [bx][si],al