pickleparser
Version:
A pure Javascript implemented parser for Python pickle format
72 lines (71 loc) • 5.13 kB
Markdown
# Supported Opcodes
| Opcode | Literal | Hex | Supported | Version |
|---------------------|:-------:|:------:|-----------|---------------|
| MARK | ( | 40 | ✅ | Protocol 0 |
| STOP | . | 46 | ✅ | Protocol 0 |
| POP | 0 | 48 | ✅ | Protocol 0 |
| POP_MARK | 1 | 49 | ✅ | Protocol 1 |
| DUP | 2 | 50 | ✅ | Protocol 0 |
| FLOAT | F | 70 | ✅ | Protocol 0 |
| INT | I | 73 | ✅ | Protocol 0 |
| BININT | J | 74 | ✅ | Protocol 1 |
| BININT1 | K | 75 | ✅ | Protocol 1 |
| LONG | L | 76 | ✅ | Protocol 0 |
| BININT2 | M | 77 | ✅ | Protocol 1 |
| NONE | N | 78 | ✅ | Protocol 0 |
| PERSID | P | 80 | ✅ | Protocol 0 |
| BINPERSID | Q | 81 | ✅ | Protocol 1 |
| REDUCE | R | 82 | ✅ | Protocol 0 |
| STRING | S | 83 | ✅ | Protocol 0 |
| BINSTRING | T | 84 | ✅ | Protocol 1 |
| SHORT_BINSTRING | U | 85 | ✅ | Protocol 1 |
| UNICODE | V | 86 | ✅ | Protocol 0 |
| BINUNICODE | X | 88 | ✅ | Protocol 1 |
| APPEND | a | 97 | ✅ | Protocol 0 |
| BUILD | b | 98 | ✅ | Protocol 0 |
| GLOBAL | c | 99 | ✅ | Protocol 0 |
| DICT | d | 100 | ✅ | Protocol 0 |
| EMPTY_DICT | } | 125 | ✅ | Protocol 1 |
| APPENDS | e | 101 | ✅ | Protocol 1 |
| GET | g | 103 | ✅ | Protocol 0 |
| BINGET | h | 104 | ✅ | Protocol 1 |
| INST | i | 105 | ✅ | Protocol 0 |
| LONG_BINGET | j | 106 | ✅ | Protocol 1 |
| LIST | l | 108 | ✅ | Protocol 0 |
| EMPTY_LIST | ] | 93 | ✅ | Protocol 1 |
| OBJ | o | 111 | ✅ | Protocol 1 |
| PUT | p | 112 | ✅ | Protocol 0 |
| BINPUT | q | 113 | ✅ | Protocol 1 |
| LONG_BINPUT | r | 114 | ✅ | Protocol 1 |
| SETITEM | s | 115 | ✅ | Protocol 0 |
| TUPLE | t | 116 | ✅ | Protocol 0 |
| EMPTY_TUPLE | ) | 41 | ✅ | Protocol 1 |
| SETITEMS | u | 117 | ✅ | Protocol 1 |
| BINFLOAT | G | 71 | ✅ | Protocol 1 |
| PROTO | \x80 | 128 | ✅ | Protocol 2 |
| NEWOBJ | \x81 | 129 | ✅ | Protocol 2 |
| EXT1 | \x82 | 130 | ✅ | Protocol 2 |
| EXT2 | \x83 | 131 | ✅ | Protocol 2 |
| EXT4 | \x84 | 132 | ✅ | Protocol 2 |
| TUPLE1 | \x85 | 133 | ✅ | Protocol 2 |
| TUPLE2 | \x86 | 134 | ✅ | Protocol 2 |
| TUPLE3 | \x87 | 135 | ✅ | Protocol 2 |
| NEWTRUE | \x88 | 136 | ✅ | Protocol 2 |
| NEWFALSE | \x89 | 137 | ✅ | Protocol 2 |
| LONG1 | \x8a | 138 | ✅ | Protocol 2 |
| LONG4 | \x8b | 139 | ✅ | Protocol 2 |
| BINBYTES | B | 66 | ✅ | Protocol 3 |
| SHORT_BINBYTES | C | 67 | ✅ | Protocol 3 |
| SHORT_BINUNICODE | \x8c | 140 | ✅ | Protocol 4 |
| BINUNICODE8 | \x8d | 141 | ✅ | Protocol 4 |
| BINBYTES8 | \x8e | 142 | ✅ | Protocol 4 |
| EMPTY_SET | \x8f | 143 | ✅ | Protocol 4 |
| ADDITEMS | \x90 | 144 | ✅ | Protocol 4 |
| FROZENSET | \x91 | 145 | ✅ | Protocol 4 |
| NEWOBJ_EX | \x92 | 146 | ✅ | Protocol 4 |
| STACK_GLOBAL | \x93 | 147 | ✅ | Protocol 4 |
| MEMOIZE | \x94 | 148 | ✅ | Protocol 4 |
| FRAME | \x95 | 149 | ✅ | Protocol 4 |
| BYTEARRAY8 | \x96 | 150 | ✅ | Protocol 5 |
| NEXT_BUFFER | \x97 | 151 | ✅ | Protocol 5 |
| READONLY_BUFFER | \x98 | 152 | ✅ | Protocol 5 |