Download X-Plane v7.00 Beta 2 crack

Added to site2005-02-12
Rating93/100
Votes9


xplanev7.00beta2crack.zip (6630 bytes)

namesizecompressed
howto-create-crack/ 0 0
howto-create-crack/function.txt 17905 2687
howto-create-crack/code.txt 2938 725
howto-create-crack/howto.txt 1103 571
howto-crack.txt 222 153
X-Plane 700 Beta-2 crack.exe 5135 1720

howto-create-crack/function.txt

* Referenced by a CALL at Addresses:
|:0046C97B   , :0046C98E   , :00524A4C   , :00524A6B   , :0059EDA1   
|:0059EDBE   
|
:008D3F80 55                      push ebp
:008D3F81 89E5                    mov ebp, esp
:008D3F83 53                      push ebx
:008D3F84 56                      push esi
:008D3F85 57                      push edi
:008D3F86 81EC50020000            sub esp, 00000250
:008D3F8C 51                      push ecx
:008D3F8D 8D7C2404                lea edi, dword ptr [esp+04]
:008D3F91 B8CCCCCCCC              mov eax, CCCCCCCC
:008D3F96 B994000000              mov ecx, 00000094
:008D3F9B F3                      repz
:008D3F9C AB                      stosd
:008D3F9D 59                      pop ecx
:008D3F9E 8D8500FEFFFF            lea eax, dword ptr [ebp+FFFFFE00]
:008D3FA4 50                      push eax
:008D3FA5 FF7508                  push [ebp+08]
:008D3FA8 68D400A000              push 00A000D4
:008D3FAD E80E19B8FF              call 004558C0
:008D3FB2 83C40C                  add esp, 0000000C
:008D3FB5 8B1D5C41A000            mov ebx, dword ptr [00A0415C]
:008D3FBB 8D1CDB                  lea ebx, dword ptr [ebx+8*ebx]
:008D3FBE 01DB                    add ebx, ebx
:008D3FC0 8B1CDD7041A000          mov ebx, dword ptr [8*ebx+00A04170]
:008D3FC7 C6433200                mov [ebx+32], 00
:008D3FCB 837B2400                cmp dword ptr [ebx+24], 00000000
:008D3FCF 751A                    jne 008D3FEB
:008D3FD1 0FB64B32                movzx ecx, byte ptr [ebx+32]
:008D3FD5 80C901                  or cl, 01
:008D3FD8 89DA                    mov edx, ebx
:008D3FDA 83C232                  add edx, 00000032
:008D3FDD 8995E4FDFFFF            mov dword ptr [ebp+FFFFFDE4], edx
:008D3FE3 8B95E4FDFFFF            mov edx, dword ptr [ebp+FFFFFDE4]
:008D3FE9 880A                    mov byte ptr [edx], cl

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:008D3FCF(C)
|
:008D3FEB 0FB65333                movzx edx, byte ptr [ebx+33]
:008D3FEF 0FB64B32                movzx ecx, byte ptr [ebx+32]
:008D3FF3 0FB6D2                  movzx edx, dl
:008D3FF6 0FB6C9                  movzx ecx, cl
:008D3FF9 21CA                    and edx, ecx
:008D3FFB 80FA00                  cmp dl, 00
:008D3FFE 7456                    je 008D4056
:008D4000 8DB5F4FDFFFF            lea esi, dword ptr [ebp+FFFFFDF4]

* Possible StringData Ref from Data Obj ->"PF@"
                                  |
:008D4006 C7066C9A9100            mov dword ptr [esi], 00919A6C
:008D400C C7065C9A9100            mov dword ptr [esi], 00919A5C
:008D4012 89F3                    mov ebx, esi
:008D4014 83C304                  add ebx, 00000004

* Possible StringData Ref from Data Obj ->"ios_base failure in clear"
                                  |
:008D4017 68A49A9100              push 00919AA4
:008D401C E86F200100              call 008E6090
:008D4021 59                      pop ecx
:008D4022 83C001                  add eax, 00000001
:008D4025 50                      push eax
:008D4026 E8A5B80100              call 008EF8D0
:008D402B 59                      pop ecx
:008D402C 50                      push eax
:008D402D 89D9                    mov ecx, ebx
:008D402F E89C0BB3FF              call 00404BD0
:008D4034 8B03                    mov eax, dword ptr [ebx]

