[code] Сбылась мечта идиота, и я карту ViaSat Eurocrypt-M c ATR 3F 67 2F 00 11 14 00 03 68 90 00 превратил в пиратку PC2.3/2.4 c ATR 3F 77 18 25 00 80 14 00 66 68 90 00 Вот изменение проделанное в нулевой странице PROM : 0100 : 33 00 00 00 64 FF 00 00 35 DB 4A F8 EE CB 44 FF ^^ - включен первый баг-кятчер А вот что залито в первую страницу PROM (прошивка на 14 провайдеров 010C30 01AC00 015000 015400 019410 010C40 011C00 00A000 009C00 007400 007800 007C00 008000 00B000 без AU и ремоута, но с возможностью обновления ключей дошиванием PROM) : 0100 : FF FF FF FF C6 01 09 27 03 CC 09 89 FF 00 AD 00 0110 : AD 00 CD 1D D5 9F CD 1D D5 AE FB CD 1D 74 B6 A4 0120 : F7 5C 26 F7 08 FB 06 BE FE BD FB 20 E5 BD FB CD 0130 : 1D D5 5C 3A FF 26 F6 20 D9 FF FF FF FF FF FF FF 0140 : FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 0150 : FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 0160 : FF FF FF FF FF FF FF FF FF FF FF FF 4A 26 FD 81 0170 : AD FA 11 00 A6 01 3C 83 58 39 00 BB 00 3C 83 58 0180 : 39 00 BB 00 7D 58 39 00 BB 00 3C 83 58 39 00 BB 0190 : 00 7D 58 39 00 BB 00 3C 83 58 39 00 BB 00 7D 58 01A0 : 39 00 BB 00 3C 83 58 39 00 BB 00 7D 5F B7 00 7D 01B0 : 7D BE 82 10 00 11 04 81 B6 89 BF 82 43 97 10 00 01C0 : 10 04 A6 17 0E 80 A9 A6 6E AD A1 10 84 A6 09 B7 01D0 : 83 98 59 9F B7 00 B8 84 B7 84 A6 18 AD 8E 7D 3A 01E0 : 83 26 EF BE 84 A6 1A BF 00 AD 81 20 C2 00 00 FD 01F0 : BF 82 4F AE 09 49 9D 00 00 00 5A 26 F8 43 BE 82 0200 : 81 0E 80 E9 00 00 FD BF 82 A6 29 AD 13 A6 09 B7 0210 : 83 59 00 00 00 A6 1A AD 07 3A 83 26 F4 9F 20 DD 0220 : 4A 26 FD 81 B7 9B F6 AD 91 5C 3A 9B 26 F8 81 B7 0230 : 9B AD CE F7 5C 3A 9B 26 F8 81 01 80 08 CD 01 B8 0240 : 20 BF 00 80 BC BE 86 F6 3C 86 81 68 66 00 14 80 0250 : 00 25 18 77 3F AD 02 20 04 BF 95 B7 93 AD 00 AD 0260 : 00 BD 92 3C 93 3C 95 81 1A 29 24 13 8A 41 2B 23 0270 : 12 11 44 19 4A 83 22 1B 81 89 21 14 2A 49 8B 42 0280 : 4E 46 47 15 8C 1C 16 87 2D 1F 45 8F 86 17 2C 8D 0290 : 2E 2F 4C 1D 27 8E 85 1E D7 1D 2D F8 8E DB 43 85 02A0 : 60 A6 F6 3F B9 70 1A 43 A1 C4 92 57 38 62 E5 BC 02B0 : 5B 01 0C EA C4 9E 7F 29 7A 23 B6 1F 49 E0 10 76 02C0 : 9C 4A CB A1 E7 8D 2D D8 0F F9 61 C4 A3 95 DE 0B 02D0 : F5 3C 32 57 58 62 84 BE 4A DD B0 07 29 B0 EE 79 02E0 : F6 43 03 94 8F 16 D5 AA 31 E2 CD 38 9C 55 77 CE 02F0 : 5B 2C A4 FB 62 8F 18 61 1D 61 46 BA B4 DD D9 80 0300 : C8 16 3F 49 73 A8 E0 77 AB 94 F1 5F 62 0E 8C F3 0310 : 05 EB 5A 25 9E 32 27 CC 2E E0 C4 BF 4D 27 11 C4 0320 : 72 4E AF 72 BB DD 68 11 83 5A 5A 06 36 FC FC AB 0330 : D5 39 09 95 E0 83 97 68 44 BF 21 8C 1E C8 B8 72 0340 : AD 14 D6 E9 72 21 8B D7 FF 65 9C FB C9 03 57 9E 0350 : 63 AA 3A 40 05 56 E0 3D CF A3 11 FD A8 44 FE 27 0360 : 96 7F 2B C2 63 98 84 5E 09 6C D7 10 32 D1 4D EA 0370 : EC 06 70 B9 55 3B BA 85 90 4D EE 38 F7 2A 5B C1 0380 : 2A 93 84 5F CD F4 31 A2 75 BB 08 E6 4C 17 A6 7C 0390 : 19 60 D3 05 B2 8E 6F D9 B7 83 BF 84 4F AE 08 34 03A0 : 83 24 02 BB 84 46 36 82 5A 26 F4 97 B6 82 81 00 03B0 : B6 90 B8 8F B7 8D A6 AF B8 8F 05 8D 02 A8 07 97 03C0 : B6 8F A4 03 B7 82 B8 8D 05 8D 02 A8 07 BB 82 A5 03D0 : 04 26 1B F6 B7 8E BE 8F E6 B8 B7 8D 9F A8 04 97 03E0 : E6 B8 BE 8E AD B2 B8 8D BE 90 E8 A8 E7 A8 81 A6 03F0 : 07 B7 90 A6 07 B7 8F AD B7 3A 8F 04 8F F9 3A 90 0400 : 2A F1 3F 90 3F 8F AD A8 3C 8F 05 8F F9 3C 90 07 0410 : 90 F2 81 BE 88 A3 EA 26 1D B7 82 5F 01 B7 0A AE 0420 : A5 A6 F0 B5 B7 26 02 AE 5A 9F BE 85 F4 B8 82 BE 0430 : 87 F7 3C 87 B6 82 BE 85 F8 F7 3C 85 09 85 27 01 0440 : 80 05 A6 60 CD 01 BA AD A6 A6 0F B7 8A 20 32 06 0450 : B3 00 17 B3 39 B6 39 B5 39 B4 39 B3 39 B2 39 B1 0460 : 39 B0 24 02 18 B3 81 A6 AC AE A8 CD 02 59 A6 9C 0470 : CD 02 5B B6 8A 27 0A A1 07 27 06 A1 0E 27 02 AD 0480 : CE AD CC B6 AC BE B7 CD 03 98 BB AC 24 01 5C BB 0490 : B7 24 01 5C BF 9B B0 9B A9 00 B7 9B 3F 8B 3F 9C 04A0 : 3F 9D 3F 9E 3F 9F 0E AE 00 B6 AD 49 CD 05 DA CD 04B0 : 05 D0 44 36 9C 44 36 9D 07 82 02 1C 9F 05 82 02 04C0 : 18 9E 00 9B 00 B6 AD CD 05 D7 CD 05 CE 07 82 02 04D0 : 10 9E 05 82 02 12 9D 03 82 02 14 9F 01 82 02 14 04E0 : 9C 00 AF 00 B6 9B CD 05 D7 CD 05 CA 07 82 00 36 04F0 : 9D 05 82 02 1E 9E 03 82 02 12 9E 01 82 02 12 9F 0500 : 0E AD 00 B6 9B 49 CD 05 DA CD 05 CC 07 82 02 16 0510 : 9D 05 82 02 18 9F 03 82 02 1C 9C 01 82 02 1C 9E 0520 : 0E 9B 00 B6 AF 49 CD 05 DA CD 05 D0 2A 02 16 9C 0530 : 0D 82 02 1A 9F 0B 82 02 12 9D 09 82 02 16 9E 00 0540 : AE 00 B6 AF CD 05 D7 CD 05 CE 2A 02 10 9F 0D 82 0550 : 02 18 9D 0B 82 02 14 9E 09 82 02 12 9C 00 AD 00 0560 : B6 AE AD 73 AD 64 2A 02 10 9C 0D 82 02 14 9D 0B 0570 : 82 02 1E 9F 09 82 02 1A 9C 0E AF 00 B6 AE 49 AD 0580 : 59 AD 49 2A 02 18 9C 0D 82 02 16 9F 0B 82 02 1A 0590 : 9D 09 82 02 1A 9E B6 9C 03 80 05 97 B6 9D BF 9D 05A0 : B8 A8 B7 9C AE 9D F6 B8 A9 F7 5C F6 B8 AA F7 5C 05B0 : F6 B8 AB F7 3A 8A 2B 03 CC 04 67 A6 9C AE A8 CD 05C0 : 02 59 CD 03 EF A6 A8 B7 85 81 AA 40 AA 80 A8 40 05D0 : 97 D6 02 98 B7 82 81 46 44 44 B7 82 A6 04 B7 8E 05E0 : BE 8B D6 02 68 3C 8B B7 8D A4 07 97 E6 AF 07 8D 05F0 : 04 48 48 48 48 B4 8D AB F0 39 8E 24 E3 B6 8E B8 0600 : 82 A4 3F 81 10 20 00 BF 1F 01 0F 05 00 01 02 03 0610 : 04 05 06 07 08 07 00 00 00 0E 00 00 00 0E 10 02 0620 : CA 20 11 08 45 74 68 65 72 65 61 6C 23 3A 42 4D 0630 : 57 5F 67 71 7B 86 93 97 A6 AE 07 52 54 56 20 49 0640 : 6E 74 0A 54 50 53 20 46 72 61 6E 63 65 09 47 6C 0650 : 6F 62 65 43 61 73 74 07 4E 54 56 20 4D 69 72 07 0660 : 56 69 61 73 61 74 33 09 45 75 72 6F 53 70 6F 72 0670 : 74 09 42 42 43 20 50 72 69 6D 65 0A 53 56 54 20 0680 : 45 75 72 6F 70 65 0C 43 46 49 20 50 65 63 6F 20 0690 : 50 72 6F 03 43 53 46 0E 53 70 69 63 65 20 50 6C 06A0 : 61 74 69 6E 75 6D 07 46 54 43 61 62 6C 65 08 53 06B0 : 6C 6F 76 65 6E 69 61 01 0C 38 01 AC 08 01 50 08 06C0 : 01 54 08 01 94 18 01 0C 48 01 1C 08 00 A0 08 00 06D0 : 9C 08 00 74 08 00 78 08 00 7C 08 00 80 08 00 B0 06E0 : 08 55 24 02 04 06 AC B8 F0 18 C0 A4 F8 88 1F 09 06F0 : 00 00 00 A6 FF AD 35 CD 01 B8 B6 8A AD 2E B6 8B 0700 : AD 2A 1E 80 20 64 B6 88 A8 AB BA 8A BA 8B BA 8C 0710 : 26 76 CD 02 20 CC 0F DC A3 0A 24 03 CD 01 B8 AD 0720 : 00 D6 09 5D B7 FE D6 09 6A B7 FF 81 CC 01 BA C6 0730 : 06 F0 27 0C AE 04 D6 06 EE E7 E0 5A 2A F8 BC E0 0740 : A6 D6 B7 97 A6 B6 B7 92 4C B7 94 A6 81 B7 96 AE 0750 : 09 D6 02 4B AD D6 CD 02 20 5A 2A F5 A6 06 B7 98 0760 : A6 90 AD C8 B6 80 A4 08 AD C2 AE 88 A6 04 CD 0F 0770 : EF 3C 88 27 FE CD 02 01 B7 8C 17 80 B6 89 AE 0C 0780 : D1 06 E1 27 93 5A 2A F8 A6 6D 20 D6 02 8A 57 3F 0790 : 81 05 8A C8 CD 02 3D CD 02 01 B7 88 CD 02 01 B7 07A0 : 89 5F 5C D6 06 B7 5C B1 88 26 09 D6 06 B7 A4 F0 07B0 : B1 89 27 A8 3C 81 5C A3 2A 25 E7 20 31 B6 8A B7 07C0 : 91 A1 06 27 0D A1 08 27 09 A1 A7 27 05 44 A1 52 07D0 : 26 10 18 80 3A 8C 2B 84 CD 02 01 03 89 F6 A1 40 07E0 : 26 F2 16 80 20 EE 3C 81 B6 81 A1 0E 25 04 16 80 07F0 : 3F 81 CC 07 5C 09 80 04 B6 91 AD 20 B6 8C 4A 27 0800 : 02 16 80 A6 09 0F 91 21 A6 0B 01 91 1C A6 10 03 0810 : 91 17 BE 81 D6 06 2C 20 10 BD 97 5C 3A 8C CC 01 0820 : BA A6 1D 20 02 A6 15 19 80 B7 99 5F BD 97 B7 88 0830 : 3A 8C 09 80 03 CD 08 1C 19 80 0E 8C B5 A6 FF 3D 0840 : 88 27 F2 3A 88 5C BD 97 20 EB B6 8C A1 12 26 11 0850 : A6 EA AD CA A6 10 AD C6 AE A0 A6 10 CD 02 24 20 0860 : 91 B6 81 48 BB 81 AB B7 B7 99 5F AD AC AD AA AD 0870 : A8 A6 04 20 B2 AD 65 A1 F0 27 27 B7 88 CD 04 36 0880 : AD 5A B7 8C CD 04 36 3A 8C 2B EA AD 4F CD 04 13 0890 : 20 F5 AD 68 AD 46 CD 04 36 3A 8C 26 F7 CD 04 3F 08A0 : 20 BD CD 04 3F 33 89 AD 33 A6 A8 B7 8C CD 02 42 08B0 : BE 8C F1 27 02 16 80 3C 8C 09 8C F1 13 80 3D B7 08C0 : 27 19 B6 B0 B7 8D B6 B1 B7 8E A6 B2 AE B0 CD 02 08D0 : 59 BD 92 B6 8D B7 B5 B6 8E B7 B6 81 CC 02 3A AD 08E0 : 1B AD 92 A6 C0 AE A8 CD 02 55 CD 04 3F AE A0 CD 08F0 : 02 55 A6 C8 CD 02 5B CD 02 5D 20 A1 3A 8A 27 07 0900 : AE 07 6F A8 5A 2A FB A6 0A B7 98 3F 99 5F BD 97 0910 : 27 2A 3F 93 B7 82 A4 0F B1 8B 26 0A B6 82 44 44 0920 : 44 44 B1 81 27 0D B6 99 AB 11 B7 99 4F B9 98 B7 0930 : 98 20 DB AE 10 BD 97 E7 AF 5A 26 F9 12 80 10 80 0940 : AE C0 BF 86 BF 87 B6 8C A1 33 25 05 33 89 CC 05 0950 : C5 B7 9B CD 01 B8 CD 02 31 11 80 20 F1 07 07 07 0960 : 08 08 07 07 07 07 08 07 08 08 06 D4 D4 25 21 BD 0970 : F5 D4 D4 4A 8C 92 DF C6 09 7C 27 03 00 00 00 CC 0980 : 07 2F 00 00 00 00 00 00 00 20 EC 00 00 00 00 00 0990 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 09A0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 09B0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 09C0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 09D0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 09E0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 09F0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0A00 : 08 7D 8E E8 85 F9 87 7E 37 00 00 00 00 00 00 00 0A10 : 00 18 42 11 97 DE AA 06 37 EF 8B FC 7E 7A 15 AC 0A20 : 97 D9 1F 60 5D FA 9C 0C 6B 4C 35 7F 63 69 96 1F 0A30 : 3E 28 A1 28 B9 A6 A0 07 02 5F 90 6D DC ED CC A3 0A40 : F4 E1 50 CD 38 F3 B6 BA 2B 86 12 07 EF 2E EC 32 0A50 : 10 1E BC CC 61 48 BE E9 EE 68 7D 6C 03 97 87 49 0A60 : A4 FE 32 B5 67 D2 58 C9 DF A9 D6 7B 94 17 85 00 0A70 : 00 00 00 00 00 00 00 68 73 33 CB 32 2D EA A5 E5 0A80 : 00 00 00 00 00 00 00 00 78 69 26 CA 06 E0 FC DE 0A90 : 39 00 00 00 00 00 00 00 00 7A 45 C0 1B 14 97 12 0AA0 : D6 65 00 00 00 00 00 00 00 00 88 2B 5A 05 03 F8 0AB0 : 43 23 54 00 00 00 00 00 00 00 00 8C 37 EA 1A 0C 0AC0 : 29 A6 32 27 00 00 00 00 00 00 00 00 98 2F B6 02 0AD0 : 39 D4 D8 C4 D6 00 00 00 00 00 00 00 00 A8 5B 14 0AE0 : 1E 38 9C 46 24 5F 00 00 00 00 00 00 00 00 AA 71 0AF0 : 15 CE 2E F8 36 42 20 00 00 00 00 00 00 00 00 B8 0B00 : AF AA 50 AC BB D8 26 3B 00 00 00 00 00 00 00 00 0B10 : BB 4F C0 61 86 E4 8C 35 7C 00 00 00 00 00 00 00 0B20 : 00 C8 8B E3 AA 25 9E 56 38 33 00 00 00 00 00 00 0B30 : 00 00 D8 98 34 03 60 02 33 73 60 00 00 00 00 00 0B40 : 00 00 00 DB 4E 95 54 9C 58 B6 A1 57 00 00 00 00 0B50 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0B60 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0B70 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0B80 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0B90 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0BA0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0BB0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0BC0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0BD0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0BE0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0BF0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0C00 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0C10 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0C20 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0C30 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0C40 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0C50 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0C60 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0C70 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0C80 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0C90 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0CA0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0CB0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0CC0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0CD0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0CE0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0CF0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0D00 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0D10 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0D20 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0D30 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0D40 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0D50 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0D60 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0D70 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0D80 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0D90 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0DA0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0DB0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0DC0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0DD0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0DE0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0DF0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0E00 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0E10 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0E20 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0E30 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0E40 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0E50 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0E60 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0E70 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0E80 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0E90 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0EA0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0EB0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0EC0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0ED0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0EE0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0EF0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0F00 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0F10 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0F20 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0F30 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0F40 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0F50 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0F60 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0F70 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0F80 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0F90 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0FA0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0FB0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0FC0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0FD0 : 00 00 00 00 00 00 00 00 00 00 00 00 AD 00 CC 01 0FE0 : 0E 9C CD 02 2F 3C 88 27 03 CC 07 75 CC 06 F3 20 0FF0 : F0 CC 01 04 00 00 00 00 BF CE A4 93 C9 00 00 00 ^^^^^^^^ - вектор первого баг-кятчера 1000 : E9 24 92 52 E9 24 92 4A E9 24 92 00 E9 24 92 54 1010 : E9 24 92 00 CA A8 00 00 D5 50 00 00 D4 95 20 00 1020 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 1030 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 1040 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 1050 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 1060 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 1070 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 1080 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 1090 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 10A0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 10B0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 10C0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 10D0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 10E0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 10F0 : 00 00 00 00 00 00 00 00 00 00 00 00 2D 00 55 00 ОСОБЕННОСТИ СОЗДАНИЯ ПИРАТКИ 1.) Этой карте для программирования нужно 15 вольт. Оказалось, что 12-ю вольтами она не прошивается. Я использовал 17 вольт, получая их так - я брал 12 вольт от компьютера и последовательно с ними включал 5 вольт от первого, попавшего под руку БП. То-есть соединял их тандемом. Ток ограничивал 100-омным сопротивлением. Напряжение программирования включал кратковременно, только на момент прошивания байт. Ну и работал с картой глитчером. 2.) Поскольку в этой карте однократно-программируемый PROM, то прошивку я не заливал, а СОБИРАЛ. Положил в карту свою операционную систему, потом укладывал подпрограмму, тестировал ее. Если подпрограмма с ошибкой, то смотрел - можно ли ее пропатчить дозаписью и заглушкой на ошибку. Если невозможно, то просто забивал это место до FF-ов. Если возможно - патчил. И так, подпрограмму за подпрограммой, подгонял код друг-другу. Так и собрал. Получилась ручная работа, поскольку возможности записать, потестировать и стереть на этой карте нет. Цена любой программной ошибки - безвозвратно потерянные ячейки PROM, которых у карты не так уж и много. 3.) FF FF FF FF по адресам 100..103 - это я по ошибке код записал инверсно, а потом просто задолбил эти ячейки до FF-ов 4.) Толпа FF-ов 139..16B - это уничтоженная подпрограмма с ошибкой, которую запатчить было невозможно. Типа скрыл свой позор под FF-ами. 5.) По адресу 912 ошибочная команда 2B 12, т.е. bmi $926 была дошита до ничего значимого не делающей 3F 93, т.е. clr $93. 6.) FE1-FF0 с точкой входа FEF - это удачная заглушка на ошибку в коде (я с дуру залил в карту s19-файл, когда ассемблер закончил компиляцию с Errors : 1 - условный переход не дотянулся до метки и ассеблер залепил 773 : 27 FE). То-есть я умудрился залить главный цикл и обработчики команд в OTP-карту, после компиляции с ошибкой ! Ну и идиот. Странно, но потом извернулся этот кривой код пропатчить дозаписью и заглушкой. 7.) FDC-FE1 и 989-98A - это патч после того, как я угробил операционную систему. Когда осталось только по адресам 10A-10B записать адрес точки старта аппликации, а потом по адресу 109 прописать CC для ее активации, я ошибся в адресе на байт и нечаянно AD по адресу 10C дописал до FF. ;-( Операционка была угроблена - при ее старте вместо трех AD 00, выполнялась только одна и какую бы команду я ни вводил - ее первых три байта просто засирались стеком. Я чуть не поседел - опять за МИГ до победы угробил результат четырехдневного труда. Такое со мной уже второй раз ! Но оказалось, что не все потеряно !!! ;-))) Ошметки операционки удалось оживлять командой 00 00 00 20 0E ;-) На счастье я уложил операционку с адреса 104 - рядом с ОЗУ ! ;-) При подаче команды 00 00 00 20 0E в ОЗУ выполнялась команда FB : C0 01 1E 20 0E, где C0 - второй байт от адреса возврата 1DC0 от вызова Delay_A внутри ROM-овой процедуры RECV. 01 1E - адрес возврата от вызова процедуры RECV в моей OC. 20 0E - незатирающаяся стеком часть моей команды В результате исполнения FB : C0 01 1E sub $11E FE : 20 0E bra loc_10E управление прыгало адрес 10E, т.е. как раз на недостающую парочку AD 00 AD 00 на входе ОС. В итоге указатель стека исправлялся на нужное для нормальной работы ОС значение. Весьма остроумное лечение ;-) Короче, когда в карте уже был активирован баг-кятчер и при старте получала управление моя ОС, я умудрился засрать ОС, но потом оказалось, что можно хитро извернуться и оживить эту убитую ОС всего единственной командой. ;-) В итоге я наложил удачные патчи и на ОС и на аппликацию (поправил отпрыг в ОС из аппликации через предусмотренную для этого в прошивке команду AA 55 00 00 00). В общем, когда успокоился, то все и исправил. Но прошивка в итоге вышла весьма смутной по обилию джампов туда-сюда. 8.) Оказалось, что в этой карте тактовая частота первым делом делится пополам и получившиеся после растактовки соответствуют стандартным Моторольским (совпадающим с растактовками у st19). Поэтому карта дюже медленно работает (медленнее голдвафера) и подпрограммы ввода-вывода на скорости 115200 у такой медленной карты являются предметом моей гордости ;-))) Проверены на Samsung-9400 и Самсунгу нравятся ;-))) 9.) В карте ключи разполагаются в своего рода файловой системе. Ключи размещаются не на фиксированных местах, а лежат навалом в произвольном порядке. Перед каждым ключом стоит дескриптор, который ст.ниблом имеет номер провайдера, а мл.ниблом - номер ключа. Если в дескрипторе дописать ст.нибл до F, то ключ становится не активным и можно положить в карту еще одну запись с новым значением этого ключа. Так решается вопрос смены ключей на OTP-карте. Ремоут и лоадер я не вставлял так-как нынешние ресиверы напряжения программирования на карту не подают. ПРИЛОЖЕНИЕ Процедуры ввода вывода (написаны для скорости 115200 бод просто на грани возможного) : ; Тактовая частота предварительно делится MCU Motorola 68hc05sc21 на два. ; Ниже - растактовки, получающиеся уже ПОСЛЕ этого. IOPORT EQU 0 DDIO EQU 4 Flags equ $80 ;Нулировано при старте ; Bit 7 : 0/1 = 9600/115200 baud ACC equ $82 ;Самая временная переменная RxTx_Cnt equ $83 Tx_Parity equ $84 RECV: BRSET 7, Flags, RECV_115200 RECV_9600: BRSET 0, IOPORT, * ;5t STX ACC ;4t LDA #41 ;2t BSR Delay_A ;6t + 6t + a*6t LDA #9 ;2t STA RxTx_Cnt ;4t recv_9600_: ROLX ;3t BRSET 0, IOPORT, *+3 ;5t LDA #26 ;2t BSR Delay_A ;6t + 6t + a*6t DEC RxTx_Cnt ;5t BNE recv_9600_ ;3t TXA ;2t BRA recv_rts ;3t RECV_115200: BRSET 0, IOPORT, * ;5t STX ACC ;4t CLRA ;3t LDX #9 ;2t recv_115200_: ROLA ;3t NOP ;2t BRSET 0, IOPORT, *+3 ;5t DECX ;3t BNE recv_115200_ ;3t recv_rts: COMA ;3t LDX ACC ;3t RTS ;6t Delay_A: DECA ;3t BNE Delay_A ;3t RTS ;6t SEND: STX ACC ;4t COMA ;3t TAX ;2t BSET 0, IOPORT ;5t BSET 0, DDIO ;5t LDA #$16 ;2t BRSET 7, Flags, SEND_115200 ;5t LDA #$6E ;2t BSR Delay_A ;6t + 6t + a*6t BSET 0, Tx_Parity ;5t LDA #9 ;2t STA RxTx_Cnt ;4t CLC ;2t send_9600_: ROLX ;3t TXA ;2t STA IOPORT ;4t EOR Tx_Parity ;3t STA Tx_Parity ;4t LDA #24 ;2t BSR Delay_A ;6t + 6t + a*6t TST ,X ;4t dummy DEC RxTx_Cnt ;5t BNE send_9600_ ;3t LDX Tx_Parity ;3t LDA #26 ;2t STX IOPORT ;4t BSR Delay_A ;6t + 6t + a*6t BRA send_rts ;3t SEND_115200: BSR Delay_A ;6t + 6t + a*6t BCLR 0, IOPORT ;5t Start bit LDA #1 ;2t INC RxTx_Cnt ;5t LSLX ;3t ROL IOPORT ;5t Bit 7 ADD IOPORT ;3t INC RxTx_Cnt ;5t LSLX ;3t ROL IOPORT ;5t Bit 6 ADD IOPORT ;3t TST ,X ;4t dummy LSLX ;3t ROL IOPORT ;5t Bit 5 ADD IOPORT ;3t INC RxTx_Cnt ;5t LSLX ;3t ROL IOPORT ;5t Bit 4 ADD IOPORT ;3t TST ,X ;4t dummy LSLX ;3t ROL IOPORT ;5t Bit 3 ADD IOPORT ;3t INC RxTx_Cnt ;5t LSLX ;3t ROL IOPORT ;5t Bit 2 ADD IOPORT ;3t TST ,X ;4t dummy LSLX ;3t ROL IOPORT ;5t Bit 1 ADD IOPORT ;3t INC RxTx_Cnt ;5t LSLX ;3t ROL IOPORT ;5t Bit 0 ADD IOPORT ;3t TST ,X ;4t dummy CLRX ;3t STA IOPORT ;5t Parity send_rts: TST ,X ;4t dummy TST ,X ;4t dummy LDX ACC ;3t BSET 0, IOPORT ;5t Stop bit BCLR 0, DDIO ;5t RTS ;6t [/code]