Déchiffrer PDF417 sans invites


Faites-vous attention aux informations encodées? Toutes ces touches infinies, QR et autres codes qui se produisent littéralement à chaque étape. Marchandises dans les magasins, reçus de caisse, panneaux avec informations pour les touristes, reçus pour les factures de services publics, etc.


Aujourd'hui, je veux parler d'un code qui peut être régulièrement vu dans les aéroports, ou plus précisément - sur les cartes d'embarquement. Le héros de cette histoire est PDF417. Voyons voir si un tel code peut être déchiffré manuellement et sans invites. De quelles informations avez-vous besoin pour cela? Combien de temps cela prendra? Tout cela et bien plus vous attendent dans cette publication. Commençons!


Attention, sous la coupe - 30 images avec une taille totale de 16,3 Mo.





Table des matières






01. Introduction et narration


( Précédent | Table des matières | Suivant )


La première question à laquelle je veux immédiatement répondre est "Pourquoi est-ce nécessaire?" La réponse est assez simple - à un moment donné, je m'ennuyais et j'ai pensé. Et après cela, il n'a pas pu s'arrêter.


, PDF417 . , - . , , — , .


, . - , .





02.


( | | )


, PDF417 . , . , .


#01 UIA (. 1). TIFF . — 2 4 . . 6 17 12 . — , — .