* Possible StringData Ref from Data Obj ->"ios_base failure in clear"
                                  |
:008D4036 68A49A9100              push 00919AA4
:008D403B 50                      push eax
:008D403C E86F200100              call 008E60B0
:008D4041 59                      pop ecx
:008D4042 59                      pop ecx
:008D4043 6880454000              push 00404580
:008D4048 56                      push esi

* Possible StringData Ref from Data Obj ->"!std::exception!!std::ios_base::failure!!"
                                  |
:008D4049 68A4899700              push 009789A4
:008D404E E84DCA0100              call 008F0AA0
:008D4053 83C40C                  add esp, 0000000C

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:008D3FFE(C)
|
:008D4056 8B1D5C41A000            mov ebx, dword ptr [00A0415C]
:008D405C 69DB90000000            imul ebx, 00000090
:008D4062 81C36C41A000            add ebx, 00A0416C
:008D4068 89D9                    mov ecx, ebx
:008D406A 83C10C                  add ecx, 0000000C
:008D406D E8CE09B3FF              call 00404A40
:008D4072 83F800                  cmp eax, 00000000
:008D4075 0F859A000000            jne 008D4115
:008D407B 8B7304                  mov esi, dword ptr [ebx+04]
:008D407E 0FB65632                movzx edx, byte ptr [esi+32]
:008D4082 80CA04                  or dl, 04
:008D4085 885632                  mov byte ptr [esi+32], dl
:008D4088 837E2400                cmp dword ptr [esi+24], 00000000
:008D408C 751A                    jne 008D40A8
:008D408E 0FB65E32                movzx ebx, byte ptr [esi+32]
:008D4092 80CB01                  or bl, 01
:008D4095 89F2                    mov edx, esi
:008D4097 83C232                  add edx, 00000032
:008D409A 8995B8FDFFFF            mov dword ptr [ebp+FFFFFDB8], edx
:008D40A0 8B95B8FDFFFF            mov edx, dword ptr [ebp+FFFFFDB8]
:008D40A6 881A                    mov byte ptr [edx], bl

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:008D408C(C)
|
:008D40A8 0FB65633                movzx edx, byte ptr [esi+33]
:008D40AC 0FB64E32                movzx ecx, byte ptr [esi+32]
:008D40B0 0FB6D2                  movzx edx, dl
:008D40B3 0FB6C9                  movzx ecx, cl
:008D40B6 21CA                    and edx, ecx
:008D40B8 80FA00                  cmp dl, 00
:008D40BB 7458                    je 008D4115
:008D40BD 8DBDD4FDFFFF            lea edi, dword ptr [ebp+FFFFFDD4]

* Possible StringData Ref from Data Obj ->"PF@"
                                  |
:008D40C3 C7076C9A9100            mov dword ptr [edi], 00919A6C
:008D40C9 C7075C9A9100            mov dword ptr [edi], 00919A5C
:008D40CF 89FB                    mov ebx, edi
:008D40D1 83C304                  add ebx, 00000004

* Possible StringData Ref from Data Obj ->"ios_base failure in clear"
                                  |
:008D40D4 68A49A9100              push 00919AA4
:008D40D9 E8B21F0100              call 008E6090
:008D40DE 59                      pop ecx
:008D40DF 83C001                  add eax, 00000001
:008D40E2 50                      push eax
:008D40E3 E8E8B70100              call 008EF8D0
:008D40E8 59                      pop ecx
:008D40E9 50                      push eax
:008D40EA 89D8                    mov eax, ebx
:008D40EC 89C1                    mov ecx, eax
:008D40EE E8DD0AB3FF              call 00404BD0
:008D40F3 8B03                    mov eax, dword ptr [ebx]

* Possible StringData Ref from Data Obj ->"ios_base failure in clear"
                                  |
