Decrypt PDF417 without prompts


Do you pay attention to the encoded information? All these endless touches, QRs and other codes that occur literally at every step. Goods in stores, cash receipts, signs with information for tourists, receipts for utility bills and so on.


Today I want to talk about a code that can be regularly seen at airports, or more precisely - on boarding passes. The hero of this story is PDF417. Let's see if such code can be decrypted manually and without prompts. What information do you need to have for this? How much time will it take? All this and much more await you in this publication. Let's get started!


Attention, under the cut - 30 images with a total size of 16.3 MB.





Table of contents






01. Introduction and storytelling


( Back | Table of Contents | Forward )


The first question I immediately want to answer is "Why is this needed?" The answer is quite simple - at some point I was bored and I thought. And after that, he could not stop.


, 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 (30βˆ—3+8), 32 β€” 92 (30βˆ—3+2), 24 β€” 64 (30βˆ—2+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) β€” , 2βˆ—9005+83βˆ—90041235..., - . . 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 ( 30βˆ—X1+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