003 File Manager
Current Path:
/usr/src/contrib/file/magic/Magdir
usr
/
src
/
contrib
/
file
/
magic
/
Magdir
/
📁
..
📄
acorn
(3.65 KB)
📄
adi
(425 B)
📄
adventure
(4.38 KB)
📄
algol68
(678 B)
📄
allegro
(402 B)
📄
alliant
(760 B)
📄
amanda
(385 B)
📄
amigaos
(2.95 KB)
📄
android
(6.73 KB)
📄
animation
(45.47 KB)
📄
aout
(1.69 KB)
📄
apache
(822 B)
📄
apl
(276 B)
📄
apple
(19.05 KB)
📄
application
(273 B)
📄
applix
(428 B)
📄
apt
(1.57 KB)
📄
archive
(55.73 KB)
📄
asf
(6.39 KB)
📄
assembler
(700 B)
📄
asterix
(584 B)
📄
att3b
(1.23 KB)
📄
audio
(34.93 KB)
📄
basis
(571 B)
📄
beetle
(289 B)
📄
ber
(2.34 KB)
📄
bflt
(414 B)
📄
bhl
(341 B)
📄
bioinformatics
(7.5 KB)
📄
biosig
(4.73 KB)
📄
blackberry
(282 B)
📄
blcr
(746 B)
📄
blender
(1.17 KB)
📄
blit
(884 B)
📄
bout
(349 B)
📄
bsdi
(1.13 KB)
📄
bsi
(263 B)
📄
btsnoop
(429 B)
📄
c-lang
(3.39 KB)
📄
c64
(1.67 KB)
📄
cad
(12.21 KB)
📄
cafebabe
(2.16 KB)
📄
cbor
(610 B)
📄
cddb
(386 B)
📄
chord
(577 B)
📄
cisco
(495 B)
📄
citrus
(227 B)
📄
clarion
(769 B)
📄
claris
(1.68 KB)
📄
clipper
(2.09 KB)
📄
clojure
(1.11 KB)
📄
coff
(2.86 KB)
📄
commands
(5.2 KB)
📄
communications
(853 B)
📄
compress
(13.44 KB)
📄
console
(36.72 KB)
📄
convex
(2.58 KB)
📄
coverage
(2.98 KB)
📄
cracklib
(531 B)
📄
ctags
(297 B)
📄
ctf
(823 B)
📄
cubemap
(403 B)
📄
cups
(1.75 KB)
📄
dact
(379 B)
📄
database
(22.4 KB)
📄
dataone
(1.72 KB)
📄
dbpf
(630 B)
📄
der
(3.31 KB)
📄
diamond
(509 B)
📄
dif
(1.4 KB)
📄
diff
(1.05 KB)
📄
digital
(1.8 KB)
📄
dolby
(2.32 KB)
📄
dump
(2.84 KB)
📄
dyadic
(2.49 KB)
📄
ebml
(350 B)
📄
edid
(377 B)
📄
editors
(1.01 KB)
📄
efi
(547 B)
📄
elf
(11 KB)
📄
encore
(725 B)
📄
epoc
(2.27 KB)
📄
erlang
(709 B)
📄
espressif
(1.92 KB)
📄
esri
(826 B)
📄
fcs
(516 B)
📄
filesystems
(91.93 KB)
📄
finger
(488 B)
📄
flash
(1.73 KB)
📄
flif
(1.08 KB)
📄
fonts
(13.77 KB)
📄
forth
(2.84 KB)
📄
fortran
(349 B)
📄
frame
(2.18 KB)
📄
freebsd
(4.79 KB)
📄
fsav
(4.13 KB)
📄
fusecompress
(430 B)
📄
games
(12.77 KB)
📄
gcc
(505 B)
📄
gconv
(344 B)
📄
geo
(4.04 KB)
📄
geos
(584 B)
📄
gimp
(2.7 KB)
📄
git
(321 B)
📄
glibc
(879 B)
📄
gnome
(2.44 KB)
📄
gnu
(5.98 KB)
📄
gnumeric
(411 B)
📄
gpt
(9.74 KB)
📄
gpu
(929 B)
📄
grace
(892 B)
📄
graphviz
(580 B)
📄
gringotts
(1.54 KB)
📄
guile
(471 B)
📄
hardware
(385 B)
📄
hitachi-sh
(1.09 KB)
📄
hp
(13.74 KB)
📄
human68k
(1004 B)
📄
ibm370
(1.59 KB)
📄
ibm6000
(1.22 KB)
📄
icc
(7.67 KB)
📄
iff
(2.67 KB)
📄
images
(80.45 KB)
📄
inform
(333 B)
📄
intel
(4.63 KB)
📄
interleaf
(333 B)
📄
island
(345 B)
📄
ispell
(2.8 KB)
📄
isz
(514 B)
📄
java
(1.54 KB)
📄
javascript
(984 B)
📄
jpeg
(3.42 KB)
📄
karma
(291 B)
📄
kde
(390 B)
📄
keepass
(692 B)
📄
kerberos
(1.43 KB)
📄
kicad
(2.21 KB)
📄
kml
(1.43 KB)
📄
lecter
(269 B)
📄
lex
(528 B)
📄
lif
(240 B)
📄
linux
(17.84 KB)
📄
lisp
(2.77 KB)
📄
llvm
(723 B)
📄
lua
(754 B)
📄
luks
(419 B)
📄
m4
(370 B)
📄
mach
(8.48 KB)
📄
macintosh
(16.58 KB)
📄
macos
(206 B)
📄
magic
(426 B)
📄
mail.news
(2.64 KB)
📄
make
(1.25 KB)
📄
map
(13.47 KB)
📄
maple
(1.86 KB)
📄
marc21
(1019 B)
📄
mathcad
(300 B)
📄
mathematica
(2.69 KB)
📄
matroska
(422 B)
📄
mcrypt
(1.21 KB)
📄
measure
(1013 B)
📄
mercurial
(424 B)
📄
metastore
(337 B)
📄
meteorological
(1.77 KB)
📄
microfocus
(741 B)
📄
mime
(280 B)
📄
mips
(2.97 KB)
📄
mirage
(258 B)
📄
misctools
(2.45 KB)
📄
mkid
(318 B)
📄
mlssa
(277 B)
📄
mmdf
(220 B)
📄
modem
(2.94 KB)
📄
modulefile
(421 B)
📄
motorola
(2.63 KB)
📄
mozilla
(1.41 KB)
📄
msdos
(57.99 KB)
📄
msooxml
(2.09 KB)
📄
msvc
(2.35 KB)
📄
msx
(9.34 KB)
📄
mup
(781 B)
📄
music
(546 B)
📄
nasa
(272 B)
📄
natinst
(1.05 KB)
📄
ncr
(1.69 KB)
📄
neko
(373 B)
📄
netbsd
(7.36 KB)
📄
netscape
(902 B)
📄
netware
(306 B)
📄
news
(555 B)
📄
nitpicker
(460 B)
📄
numpy
(401 B)
📄
oasis
(471 B)
📄
ocaml
(542 B)
📄
octave
(323 B)
📄
ole2compounddocs
(18.67 KB)
📄
olf
(3.14 KB)
📄
openfst
(616 B)
📄
opentimestamps
(704 B)
📄
os2
(1.83 KB)
📄
os400
(1.88 KB)
📄
os9
(2.55 KB)
📄
osf1
(254 B)
📄
palm
(5.16 KB)
📄
parix
(384 B)
📄
parrot
(764 B)
📄
pascal
(444 B)
📄
pbf
(444 B)
📄
pbm
(258 B)
📄
pc88
(726 B)
📄
pc98
(2.72 KB)
📄
pdf
(1.03 KB)
📄
pdp
(1.3 KB)
📄
perl
(3.52 KB)
📄
pgf
(1.38 KB)
📄
pgp
(15.43 KB)
📄
pkgadd
(297 B)
📄
plan9
(866 B)
📄
plus5
(550 B)
📄
pmem
(1.23 KB)
📄
polyml
(744 B)
📄
printer
(5.83 KB)
📄
project
(389 B)
📄
psdbms
(483 B)
📄
psl
(559 B)
📄
pulsar
(370 B)
📄
pwsafe
(669 B)
📄
pyramid
(426 B)
📄
python
(10.29 KB)
📄
qt
(745 B)
📄
revision
(2.36 KB)
📄
riff
(15.77 KB)
📄
rpi
(674 B)
📄
rpm
(1.09 KB)
📄
rpmsg
(349 B)
📄
rst
(385 B)
📄
rtf
(3.71 KB)
📄
ruby
(1.86 KB)
📄
sc
(245 B)
📄
sccs
(835 B)
📄
scientific
(3.56 KB)
📄
securitycerts
(366 B)
📄
selinux
(806 B)
📄
sendmail
(1.46 KB)
📄
sequent
(1.67 KB)
📄
sereal
(1.24 KB)
📄
sgi
(3.89 KB)
📄
sgml
(4.43 KB)
📄
sharc
(816 B)
📄
sinclair
(1007 B)
📄
sisu
(471 B)
📄
sketch
(258 B)
📄
smalltalk
(593 B)
📄
smile
(1.23 KB)
📄
sniffer
(13.39 KB)
📄
softquad
(1.45 KB)
📄
sosi
(1.65 KB)
📄
spec
(600 B)
📄
spectrum
(3.17 KB)
📄
sql
(5.15 KB)
📄
ssh
(1.4 KB)
📄
ssl
(929 B)
📄
sun
(4.69 KB)
📄
sylk
(1.23 KB)
📄
symbos
(915 B)
📄
sysex
(11.53 KB)
📄
tcl
(1005 B)
📄
teapot
(266 B)
📄
terminfo
(2.46 KB)
📄
tex
(4.55 KB)
📄
tgif
(262 B)
📄
ti-8x
(7.55 KB)
📄
timezone
(1.46 KB)
📄
tplink
(2.89 KB)
📄
troff
(1.22 KB)
📄
tuxedo
(306 B)
📄
typeset
(286 B)
📄
unicode
(771 B)
📄
unisig
(402 B)
📄
unknown
(1.34 KB)
📄
usd
(568 B)
📄
uterus
(468 B)
📄
uuencode
(1.09 KB)
📄
vacuum-cleaner
(2.06 KB)
📄
varied.out
(1.63 KB)
📄
varied.script
(1.49 KB)
📄
vax
(1001 B)
📄
vicar
(759 B)
📄
virtual
(11.69 KB)
📄
virtutech
(524 B)
📄
visx
(972 B)
📄
vms
(1.41 KB)
📄
vmware
(283 B)
📄
vorbis
(5.97 KB)
📄
vxl
(489 B)
📄
warc
(596 B)
📄
weak
(629 B)
📄
web
(371 B)
📄
webassembly
(633 B)
📄
windows
(37.27 KB)
📄
wireless
(295 B)
📄
wordprocessors
(10.51 KB)
📄
wsdl
(761 B)
📄
x68000
(743 B)
📄
xdelta
(548 B)
📄
xenix
(2.98 KB)
📄
xilinx
(1.26 KB)
📄
xo65
(987 B)
📄
xwindows
(1.04 KB)
📄
yara
(461 B)
📄
zfs
(2.37 KB)
📄
zilog
(451 B)
📄
zip
(3.23 KB)
📄
zyxel
(613 B)
Editing: pgp
#------------------------------------------------------------------------------ # $File: pgp,v 1.21 2020/03/20 17:11:05 christos Exp $ # pgp: file(1) magic for Pretty Good Privacy # see https://lists.gnupg.org/pipermail/gnupg-devel/1999-September/016052.html # # Update: Joerg Jenderek # Note: verified by `gpg -v --debug 0x02 --list-packets < PUBRING263_10.PGP` #0 byte 0x99 MAYBE PGP 0x99 0 byte 0x99 # 99h~10;0110;01~2=old packet type;tag 6=Public-Key Packet;1=two-octet length # A two-octet body header encodes packet lengths of 192~00C0h - 8383~20BFh #>1 ubeshort x \b, body length 0x%.4x # skip Basic.Image Beauty.320 Pic.Icons by looking for low version number #>3 ubyte x \b, V=%u #>3 ubyte <5 VERSION OK >3 ubyte <5 # next packet type often b4h~(tag 13)~User ID Packet, b0h~(tag 12)~Trust packet #>>(1.S+3) ubyte x \b, next packet type 0x%x # skip 9900-v4.bin 9902-v4.bin by looking for valid second packet type (bit 7=1) #>>(1.S+3) ubyte >0x7F TYPE OK, >>(1.S+3) ubyte >0x7F # old versions 2,3 implies Pretty Good Privacy >>>3 ubyte <4 PGP key public ring (v%u) !:mime application/pgp-keys !:ext pgp/ASD >>>>4 beldate x created %s # days that this key is valid. If this number is zero, then it does not expire >>>>8 ubeshort >0 \b, %u days valid >>>>8 ubeshort =0 \b, not expire # display key algorithm 1~RSA (Encrypt or Sign) >>>>10 use key_algo # Multiprecision Integers (MPI) size >>>>11 ubeshort x %u bits # MPI >>>>13 ubequad x MPI=0x%16.16llx... # new version implies Pretty Good Privacy (PGP) >= 5.0 or Gnu Privacy Guard (GPG) >>>3 ubyte >3 PGP/GPG key public ring (v%u) !:mime application/pgp-keys !:ext pgp/gpg/pkr/asd >>>>4 beldate x created %s # display key algorithm 17~DSA >>>>8 use key_algo # Multiprecision Integers (MPI) size >>>>9 ubeshort x %u bits >>>>11 ubequad x MPI=0x%16.16llx... 0 beshort 0x9501 PGP key security ring !:mime application/x-pgp-keyring 0 beshort 0x9500 PGP key security ring !:mime application/x-pgp-keyring 0 beshort 0xa600 PGP encrypted data #!:mime application/pgp-encrypted #0 string -----BEGIN\040PGP text/PGP armored data !:mime text/PGP # encoding: armored data #>15 string PUBLIC\040KEY\040BLOCK- public key block #>15 string MESSAGE- message #>15 string SIGNED\040MESSAGE- signed message #>15 string PGP\040SIGNATURE- signature # Update: Joerg Jenderek # URL: http://en.wikipedia.org/wiki/Pretty_Good_Privacy # Reference: https://reposcope.com/mimetype/application/pgp-keys 2 string ---BEGIN\040PGP\040PRIVATE\040KEY\040BLOCK- PGP private key block #!:mime text/PGP !:mime application/pgp-keys !:ext asc 2 string ---BEGIN\040PGP\040PUBLIC\040KEY\040BLOCK- PGP public key block !:mime application/pgp-keys !:ext asc >10 search/100 \n\n >>&0 use pgp 0 string -----BEGIN\040PGP\040MESSAGE- PGP message # https://reposcope.com/mimetype/application/pgp-encrypted #!:mime application/pgp !:mime application/pgp-encrypted !:ext asc #!:ext asc/pgp/gpg >10 search/100 \n\n >>&0 use pgp # Reference: https://www.gnupg.org/gph/en/manual/x135.html 0 string -----BEGIN\040PGP\040SIGNED\040MESSAGE- PGP signed message #!:mime text/plain !:mime text/PGP #!:mime application/pgp !:ext asc 0 string -----BEGIN\040PGP\040SIGNATURE- PGP signature # https://reposcope.com/mimetype/application/pgp-signature !:mime application/pgp-signature !:ext asc >10 search/100 \n\n >>&0 use pgp # Decode the type of the packet based on it's base64 encoding. # Idea from Mark Martinec # The specification is in RFC 4880, section 4.2 and 4.3: # https://tools.ietf.org/html/rfc4880#section-4.2 0 name pgp >0 byte 0x67 Reserved (old) >0 byte 0x68 Public-Key Encrypted Session Key (old) >0 byte 0x69 Signature (old) >0 byte 0x6a Symmetric-Key Encrypted Session Key (old) >0 byte 0x6b One-Pass Signature (old) >0 byte 0x6c Secret-Key (old) >0 byte 0x6d Public-Key (old) >0 byte 0x6e Secret-Subkey (old) >0 byte 0x6f Compressed Data (old) >0 byte 0x70 Symmetrically Encrypted Data (old) >0 byte 0x71 Marker (old) >0 byte 0x72 Literal Data (old) >0 byte 0x73 Trust (old) >0 byte 0x74 User ID (old) >0 byte 0x75 Public-Subkey (old) >0 byte 0x76 Unused (old) >0 byte 0x77 >>1 byte&0xc0 0x00 Reserved >>1 byte&0xc0 0x40 Public-Key Encrypted Session Key >>1 byte&0xc0 0x80 Signature >>1 byte&0xc0 0xc0 Symmetric-Key Encrypted Session Key >0 byte 0x78 >>1 byte&0xc0 0x00 One-Pass Signature >>1 byte&0xc0 0x40 Secret-Key >>1 byte&0xc0 0x80 Public-Key >>1 byte&0xc0 0xc0 Secret-Subkey >0 byte 0x79 >>1 byte&0xc0 0x00 Compressed Data >>1 byte&0xc0 0x40 Symmetrically Encrypted Data >>1 byte&0xc0 0x80 Marker >>1 byte&0xc0 0xc0 Literal Data >0 byte 0x7a >>1 byte&0xc0 0x00 Trust >>1 byte&0xc0 0x40 User ID >>1 byte&0xc0 0x80 Public-Subkey >>1 byte&0xc0 0xc0 Unused [z%x] >0 byte 0x30 >>1 byte&0xc0 0x00 Unused [0%x] >>1 byte&0xc0 0x40 User Attribute >>1 byte&0xc0 0x80 Sym. Encrypted and Integrity Protected Data >>1 byte&0xc0 0xc0 Modification Detection Code # magic signatures to detect PGP crypto material (from stef) # detects and extracts metadata from: # - symmetric encrypted packet header # - RSA (e=65537) secret (sub-)keys # 1024b RSA encrypted data 0 string \x84\x8c\x03 PGP RSA encrypted session key - >3 belong x keyid: %08X >7 belong x %08X >11 byte 0x01 RSA (Encrypt or Sign) 1024b >11 byte 0x02 RSA Encrypt-Only 1024b >12 string \x04\x00 >12 string \x03\xff >12 string \x03\xfe >12 string \x03\xfd >12 string \x03\xfc >12 string \x03\xfb >12 string \x03\xfa >12 string \x03\xf9 >142 byte 0xd2 . # 2048b RSA encrypted data 0 string \x85\x01\x0c\x03 PGP RSA encrypted session key - >4 belong x keyid: %08X >8 belong x %08X >12 byte 0x01 RSA (Encrypt or Sign) 2048b >12 byte 0x02 RSA Encrypt-Only 2048b >13 string \x08\x00 >13 string \x07\xff >13 string \x07\xfe >13 string \x07\xfd >13 string \x07\xfc >13 string \x07\xfb >13 string \x07\xfa >13 string \x07\xf9 >271 byte 0xd2 . # 3072b RSA encrypted data 0 string \x85\x01\x8c\x03 PGP RSA encrypted session key - >4 belong x keyid: %08X >8 belong x %08X >12 byte 0x01 RSA (Encrypt or Sign) 3072b >12 byte 0x02 RSA Encrypt-Only 3072b >13 string \x0c\x00 >13 string \x0b\xff >13 string \x0b\xfe >13 string \x0b\xfd >13 string \x0b\xfc >13 string \x0b\xfb >13 string \x0b\xfa >13 string \x0b\xf9 >399 byte 0xd2 . # 4096b RSA encrypted data 0 string \x85\x02\x0c\x03 PGP RSA encrypted session key - >4 belong x keyid: %08X >8 belong x %08X >12 byte 0x01 RSA (Encrypt or Sign) 4096b >12 byte 0x02 RSA Encrypt-Only 4096b >13 string \x10\x00 >13 string \x0f\xff >13 string \x0f\xfe >13 string \x0f\xfd >13 string \x0f\xfc >13 string \x0f\xfb >13 string \x0f\xfa >13 string \x0f\xf9 >527 byte 0xd2 . # 8192b RSA encrypted data 0 string \x85\x04\x0c\x03 PGP RSA encrypted session key - >4 belong x keyid: %08X >8 belong x %08X >12 byte 0x01 RSA (Encrypt or Sign) 8192b >12 byte 0x02 RSA Encrypt-Only 8192b >13 string \x20\x00 >13 string \x1f\xff >13 string \x1f\xfe >13 string \x1f\xfd >13 string \x1f\xfc >13 string \x1f\xfb >13 string \x1f\xfa >13 string \x1f\xf9 >1039 byte 0xd2 . # 1024b Elgamal encrypted data 0 string \x85\x01\x0e\x03 PGP Elgamal encrypted session key - >4 belong x keyid: %08X >8 belong x %08X >12 byte 0x10 Elgamal Encrypt-Only 1024b. >13 string \x04\x00 >13 string \x03\xff >13 string \x03\xfe >13 string \x03\xfd >13 string \x03\xfc >13 string \x03\xfb >13 string \x03\xfa >13 string \x03\xf9 # 2048b Elgamal encrypted data 0 string \x85\x02\x0e\x03 PGP Elgamal encrypted session key - >4 belong x keyid: %08X >8 belong x %08X >12 byte 0x10 Elgamal Encrypt-Only 2048b. >13 string \x08\x00 >13 string \x07\xff >13 string \x07\xfe >13 string \x07\xfd >13 string \x07\xfc >13 string \x07\xfb >13 string \x07\xfa >13 string \x07\xf9 # 3072b Elgamal encrypted data 0 string \x85\x03\x0e\x03 PGP Elgamal encrypted session key - >4 belong x keyid: %08X >8 belong x %08X >12 byte 0x10 Elgamal Encrypt-Only 3072b. >13 string \x0c\x00 >13 string \x0b\xff >13 string \x0b\xfe >13 string \x0b\xfd >13 string \x0b\xfc >13 string \x0b\xfb >13 string \x0b\xfa >13 string \x0b\xf9 # crypto algo mapper 0 name crypto >0 byte 0x00 Plaintext or unencrypted data >0 byte 0x01 IDEA >0 byte 0x02 TripleDES >0 byte 0x03 CAST5 (128 bit key) >0 byte 0x04 Blowfish (128 bit key, 16 rounds) >0 byte 0x07 AES with 128-bit key >0 byte 0x08 AES with 192-bit key >0 byte 0x09 AES with 256-bit key >0 byte 0x0a Twofish with 256-bit key # hash algo mapper 0 name hash >0 byte 0x01 MD5 >0 byte 0x02 SHA-1 >0 byte 0x03 RIPE-MD/160 >0 byte 0x08 SHA256 >0 byte 0x09 SHA384 >0 byte 0x0a SHA512 >0 byte 0x0b SHA224 # display public key algorithms as human readable text 0 name key_algo >0 byte 0x01 RSA (Encrypt or Sign) # keep old look of version 5.28 without parentheses >0 byte 0x02 RSA Encrypt-Only >0 byte 0x03 RSA (Sign-Only) >0 byte 16 ElGamal (Encrypt-Only) >0 byte 17 DSA >0 byte 18 Elliptic Curve >0 byte 19 ECDSA >0 byte 20 ElGamal (Encrypt or Sign) >0 byte 21 Diffie-Hellman >0 default x >>0 ubyte <22 unknown (pub %d) # this should never happen >>0 ubyte >21 invalid (%d) # pgp symmetric encrypted data 0 byte 0x8c PGP symmetric key encrypted data - >1 byte 0x0d >1 byte 0x0c >2 byte 0x04 >3 use crypto >4 byte 0x01 salted - >>5 use hash >>14 byte 0xd2 . >>14 byte 0xc9 . >4 byte 0x03 salted & iterated - >>5 use hash >>15 byte 0xd2 . >>15 byte 0xc9 . # encrypted keymaterial needs s2k & can be checksummed/hashed 0 name chkcrypto >0 use crypto >1 byte 0x00 Simple S2K >1 byte 0x01 Salted S2K >1 byte 0x03 Salted&Iterated S2K >2 use hash # all PGP keys start with this prolog # containing version, creation date, and purpose 0 name keyprolog >0 byte 0x04 >1 beldate x created on %s - >5 byte 0x01 RSA (Encrypt or Sign) >5 byte 0x02 RSA Encrypt-Only # end of secret keys known signature # contains e=65537 and the prolog to # the encrypted parameters 0 name keyend >0 string \x00\x11\x01\x00\x01 e=65537 >5 use crypto >5 byte 0xff checksummed >>6 use chkcrypto >5 byte 0xfe hashed >>6 use chkcrypto # PGP secret keys contain also the public parts # these vary by bitsize of the key 0 name x1024 >0 use keyprolog >6 string \x03\xfe >6 string \x03\xff >6 string \x04\x00 >136 use keyend 0 name x2048 >0 use keyprolog >6 string \x80\x00 >6 string \x07\xfe >6 string \x07\xff >264 use keyend 0 name x3072 >0 use keyprolog >6 string \x0b\xfe >6 string \x0b\xff >6 string \x0c\x00 >392 use keyend 0 name x4096 >0 use keyprolog >6 string \x10\x00 >6 string \x0f\xfe >6 string \x0f\xff >520 use keyend # \x00|\x1f[\xfe\xff]).{1024})' 0 name x8192 >0 use keyprolog >6 string \x20\x00 >6 string \x1f\xfe >6 string \x1f\xff >1032 use keyend # depending on the size of the pkt # we branch into the proper key size # signatures defined as x{keysize} >0 name pgpkey >0 string \x01\xd8 1024b >>2 use x1024 >0 string \x01\xeb 1024b >>2 use x1024 >0 string \x01\xfb 1024b >>2 use x1024 >0 string \x01\xfd 1024b >>2 use x1024 >0 string \x01\xf3 1024b >>2 use x1024 >0 string \x01\xee 1024b >>2 use x1024 >0 string \x01\xfe 1024b >>2 use x1024 >0 string \x01\xf4 1024b >>2 use x1024 >0 string \x02\x0d 1024b >>2 use x1024 >0 string \x02\x03 1024b >>2 use x1024 >0 string \x02\x05 1024b >>2 use x1024 >0 string \x02\x15 1024b >>2 use x1024 >0 string \x02\x00 1024b >>2 use x1024 >0 string \x02\x10 1024b >>2 use x1024 >0 string \x02\x04 1024b >>2 use x1024 >0 string \x02\x06 1024b >>2 use x1024 >0 string \x02\x16 1024b >>2 use x1024 >0 string \x03\x98 2048b >>2 use x2048 >0 string \x03\xab 2048b >>2 use x2048 >0 string \x03\xbb 2048b >>2 use x2048 >0 string \x03\xbd 2048b >>2 use x2048 >0 string \x03\xcd 2048b >>2 use x2048 >0 string \x03\xb3 2048b >>2 use x2048 >0 string \x03\xc3 2048b >>2 use x2048 >0 string \x03\xc5 2048b >>2 use x2048 >0 string \x03\xd5 2048b >>2 use x2048 >0 string \x03\xae 2048b >>2 use x2048 >0 string \x03\xbe 2048b >>2 use x2048 >0 string \x03\xc0 2048b >>2 use x2048 >0 string \x03\xd0 2048b >>2 use x2048 >0 string \x03\xb4 2048b >>2 use x2048 >0 string \x03\xc4 2048b >>2 use x2048 >0 string \x03\xc6 2048b >>2 use x2048 >0 string \x03\xd6 2048b >>2 use x2048 >0 string \x05X 3072b >>2 use x3072 >0 string \x05k 3072b >>2 use x3072 >0 string \x05{ 3072b >>2 use x3072 >0 string \x05} 3072b >>2 use x3072 >0 string \x05\x8d 3072b >>2 use x3072 >0 string \x05s 3072b >>2 use x3072 >0 string \x05\x83 3072b >>2 use x3072 >0 string \x05\x85 3072b >>2 use x3072 >0 string \x05\x95 3072b >>2 use x3072 >0 string \x05n 3072b >>2 use x3072 >0 string \x05\x7e 3072b >>2 use x3072 >0 string \x05\x80 3072b >>2 use x3072 >0 string \x05\x90 3072b >>2 use x3072 >0 string \x05t 3072b >>2 use x3072 >0 string \x05\x84 3072b >>2 use x3072 >0 string \x05\x86 3072b >>2 use x3072 >0 string \x05\x96 3072b >>2 use x3072 >0 string \x07[ 4096b >>2 use x4096 >0 string \x07\x18 4096b >>2 use x4096 >0 string \x07+ 4096b >>2 use x4096 >0 string \x07; 4096b >>2 use x4096 >0 string \x07= 4096b >>2 use x4096 >0 string \x07M 4096b >>2 use x4096 >0 string \x073 4096b >>2 use x4096 >0 string \x07C 4096b >>2 use x4096 >0 string \x07E 4096b >>2 use x4096 >0 string \x07U 4096b >>2 use x4096 >0 string \x07. 4096b >>2 use x4096 >0 string \x07> 4096b >>2 use x4096 >0 string \x07@ 4096b >>2 use x4096 >0 string \x07P 4096b >>2 use x4096 >0 string \x074 4096b >>2 use x4096 >0 string \x07D 4096b >>2 use x4096 >0 string \x07F 4096b >>2 use x4096 >0 string \x07V 4096b >>2 use x4096 >0 string \x0e[ 8192b >>2 use x8192 >0 string \x0e\x18 8192b >>2 use x8192 >0 string \x0e+ 8192b >>2 use x8192 >0 string \x0e; 8192b >>2 use x8192 >0 string \x0e= 8192b >>2 use x8192 >0 string \x0eM 8192b >>2 use x8192 >0 string \x0e3 8192b >>2 use x8192 >0 string \x0eC 8192b >>2 use x8192 >0 string \x0eE 8192b >>2 use x8192 >0 string \x0eU 8192b >>2 use x8192 >0 string \x0e. 8192b >>2 use x8192 >0 string \x0e> 8192b >>2 use x8192 >0 string \x0e@ 8192b >>2 use x8192 >0 string \x0eP 8192b >>2 use x8192 >0 string \x0e4 8192b >>2 use x8192 >0 string \x0eD 8192b >>2 use x8192 >0 string \x0eF 8192b >>2 use x8192 >0 string \x0eV 8192b >>2 use x8192 # PGP RSA (e=65537) secret (sub-)key header 0 byte 0x95 PGP Secret Key - >1 use pgpkey 0 byte 0x97 PGP Secret Sub-key - >1 use pgpkey 0 byte 0x9d # Update: Joerg Jenderek # secret subkey packet (tag 7) with same structure as secret key packet (tag 5) # skip Fetus.Sys16 CALIBUS.MAIN OrbFix.Sys16.Ex by looking for positive len >1 ubeshort >0 #>1 ubeshort x \b, body length 0x%x # next packet type often 88h,89h~(tag 2)~Signature Packet #>>(1.S+3) ubyte x \b, next packet type 0x%x # skip Dragon.SHR DEMO.INIT by looking for positive version >>3 ubyte >0 # skip BUISSON.13 GUITAR1 by looking for low version number >>>3 ubyte <5 PGP Secret Sub-key # sub-key are normally part of secret key. So it does not occur as standalone file #!:ext bin # version 2,3~old 4~new . Comment following line for version 5.28 look >>>>3 ubyte x (v%d) >>>>3 ubyte x - # old versions 2 or 3 but no real example found >>>>3 ubyte <4 # 2 byte for key bits in version 5.28 look >>>>>11 ubeshort x %db >>>>>4 beldate x created on %s - # old versions use 2 additional bytes after time stamp #>>>>>8 ubeshort x 0x%x # display key algorithm 1~RSA Encrypt|Sign - 21~Diffie-Hellman >>>>>10 use key_algo >>>>>(11.S/8) ubequad x # look after first key >>>>>>&5 use keyend # new version >>>>3 ubyte >3 >>>>>9 ubeshort x %db >>>>>4 beldate x created on %s - # display key algorithm >>>>>8 use key_algo >>>>>(9.S/8) ubequad x # look after first key for something like s2k >>>>>>&3 use keyend
Upload File
Create Folder