:008D40F5 68A49A9100              push 00919AA4
:008D40FA 50                      push eax
:008D40FB E8B01F0100              call 008E60B0
:008D4100 59                      pop ecx
:008D4101 59                      pop ecx
:008D4102 6880454000              push 00404580
:008D4107 57                      push edi

* Possible StringData Ref from Data Obj ->"!std::exception!!std::ios_base::failure!!"
                                  |
:008D4108 68A4899700              push 009789A4
:008D410D E88EC90100              call 008F0AA0
:008D4112 83C40C                  add esp, 0000000C

* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:008D4075(C), :008D40BB(C)
|
:008D4115 8B1D5C41A000            mov ebx, dword ptr [00A0415C]
:008D411B 8D1CDB                  lea ebx, dword ptr [ebx+8*ebx]
:008D411E 01DB                    add ebx, ebx
:008D4120 8B1CDD7041A000          mov ebx, dword ptr [8*ebx+00A04170]
:008D4127 C6433200                mov [ebx+32], 00
:008D412B 837B2400                cmp dword ptr [ebx+24], 00000000
:008D412F 751A                    jne 008D414B
:008D4131 0FB64B32                movzx ecx, byte ptr [ebx+32]
:008D4135 80C901                  or cl, 01
:008D4138 89DA                    mov edx, ebx
:008D413A 83C232                  add edx, 00000032
:008D413D 8995E0FDFFFF            mov dword ptr [ebp+FFFFFDE0], edx
:008D4143 8B95E0FDFFFF            mov edx, dword ptr [ebp+FFFFFDE0]
:008D4149 880A                    mov byte ptr [edx], cl

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:008D412F(C)
|
:008D414B 0FB65333                movzx edx, byte ptr [ebx+33]
:008D414F 0FB64B32                movzx ecx, byte ptr [ebx+32]
:008D4153 0FB6D2                  movzx edx, dl
:008D4156 0FB6C9                  movzx ecx, cl
:008D4159 21CA                    and edx, ecx
:008D415B 80FA00                  cmp dl, 00
:008D415E 7473                    je 008D41D3
:008D4160 8D85E8FDFFFF            lea eax, dword ptr [ebp+FFFFFDE8]
:008D4166 8985ACFDFFFF            mov dword ptr [ebp+FFFFFDAC], eax
:008D416C 8B85ACFDFFFF            mov eax, dword ptr [ebp+FFFFFDAC]

* Possible StringData Ref from Data Obj ->"PF@"
                                  |
:008D4172 C7006C9A9100            mov dword ptr [eax], 00919A6C
:008D4178 8B85ACFDFFFF            mov eax, dword ptr [ebp+FFFFFDAC]
:008D417E C7005C9A9100            mov dword ptr [eax], 00919A5C
:008D4184 8B9DACFDFFFF            mov ebx, dword ptr [ebp+FFFFFDAC]
:008D418A 83C304                  add ebx, 00000004

* Possible StringData Ref from Data Obj ->"ios_base failure in clear"
                                  |
:008D418D 68A49A9100              push 00919AA4
:008D4192 E8F91E0100              call 008E6090
:008D4197 59                      pop ecx
:008D4198 83C001                  add eax, 00000001
:008D419B 50                      push eax
:008D419C E82FB70100              call 008EF8D0
:008D41A1 59                      pop ecx
:008D41A2 50                      push eax
:008D41A3 89D8                    mov eax, ebx
:008D41A5 89C1                    mov ecx, eax
:008D41A7 E8240AB3FF              call 00404BD0
:008D41AC 8B03                    mov eax, dword ptr [ebx]

* Possible StringData Ref from Data Obj ->"ios_base failure in clear"
                                  |
:008D41AE 68A49A9100              push 00919AA4
:008D41B3 50                      push eax
:008D41B4 E8F71E0100              call 008E60B0
:008D41B9 59                      pop ecx
:008D41BA 59                      pop ecx
:008D41BB 6880454000              push 00404580
:008D41C0 FFB5ACFDFFFF            push dword ptr [ebp+FFFFFDAC]

* Possible StringData Ref from Data Obj ->"!std::exception!!std::ios_base::failure!!"
                                  |
