Misschien was dit het idee ook wel, mede omdat het "echte antwoord" nog niet online staat weet ik niet of er wel zo'n code is. Want als iemand zo'n code kraakt wil die persoon doorgaans er toch wel erkenning voor hebben en gaat dan eventueel de publiciteit opzoeken.
Alle niet geschikte mensen gaan zitten puzzelen op een stukje code dat nergens op slaat, en de mensen die ze WEL willen hebben zijn handig genoeg om het via zo'n route op te lossen.
het is z80 assembly.. have fun ermee
ex de,hl
inc b
xor a
jp nz,$A3BF
add a,c
call pe,256
nop
nop
ld sp,35017
inc c
inc c
cp 193
ld (hl),l
ld sp,hl49201
cp d
B_CALL ($ADBE)
sbc a,2
inc b
inc c
nop
ret nc
pop bc
jp z, $8A08
inc e
inc c
adc a,d
inc a
inc b
adc a,b
inc e
inc b
adc a,b
inc a
inc c
cp 193
ld (hl),l
ret pe
jp (hl)
ld e,h
nop
nop
nop
adc a,c
ex (sp),hl
add a,c
jp $0004
nop
nop
ld e,h
ld e,b
dec a
ld b,c
ld b,c
ld b,c
ld b,c
ld (hl),l
ld b,e
ld e,b
dec a
ld b,d
ld b,d
ld b,d
ld b,d
ld (hl),l
dec sp
ld e,d
adc a,c
pop de
adc a,c
and 137
rst 18h
add hl,hl
rst 08h
di
and h
adc a,c
sbc a,137
pop de
adc a,c
rst 18h
add hl,hl
rst 08h
ld sp,12736
in a,($31)
jp nc,$C0FE
ld (bc),a
inc e
ld b,138
inc d
ld b,138
inc (hl)
ld e,136
inc (hl)
ld b,136
inc d
ld e,0
jp p,$F630
adc a,d
inc e
ld d,138
rla
jr nc, $DA
adc a,b
rla
ld b,a
ld c,c
ld (hl),l
sbc a,49
in a,($89)
ret c
cp 192
call 36992
sub b
ret pe
sbc a,l
rst 38h
rst 38h
rst 38h
ld b,c
ld b,c
ld b,c
ld b,c
Bijna goed het is x86 assembly, maar de twee nop's aan het einde
moeten vervangen worden door andere opcodes.
Het gebruikte algoritme lijkt RC4 te zijn
objdump -D -b binary -mi386 (raw bytes here)
start:
0: eb 04 jmp 0x6
might_be_data1:
2: af scas %es:(%edi),%eax
3: c2 bf a3 ret $0xa3bf
init:
6: 81 ec 00 01 00 00 sub $0x100,%esp
c: 31 c9 xor %ecx,%ecx
search_for_zero_byte:
e: 88 0c 0c mov %cl,(%esp,%ecx,1)
11: fe c1 inc %cl
13: 75 f9 jne 0xe
15: 31 c0 xor %eax,%eax
17: ba ef be ad de mov $0xdeadbeef,%edx
checksum_loop:
1c: 02 04 0c add (%esp,%ecx,1),%al
1f: 00 d0 add %dl,%al
21: c1 ca 08 ror $0x8,%edx ; first time through, %edx = $0xdeadbe
24: 8a 1c 0c mov (%esp,%ecx,1),%bl
27: 8a 3c 04 mov (%esp,%eax,1),%bh
2a: 88 1c 04 mov %bl,(%esp,%eax,1) ; swap byte values
2d: 88 3c 0c mov %bh,(%esp,%ecx,1) ; swap byte values
30: fe c1 inc %cl ; run the loop until %cl wraps to 0
32: 75 e8 jne 0x1c
34: e9 5c 00 00 00 jmp 0x95
sub_39:
39: 89 e3 mov %esp,%ebx
3b: 81 c3 04 00 00 00 add $0x4,%ebx
41: 5c pop %esp
42: 58 pop %eax
43: 3d 41 41 41 41 cmp $0x41414141,%eax
48: 75 43 jne 0x8d
4a: 58 pop %eax
4b: 3d 42 42 42 42 cmp $0x42424242,%eax
50: 75 3b jne 0x8d
52: 5a pop %edx
53: 89 d1 mov %edx,%ecx
55: 89 e6 mov %esp,%esi
57: 89 df mov %ebx,%edi
59: 29 cf sub %ecx,%edi
5b: f3 a4 rep movsb %ds:(%esi),%es:(%edi)
5d: 89 de mov %ebx,%esi
5f: 89 d1 mov %edx,%ecx
61: 89 df mov %ebx,%edi
63: 29 cf sub %ecx,%edi
65: 31 c0 xor %eax,%eax
67: 31 db xor %ebx,%ebx
69: 31 d2 xor %edx,%edx
6b: fe c0 inc %al
6d: 02 1c 06 add (%esi,%eax,1),%bl
70: 8a 14 06 mov (%esi,%eax,1),%dl
73: 8a 34 1e mov (%esi,%ebx,1),%dh
76: 88 34 06 mov %dh,(%esi,%eax,1)
79: 88 14 1e mov %dl,(%esi,%ebx,1)
7c: 00 f2 add %dh,%dl
7e: 30 f6 xor %dh,%dh
80: 8a 1c 16 mov (%esi,%edx,1),%bl
83: 8a 17 mov (%edi),%dl
85: 30 da xor %bl,%dl
87: 88 17 mov %dl,(%edi)
89: 47 inc %edi
8a: 49 dec %ecx
8b: 75 de jne 0x6b
8d: 31 db xor %ebx,%ebx
8f: 89 d8 mov %ebx,%eax
91: fe c0 inc %al
93: cd 80 int $0x80
95: 90 nop
96: 90 nop
97: e8 9d ff ff ff call 0x39
9c: 41 inc %ecx
9d: 41 inc %ecx
9e: 41 inc %ecx
9f: 41 inc %ecx