. 1. PDF417 (#01)


, , — 4 4 , 17 . — . 17 .


( ) 17 () 18 () . , , . , .


PDF417 (. 2), , . , .




. 2. PDF417 (#01: #05)





03. PDF417


( | | )


, . , . 2 ( ) 4 ( ). , 0 . , 5-6 , .


, ( , ). , :


  • ;
  • , .

. , ( 13 , ), . ( ) ( ).


, , . — 18 . , 19.





04.


( | | )


, , (. 3).


, , — . .


5 14 (0/0: 3/1) 9 (5/2:3, 6/1, 7/0:1, 8/0, 9/1:3). 25 , . , 9/1:3 . , , .


, 14 . , . , — . , — , . , , , . 9 + 1 .


, - . #01, #02 #04 — , PS 0336, #03 #05 — PS 0335. :


  • 4/3: 5/1 (3 );
  • 6/1.

2 - , , . , 6/1 3 .


, #02 #03, #04 #05. 5 3/2: 4/2. — , 6 ( + ).




. 3. #01: #05





05. PDF417


( | | )


. , PS 0336 (#06) PS 0335 / PS 0336 (#07: #10). , #09: #10 , #04: #05. , #06 11 . 5 . 4.


, #06 - . , 3 . 3k+13k+2(k=0,1,2,...). , 4 6 ( 3k, 3k+13k+2). , 3k.


#07: #10 . , . , 14 , , .


#06. , , 13 0/1: 3/1 , . , . .


, , . . , ( ).




. 4. #06: #10





06.


( | | )


, 9 1 . . . , , (. 5).


, 0/1:2 . , . - , 2 . 1 , 11 . 3 — "" ( ) .


2 , . 1/0 1/2 . , , , . .


, 0/3. , , , — . , — 20 , 2 — . .


, , . 5 4 (#04, #05, #09, #10). , 3/2 #07 #08 .


:


  • SNK79J (#01);
  • RUKG4T (#02, #03);
  • LW2BUW (#04, #05, #09, #10);
  • SLRSFS (#06);
  • LWJ2JA (#07, #08).

— LW. 3/2 #01 #06, S. , 1 ( 1 ).


4/3: 5/1 . 3-6 .


, , 6/0:1 (03 36 35). 5/2:3 PS 2 .




. 5. #01: #10 7





07.


( | | )


, . , 8 , 3 , .


6/3, 7/2 8/1 (#02 #07, #03 #08, #04 #09, #05 #10). 7/0:1 8/0 ( #06), 8/3 9/0 , #01 #06.


, , . , / . :


  • (13 );
  • (3- , 3 );
  • ( , , );
  • ;
  • ( );
  • ;
  • ( );
  • ;
  • ( ).

, 13 — . ( , 5 ).


, , , .


— , , . .


PDF417
#01VCE-037VCEKBP4DX
#02VCE-047VCEKBP24AN
#03KBP-053KBPVCE6FQ
#04VCE-082VCEKBP26BX
#05KBP-026KBPVCE17BX
#06VCE-077VCEKBP15AN
#07VCE-046VCEKBP24BM
#08KBP-055KBPVCE6EX
#09VCE-083VCEKBP26CX
#10VCE-025KBPVCE17CX

? 3 B, 2 — A 2 — C. — 7/3. , 7/2 . .


. , — 8/1:2. , 8/1 , 8/2 — , , . 8/0 .


6/2 6/3 . - 8/3 9/0. 8/0, 7/0 7/1 .




. 6. #01: #10 6





08.


( | | )


. . . 8 , 1 6. 0, 3, 6 9 19 (. 7).




. 7. 0, 3, 6 9


1, 4, 7 10, 32 , (. 8).




. 8. 1, 4, 7 10


, 28 2, 5, 8 11 (. 9).




. 9. 2, 5, 8 11


, , , (. 10).




. 10.





09.


( | | )


, 8 . — 6 . , 1 679 616 . , 17 , , 3 488 .


3 488 :


  • 1 484 0;
  • 1 002 3;
  • 1 002 6.

3 6 , , . , 482 0 .


, . , 2 . — 26 A Z, 262=676. , ( , ), 729 .


, , (26+10)2=1296, — 1 369. , , "" .


, . . , — 31 (961 ).


01
0A0
1B1
2C2
3D3
4E4
5F5
6G6
7H7
8I8
9J9
10K
11L
12M
13N
14O
15P
16Q
17R
18S
19T
20U
21V
22W
23X
24Y
25Z
26(d) ?(d) ?
27(s1)(s0)
28
29
30




10. v0-01 ""


( | | )



. , , , 38 . . 03 04 .


#06. , #07 (. 11).




. 11. #06 #07. .


, , , ( ). , .


, , #06 . "-", , PDF417. (8 ) .


, , #06 7/2 7/3 . 0, , A 7/3 . , A. , 7/3 #06 1 0. , 4 0, .


, ( ) , -.


01
27(s)(s)

, 7/0 . , (s)0. , 6/3 . , 3 , ?


, , (s) + , (s) + . , , 4/0 #07 (s)2, (s)C. 7/3 #09. 4 7 , , .


, PDF417. , 50 , .





11. & v0-02


( | | )



. — . Turkish Airlines (#11: #14). , — , 180 . , 4 . , , .


26 5 . , , , . . 12 17 .




. 12. #11: #14. 1


, . ( 0/0, , 0/1:2, ). 0/3: 1/2. - 6 4 (2/4: 3/4). , , . — EUPT2M7, , . — 3 , .


4 (2 2 ), (TK) (1870 0762). 6/1 , 6/2 — . 23 A/B 17 K/J. 6/3: 7/0.


, 2/3 . , , . — 4/0:2, 10 — 4/3: 5/1. , , ( ) (32233211) . 3 , 6 , - — .


, . 8/0 18, 14/2 — 62, 13/0 , 4/3. 14/3 18. , 14/2 . , , .


, 78 , — (s)A / (s)0 .





12. TA & v0-03


( | | )



#15 #16 PDF417. — 27 4 . , 15 (. 13, ).




. 13. #15 #16. 1


7/2, 16 ( ). , ISTKBP ( ) TK — , ( 5/2). , 5/3 (d) (s), , .


6/0:1 (1062 0459), 4/3: 5/1 LJ UI ST . , , 3/2: 4/2, , , , - . , , 8/1:2, .


#01: #10 , , PS — . , 87 .





13. & v0-04 & v0-05


( | | )



, ( ). . 14, , . , :


  • 7 / 24 #01: #05, #07: #10 (. 15);
  • 7 / 22 #06 (. 15);
  • 4 / 52 #11: #14(. 16);
  • 5 / 54 #15: #16 (. 17);
  • 10 / 48 #17: #18, (. 18).



. 14.


k/R(k+2)/L, k=3i, i=0,1,2( .). 2, 3 4, (3, 4 5 ).


k/L, (k+1)/R( ) 3, 3, 8, 8 7 12, 11, 26, 27 24 . 3 , . ( ) 3.


(k+1)/L, (k+2)/R() . , , 12 11 (. 15). , 9 (L 11 27 24 , . 17 . 18 ). , 3.


, — . , , . - , . — . . 8, 16 32 18 . , 3 , , .


, . . 3 . , . , , 3 .


, 200 L R , 132 .


, v0-05 135.



. 015

. 15. #01: #10



. 016

. 16. #11: #14



. 017

. 17. #15: #16



. 018

. 18. #17: #18





14. & v0-06


( | | )



— Adria Airways, .


, #17 #18, #19 #20. 20 4 . , UK ( LJU KBP), JP — , 09 ( 934), 10 01 (. 19). L R (. 20), 20 .




. 19. #19: #20



. 020

. 20. #19: #20


? — LBZOKV. , , (d)L, BZ, OK V(d) 3/2: 4/1. , 3/2 (d)L . , (d) , . , .


#17 #18 (. 21). , VA, SK, LE, YI, VS, EV, EL, NI, YZ, KB, PL, JU, JP, 35 00. , . , 149 .




. 21. #17 #18


, . 20 , 376 , — 114, 130 132 .





15.


( | | )


#01 — #10, , 0/0 . , #06, , . , #11: #14 (38), #15: #16 (32) #19: #20 (24).


, , , L R, , . , 98, 92 64 . , , .


. , . , , , , .


, 31 . , — 30. 38 98 (303+8), 32 — 92 (303+2), 24 — 64 (302+4).


, #01: #05, #07: #10 40 ( BK), #06 — 36 (BG), #17: #18 — 56 ( B 26).





16. & v0-07


( | | )



Adria Airways (#21 #22, . 22), BZ, VI, LJ, 85, 16, 10, 55, 31, 92, 81, 40, 32, 4(d), 98 45. L R (. 23) 37, 47, 57, 67, 77, 87, 06, 26, 36, 46 76.



. 022

. 22. #21: #22



. 023

. 23. #21: #22


, #21 #22 , . #19 #20 , ( ).


- (#23, . 24) . 7 , L R (. 25) .




. 24. #23



. 025

. 25. #23


, v0-07 174 , — 315 . 411 .





17. & v0-08


( | | )



, , (, ) . 17- PDF417.


, (), , 0 1 484, 3 — 1 002 6 — 1 002. .


, , 8- ( , (11111543) , (61123121) — ). , AA YZ.


, . - . 6 AA AL . AA: AK (x1111xxx), AL (x1112xxx). , . .


" - 5-10 , ". - , - TK DC. , 900 1 002 / 1 484.


, . . 0 — EV, 3 — G(s), 6 — EH. , . 3.


##
 51111125
 61111133
 41111216
3AD51111224
4AE61111232
  41111315
6AG51111323
7AH61111331
8AI41111414
 51111422
10AK41111513
11AL51111521
 41111612
13AN41112125
 51112133
 61112141
  31112216
  41112224
  51112232
  31112315
  41112323
  51112331
  31112414
  41112422
  31112513
  41112521
 A(d)31112612
  31113125
  41113133
  51113141
30BA21113216
  31113224
32BC41113232
33BD21113315
  31113323
35BF41113331
36BG21113414
37BH31113422
38BI21113513
  31113521
40BK21113612
41BL21114125
  31114133
43BN41114141
  11114216
  21114224
  31114232
  11114315
  21114323
  31114331
50BU11114414

(d) — 26, . FN (163) F(d) (176).


[ CN — C(s) — DC ], [ D(s) — EG ], [ ET — E(s) — FG ] [ G(d) — G(s) ], (s) 28.


, 282 . 114 0, 228 — 3 167 — 6.


, , 1 492 336 , 842 (56.4%) 69 (20.5%) .





18. & v0-09


( | | )



, 3 #20, , AV . , AV .


AV 0, 6 AO: AU.


, PDF417 — 0/1 0/2, . 0/1 , 0/2 B(d) (056) CC (062). , — (057), (058). (27) , (058), B(s) 1(s). 0/2 , 1(s). 9/0 #12 #14, .


3 (840): (849). 8 , — 111, (. 26).




. 26. 3


(839): (852). , . 11 , 111 (. 27).




. 27. 3


(656) — V(d), . , . (648) (649), (52241111) .


(53231111): (12326111) , .


6, , 1 (022): (027), (046): (061), (117): (121) (134): (139). 8 , , (. 28), , 10 , — .




. 28. 8 , 7 .


6. , 339 , .





19.


( | | )


, , , , "" .


, #22 (s)LH(s) 16/2:3. , , , (Lufthansa). , #21 H(s), 17/0, . — JP — .


06 00 00, , . , #23 — 30 60 00 00, #15, #16. #11: #14 06 00 00 0(s). .


#11: #14 TK (13/1) K(d). , , (d)T.





20.


( | | )


, #21 #22 , #11: #14, #15: #16, #17: #18 #19: #20 , #23. , 2(s)A(29) C(s)0(29). 29 . , .


#11: #14, (. 29). , 11/2, 12/0:4. , 12/3 .


- 02 CX. .


— 4 / 8. — 235 5591 4709 94 / 8. , 12/4 , . , . , (29) , #01, , , . , — 11/2.


, 6 . — (002) (083), . , 13 6 ? , . , (002) — , 29005+8390041235..., - . . 29.




. 29.


, , . .


, . , #15 #16 . 14/0 15/2 . 14/1: 15/1. , 14/3 — (090). , — + . , .


, , . , NN/3+1, /3— .


(900) 1000, 900 3 . , — 15 , 44 . 16 2 .





21.


( | | )


, 900 0 899, . , PDF417, — (n), , (), .


30 , 900 , , 899. , 30 , "". , 929 0 928. (n) () .


, #01: #05, #07: #10 3 (), #17: #18 — (). , "" .





22.


( | | )


#23. . 30. 16 521 054 807 52 13 , . ( ) , .




. 30. #23


. , 2. 0 (021) (029). , . , (021), (020).





23. & v0-10


( | | )



, 17 , , . 6 , .


, 18, . 7 8 , 6 7 . , 0 (4222249), — (7944422).


, , .


, 131, 415 308 0, 3 6.





24. & v0-11


( | | )



. 6, (16211132). 20 s(E) Y (864) — (s)Y. 3, 30 . 0 .


(s)Y , (s)T, — (s)(19), 19 .


, (s)(d) / (d)(s). 6 + 2 . , , , — (d)(s), (808). 6 , 3 30 . #11: #14 0.


(s)(d) / (866). , 0 #21, 6 — #22.


#11: #12 , , — I(d) — (266). 14 (252): (265) 6. , (266) 3. #19 0. #21 I(s) (268), (s).


#11: #14 3 , (). , (11611124) - , , ().


#21. , . , (901). (899) "", , (), (900) (901), (n), 6 (902) (903).


22/0:3 #21 22/0:2 #22 (d)(d) — (806). "" — (d)(29).


#15: #16, 17 18 4 . , 16/3 19/0, 8 , (d)(d). (15111215) (23421122) (d)(d) 0 6 . (d)(d) — 23 .


, 138, 466 349 .





25. & v0-12


( | | )



#23 15/3 (13242311) 16/0 (33113222) . #21: #22 (d)(s)JP, . (s) , , 15/3 (d)J.


#22, 16/1 JP (s)LH(s). , , . #11: #14 - , (s)(d) (11512142) 3.


17/0 #22 (d), 9, (d)9 . #15 060000 (22)3. 20/0 #22 . #21.


(s) . #21. (418) — N(s).


11/0 #22 I(27) I(s). 8(27) / 8(s). BO, , (27), . , 11/2 S(s), -. #21 .


#23 16/0 19/0. P . 19/1 , . 19/0 (d)(s), . , 16/0 — P(d) — (476). 19/0 (792), (793) — (d)N (d)O .


22/1 #23 T. (27), (s) (29). , (29), .


11/2 — , P(d), 6. (d), .


#19: #20 13/3 (). , () (n). , 14/0: 15/1 , () 15/2. #20 2 6, #19 — 4. — (032). , 32. — . , (336), (560), (185), (832) (045).


#15 #16 11/2 K(d). , , , TK . , (301): (326) 6.


#11: #14 8/2 (676): (684). W. #15: #16 #21: #22 WW, .





26. - & v0-13


( | | )



- 7 , , . . , .


, 6 , . (240), (269), (332), (335), (370), (371), (373), (376), (383), (385), (408), (482), (503), (506), (534), (535), (537), (540), (547), (549), (573), (576), (670), (696), (699), (702), (709), (711), (729), (732), (811), (828), (835) (837) — 34 929.


3. (280), (283), (286), (295), (297), (308), (309), (311), (314), (322), (323), (325), (328), (351), (354), (361), (364), (371), (374), (381), (384), (401), (408), (415), (507), (510), (517), (520), (527), (530), (537), (540), (561), (581), (583), (591), (593), (601), (603), (699), (706), (713), (720) — 43 .


, , , 0. , , , . , 180 929 .





27.


( | | )


, ? . -. , (929), ( , — 3) ( ). , 2t, ( ) ( ) t.


:


  • "" ( , 0), — 2t;
  • t;
  • , , t, ;
  • , , ;
  • , "" — .

#01. 2 . , 928. , , . 8 4 .


, , 2 , — . — 21 46, . — (781) (388) . , — M(s). , M1, .


#02 (s)2 — (782) 21. (780) (783). #03 — .


#04 (274), — (273). #03, #05 . #07, #08, #09 #10.


#17. 5 , , . , — 6 — (656), 8 — (717), 25 — (146), 26 — (28) 34 — (872). (022):(027), (147):(149), (707):(713), (715), (716), (718):(723), (725), (726), (729), (731):(737), (739), (740), (743).


#18 3 . . 6, 8 15 (363), (263) (608) .


#23 (086), (334), (570) (674). . :


01>02>03>04>05>07>
08>09>10>17>18>23>
20>19>22>06>16>15>
21>12>11>13>14


, , 0 394 .





28.


( | | )


— (29). (s)E — (29)(2) — (s)5 .


0, 0 1 1, . — .


0, - 1, 2 — , 1.


X012
29(r2) >>
( )
(r2) >
( )

, (900): (928) .





29.


( | | )


. 23 PDF417 1 828 . , 3 929 , 394 (42.4%), 886 (95.4%) 895 (96.3%) .


(000): (899) 900 . , , 2 ( 30X1+X2) :


X012
0A0
1B1
2C2( )
3D3
4E4
5F5
6G6
7H7
8I8
9J9
10K
11L
12M
13N
14O
15P
16Q
17R
18S
19T( )
20U
21V
22W( )
23X
24Y
25Z
26(d)(d)
27
28(s)
>
(s)
<
29(r2) >>
( )
(r2) >
( )

44 15 . NN/3+1, 1 10 900.


"" (900): (928). , (900) , (902) — .


"" , , . , , , .


, GitHub. , v0-13.





30.


( | | )


, - , . , , , .


, . . , .


, step by step:



!


Update (2020-05-12): , , / PDF417 .




P.S. , , . "Ctrl / ⌘ + Enter", Ctrl / ⌘, . , . !


All Articles