:008D41C6 68A4899700              push 009789A4
:008D41CB E8D0C80100              call 008F0AA0
:008D41D0 83C40C                  add esp, 0000000C

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:008D415E(C)
|
:008D41D3 8B1D5C41A000            mov ebx, dword ptr [00A0415C]
:008D41D9 69DB90000000            imul ebx, 00000090
:008D41DF 81C36C41A000            add ebx, 00A0416C
:008D41E5 89D9                    mov ecx, ebx
:008D41E7 83C10C                  add ecx, 0000000C
:008D41EA 6A08                    push 00000008
:008D41EC 8D8500FEFFFF            lea eax, dword ptr [ebp+FFFFFE00]
:008D41F2 50                      push eax
:008D41F3 E8D804B3FF              call 004046D0
:008D41F8 83F800                  cmp eax, 00000000
:008D41FB 0F85B5000000            jne 008D42B6
:008D4201 8B7304                  mov esi, dword ptr [ebx+04]
:008D4204 0FB65632                movzx edx, byte ptr [esi+32]
:008D4208 80CA04                  or dl, 04
:008D420B 885632                  mov byte ptr [esi+32], dl
:008D420E 837E2400                cmp dword ptr [esi+24], 00000000
:008D4212 751A                    jne 008D422E
:008D4214 0FB65E32                movzx ebx, byte ptr [esi+32]
:008D4218 80CB01                  or bl, 01
:008D421B 89F2                    mov edx, esi
:008D421D 83C232                  add edx, 00000032
:008D4220 8995B4FDFFFF            mov dword ptr [ebp+FFFFFDB4], edx
:008D4226 8B95B4FDFFFF            mov edx, dword ptr [ebp+FFFFFDB4]
:008D422C 881A                    mov byte ptr [edx], bl

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:008D4212(C)
|
:008D422E 0FB65633                movzx edx, byte ptr [esi+33]
:008D4232 0FB64E32                movzx ecx, byte ptr [esi+32]
:008D4236 0FB6D2                  movzx edx, dl
:008D4239 0FB6C9                  movzx ecx, cl
:008D423C 21CA                    and edx, ecx
:008D423E 80FA00                  cmp dl, 00
:008D4241 7473                    je 008D42B6
:008D4243 8D85C8FDFFFF            lea eax, dword ptr [ebp+FFFFFDC8]
:008D4249 8985A8FDFFFF            mov dword ptr [ebp+FFFFFDA8], eax
:008D424F 8B85A8FDFFFF            mov eax, dword ptr [ebp+FFFFFDA8]

* Possible StringData Ref from Data Obj ->"PF@"
                                  |
:008D4255 C7006C9A9100            mov dword ptr [eax], 00919A6C
:008D425B 8B85A8FDFFFF            mov eax, dword ptr [ebp+FFFFFDA8]
:008D4261 C7005C9A9100            mov dword ptr [eax], 00919A5C
:008D4267 8B9DA8FDFFFF            mov ebx, dword ptr [ebp+FFFFFDA8]
:008D426D 83C304                  add ebx, 00000004

* Possible StringData Ref from Data Obj ->"ios_base failure in clear"
                                  |
:008D4270 68A49A9100              push 00919AA4
:008D4275 E8161E0100              call 008E6090
:008D427A 59                      pop ecx
:008D427B 83C001                  add eax, 00000001
:008D427E 50                      push eax
:008D427F E84CB60100              call 008EF8D0
:008D4284 59                      pop ecx
:008D4285 50                      push eax
:008D4286 89D8                    mov eax, ebx
:008D4288 89C1                    mov ecx, eax
:008D428A E84109B3FF              call 00404BD0
:008D428F 8B03                    mov eax, dword ptr [ebx]

* Possible StringData Ref from Data Obj ->"ios_base failure in clear"
                                  |
:008D4291 68A49A9100              push 00919AA4
:008D4296 50                      push eax
:008D4297 E8141E0100              call 008E60B0
:008D429C 59                      pop ecx
:008D429D 59                      pop ecx
:008D429E 6880454000              push 00404580
:008D42A3 FFB5A8FDFFFF            push dword ptr [ebp+FFFFFDA8]

* Possible StringData Ref from Data Obj ->"!std::exception!!std::ios_base::failure!!"
                                  |
:008D42A9 68A4899700              push 009789A4
:008D42AE E8EDC70100              call 008F0AA0
:008D42B3 83C40C                  add esp, 0000000C

* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:008D41FB(C), :008D4241(C)
|
:008D42B6 8B1D5C41A000            mov ebx, dword ptr [00A0415C]
:008D42BC 8D1CDB                  lea ebx, dword ptr [ebx+8*ebx]
:008D42BF 01DB                    add ebx, ebx
:008D42C1 8B14DD7041A000          mov edx, dword ptr [8*ebx+00A04170]
:008D42C8 0FB65232                movzx edx, byte ptr [edx+32]
:008D42CC 0FB6C2                  movzx eax, dl
:008D42CF 83E004                  and eax, 00000004
:008D42D2 3C00                    cmp al, 00
:008D42D4 740D                    je 008D42E3
:008D42D6 B800000000              mov eax, 00000000
:008D42DB 8D65F4                  lea esp, dword ptr [ebp-0C]
:008D42DE 5F                      pop edi
:008D42DF 5E                      pop esi
:008D42E0 5B                      pop ebx
:008D42E1 5D                      pop ebp
:008D42E2 C3                      ret



* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:008D42D4(C)
|
:008D42E3 8B1D5C41A000            mov ebx, dword ptr [00A0415C]
:008D42E9 8D1CDB                  lea ebx, dword ptr [ebx+8*ebx]
:008D42EC 01DB                    add ebx, ebx
:008D42EE 8B14DD7041A000          mov edx, dword ptr [8*ebx+00A04170]
:008D42F5 0FB65232                movzx edx, byte ptr [edx+32]
:008D42F9 0FB6C2                  movzx eax, dl
:008D42FC 83E001                  and eax, 00000001
:008D42FF 3C00                    cmp al, 00
:008D4301 740D                    je 008D4310
:008D4303 B800000000              mov eax, 00000000
:008D4308 8D65F4                  lea esp, dword ptr [ebp-0C]
:008D430B 5F                      pop edi
:008D430C 5E                      pop esi
:008D430D 5B                      pop ebx
:008D430E 5D                      pop ebp
:008D430F C3                      ret



* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:008D4301(C)
|
:008D4310 8B1D5C41A000            mov ebx, dword ptr [00A0415C]
:008D4316 8D1CDB                  lea ebx, dword ptr [ebx+8*ebx]
:008D4319 01DB                    add ebx, ebx
:008D431B 8B14DD7041A000          mov edx, dword ptr [8*ebx+00A04170]
:008D4322 0FB65232                movzx edx, byte ptr [edx+32]
:008D4326 0FB6C2                  movzx eax, dl
:008D4329 83E002                  and eax, 00000002
:008D432C 3C00                    cmp al, 00
:008D432E 740D                    je 008D433D
:008D4330 B800000000              mov eax, 00000000
:008D4335 8D65F4                  lea esp, dword ptr [ebp-0C]
:008D4338 5F                      pop edi
:008D4339 5E                      pop esi
:008D433A 5B                      pop ebx
:008D433B 5D                      pop ebp
:008D433C C3                      ret



* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:008D432E(C)
|
:008D433D 8B1D5C41A000            mov ebx, dword ptr [00A0415C]
:008D4343 69DB90000000       


howto-create-crack/code.txt

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0059ED19(U)
|
:0059ED47 83BDD8FDFFFF06          cmp dword ptr [ebp+FFFFFDD8], 00000006
:0059ED4E 7CCB                    jl 0059ED1B
:0059ED50 FF85DCFDFFFF            inc dword ptr [ebp+FFFFFDDC]

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0059ED0D(U)
|
:0059ED56 83BDDCFDFFFF31          cmp dword ptr [ebp+FFFFFDDC], 00000031
:0059ED5D 7CB0                    jl 0059ED0F
:0059ED5F 68BC45FF07              push 07FF45BC

* Possible StringData Ref from Data Obj ->"FIDELITY BUILD.txt"
                                  |
:0059ED64 68AA209600              push 009620AA
:0059ED69 E8E26AEBFF              call 00455850
:0059ED6E 59                      pop ecx
:0059ED6F 59                      pop ecx
:0059ED70 68B047FF07              push 07FF47B0

* Possible StringData Ref from Data Obj ->"X-System 7.00 Beta-0 For Macintosh.sit"
                                  |
:0059ED75 68BD209600              push 009620BD
:0059ED7A E8D16AEBFF              call 00455850
:0059ED7F 59                      pop ecx
:0059ED80 59                      pop ecx
:0059ED81 E82AD3ECFF              call 0046C0B0
:0059ED86 C785D4FDFFFF00000000    mov dword ptr [ebp+FFFFFDD4], 00000000
:0059ED90 C785D0FDFFFF00000000    mov dword ptr [ebp+FFFFFDD0], 00000000
:0059ED9A 6A01                    push 00000001
:0059ED9C 68B047FF07              push 07FF47B0
:0059EDA1 E8DA513300              call 008D3F80
:0059EDA6 59                      pop ecx
:0059EDA7 59                      pop ecx
:0059EDA8 8985D4FDFFFF            mov dword ptr [ebp+FFFFFDD4], eax
:0059EDAE 83BDD4FDFFFF00          cmp dword ptr [ebp+FFFFFDD4], 00000000
:0059EDB5 7514                    jne 0059EDCB
:0059EDB7 6A01                    push 00000001
:0059EDB9 68BC45FF07              push 07FF45BC
:0059EDBE E8BD513300              call 008D3F80
:0059EDC3 59                      pop ecx
:0059EDC4 59                      pop ecx
:0059EDC5 8985D0FDFFFF            mov dword ptr [ebp+FFFFFDD0], eax

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0059EDB5(C)
|
:0059EDCB B200                    mov dl, 00
:0059EDCD 83BDD0FDFFFF00          cmp dword ptr [ebp+FFFFFDD0], 00000000
:0059EDD4 750B                    jne 0059EDE1
:0059EDD6 83BDD4FDFFFF00          cmp dword ptr [ebp+FFFFFDD4], 00000000
:0059EDDD 7502                    jne 0059EDE1
:0059EDDF B201                    mov dl, 01

* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:0059EDD4(C), :0059EDDD(C)
|
:0059EDE1 0FB6D2                  movzx edx, dl
:0059EDE4 8915288B4B03            mov dword ptr [034B8B28], edx
:0059EDEA 8B85D0FDFFFF            mov eax, dword ptr [ebp+FFFFFDD0]
:0059EDF0 A38C4C3F03              mov dword ptr [033F4C8C], eax

* Possible StringData Ref from Data Obj ->"Will init gen."
 


howto-create-crack/howto.txt

How-to crack X-Plane 7.00 Beta-2
Used disassembler W32Dasm version 8.9

1) disasemble X-Plane 670 B2.exe
2) find string "FIDELITY BUILD.txt" - is in the location code.txt :0059ED5F
3) function called from addres :0059EDA1 - call 008D3F80 is function, that returns in register EAX "00000000", if not in the CD-ROM original CD and non zero value, if found in CD-ROM original CD.
4) is demand ensure, that the function "function.txt" always returns in register EAX non zero value.
5) return from this function is possible from this addreses :008D42E2, :008D430F, :008D433C and more. In first time clear instruction je 008D42E3 (don't jump to another test code) and always return non zero value. Replace clearing register eax  : mov eax, 00000000 <- mov eax, 00000001.
6) in this location :008D42D4 is demand this code: "740D je 008D42E3 , B800000000 mov eax, 00000000" replace this new code: "9090 -- nop, nop  , B801000000 mov eax, 00000001"
7) In hexaeditor is this code at there position 4D36D4  replace this "74 0D B8 00" herewith : "90 90 B8 01".

thats all; 




howto-crack.txt

Copy "X-Plane 700 Beta-2 crack.exe" to your directory contains file "X-Plane 670 B2.exe".
Run "X-Plane 700 Beta-2 crack.exe".
Use button "Patch".

thats all;      http://cracker.bohemian.net/


# 0 1 2 3 4 5 6 7 8 9 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z