-
Notifications
You must be signed in to change notification settings - Fork 11
/
NOTES
365 lines (307 loc) · 21.3 KB
/
NOTES
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
A few changes were mode, starting in Python 3.5 the marshalling format
has changed and now the filesize is embedded too which means that the first
12 bytes are just the header before the actual marshalled data (See import.c)
https://www.python.org/dev/peps/pep-0488/
:) gvb@ix:python-packages (master) $ for i in *.pyc ; do hexdump -C $i | head -n1 ; done
00000000 43 34 0d 0a 5b 30 78 5c e9 12 00 00 e3 f0 f6 e5 |C4..[0x\........|
00000000 43 34 0d 0a 5b 30 78 5c 15 05 00 00 e3 b0 f4 e5 |C4..[0x\........|
00000000 43 34 0d 0a fb 6a 38 5c 35 18 00 00 e3 b0 84 3a |C4...j8\5......:|
00000000 43 34 0d 0a 5b 30 78 5c 18 67 00 00 e3 e0 d1 e6 |C4..[0x\.g......|
00000000 43 34 0d 0a 5b 30 78 5c 2d 22 00 00 e3 20 f4 e5 |C4..[0x\-"... ..|
00000000 43 34 0d 0a 5b 30 78 5c dc 14 00 00 e3 20 fd e5 |C4..[0x\..... ..|
00000000 43 34 0d 0a 5c 30 78 5c fe 13 00 00 e3 70 fb e5 |C4..\0x\.....p..|
00000000 43 34 0d 0a 5c 30 78 5c 06 39 00 00 e3 b0 fd e5 |C4..\0x\.9......|
00000000 43 34 0d 0a 5c 30 78 5c af 4a 00 00 e3 60 ff e5 |C4..\0x\.J...`..|
00000000 43 34 0d 0a 5c 30 78 5c 54 83 03 00 e3 50 01 bc |C4..\0x\T....P..|
00000000 43 34 0d 0a 5c 30 78 5c ab 60 00 00 e3 40 75 e7 |C4..\0x\.`...@u.|
00000000 43 34 0d 0a 5d 30 78 5c 46 65 00 00 e3 50 fa e5 |C4..]0x\Fe...P..|
00000000 43 34 0d 0a 5c 30 78 5c 2e 1c 00 00 e3 30 f9 e5 |C4..\0x\.....0..|
00000000 43 34 0d 0a 5c 30 78 5c 49 16 00 00 e3 40 7e e7 |C4..\0x\I....@~.|
00000000 43 34 0d 0a 5c 30 78 5c 17 22 00 00 e3 e0 fa e5 |C4..\0x\."......|
00000000 43 34 0d 0a 5c 30 78 5c 04 61 01 00 e3 e0 8a e7 |C4..\0x\.a......|
00000000 43 34 0d 0a 5c 30 78 5c 86 2f 00 00 e3 70 72 e7 |C4..\0x\./...pr.|
00000000 43 34 0d 0a 5c 30 78 5c 40 2c 00 00 e3 e0 71 e7 |C4..\0x\@,....q.|
00000000 43 34 0d 0a 5c 30 78 5c bf 4e 00 00 e3 c0 29 e6 |C4..\0x\.N....).|
00000000 43 34 0d 0a 2c 40 91 5c ab 14 00 00 e3 40 fe e5 |C4..,@.\.....@..|
00000000 43 34 0d 0a 5c 30 78 5c 9c 4f 00 00 e3 30 29 e6 |C4..\0x\.O...0).|
00000000 43 34 0d 0a 5c 30 78 5c 04 5c 00 00 e3 c0 79 e7 |C4..\0x\.\....y.|
00000000 43 34 0d 0a 5c 30 78 5c 23 0a 00 00 e3 20 f4 e5 |C4..\0x\#.... ..|
00000000 43 34 0d 0a 5c 30 78 5c ad 5a 00 00 e3 c0 49 e7 |C4..\0x\.Z....I.|
00000000 43 34 0d 0a 5c 30 78 5c cc 8c 00 00 e3 40 75 e6 |C4..\0x\.....@u.|
00000000 43 34 0d 0a 5c 30 78 5c 0c 3a 00 00 e3 90 73 e6 |C4..\0x\.:....s.|
00000000 43 34 0d 0a 5c 30 78 5c 76 29 00 00 e3 60 ff e5 |C4..\0x\v)...`..|
00000000 43 34 0d 0a 5c 30 78 5c b4 8d 00 00 e3 b0 4d e7 |C4..\0x\......M.|
00000000 43 34 0d 0a 5c 30 78 5c 6a 17 00 00 e3 d0 f5 e5 |C4..\0x\j.......|
00000000 43 34 0d 0a 5c 30 78 5c 58 d1 00 00 e3 a0 78 e7 |C4..\0x\X.....x.|
00000000 43 34 0d 0a 5c 30 78 5c 6a 33 00 00 e3 60 7f e7 |C4..\0x\j3...`..|
00000000 43 34 0d 0a 5c 30 78 5c 6f 22 00 00 e3 c0 f9 e5 |C4..\0x\o"......|
00000000 43 34 0d 0a 5c 30 78 5c 5f 1b 00 00 e3 a0 f8 e5 |C4..\0x\_.......|
00000000 43 34 0d 0a 5c 30 78 5c 34 3f 00 00 e3 50 fa e7 |C4..\0x\4?...P..|
00000000 43 34 0d 0a 5c 30 78 5c 07 3b 01 00 e3 a0 08 bc |C4..\0x\.;......|
00000000 43 34 0d 0a 5c 30 78 5c 40 01 00 00 e3 40 fe e5 |C4..\0x\@....@..|
00000000 43 34 0d 0a 5c 30 78 5c 42 47 00 00 e3 40 15 e6 |C4..\0x\BG...@..|
00000000 43 34 0d 0a 5c 30 78 5c ff 0a 00 00 e3 00 fc e5 |C4..\0x\........|
00000000 43 34 0d 0a 5c 30 78 5c 46 83 00 00 e3 b0 f4 b8 |C4..\0x\F.......|
00000000 43 34 0d 0a 5c 30 78 5c 66 26 00 00 e3 b0 f4 b8 |C4..\0x\f&......|
00000000 43 34 0d 0a 5c 30 78 5c 5e 0c 00 00 e3 f0 f6 e5 |C4..\0x\^.......|
00000000 43 34 0d 0a 5c 30 78 5c 57 5c 00 00 e3 20 1d b9 |C4..\0x\W\... ..|
00000000 43 34 0d 0a 5c 30 78 5c 72 7a 00 00 e3 c0 f0 b9 |C4..\0x\rz......|
00000000 43 34 0d 0a 5c 30 78 5c 94 12 00 00 e3 90 fc e5 |C4..\0x\........|
00000000 43 34 0d 0a 5c 30 78 5c 41 1d 00 00 e3 60 f6 e5 |C4..\0x\A....`..|
00000000 43 34 0d 0a 5c 30 78 5c 6a 17 00 00 e3 10 f8 e5 |C4..\0x\j.......|
00000000 43 34 0d 0a 5c 30 78 5c 1a 54 00 00 e3 20 fd b9 |C4..\0x\.T... ..|
00000000 43 34 0d 0a 5c 30 78 5c 06 16 00 00 e3 60 ff e5 |C4..\0x\.....`..|
00000000 43 34 0d 0a 5c 30 78 5c 6e 4f 00 00 e3 b0 1d b9 |C4..\0x\nO......|
00000000 43 34 0d 0a 5c 30 78 5c 3d 25 00 00 e3 00 fc e5 |C4..\0x\=%......|
00000000 43 34 0d 0a 5c 30 78 5c 91 59 00 00 e3 00 f3 b9 |C4..\0x\.Y......|
00000000 43 34 0d 0a 5c 30 78 5c c1 13 00 00 e3 60 f6 e5 |C4..\0x\.....`..|
00000000 43 34 0d 0a 5c 30 78 5c ad 29 00 00 e3 40 35 bc |C4..\0x\.)...@5.|
00000000 43 34 0d 0a 5c 30 78 5c c9 c7 01 00 e3 10 b8 6d |C4..\0x\.......m|
00000000 43 34 0d 0a 5c 30 78 5c bd 0d 00 00 e3 d0 fe e5 |C4..\0x\........|
00000000 43 34 0d 0a 5c 30 78 5c 37 23 01 00 e3 50 d1 6d |C4..\0x\7#...P.m|
00000000 43 34 0d 0a 5c 30 78 5c a3 08 00 00 e3 40 f5 e5 |C4..\0x\.....@..|
00000000 43 34 0d 0a 5c 30 78 5c c0 14 00 00 e3 60 f6 e5 |C4..\0x\.....`..|
00000000 43 34 0d 0a 5c 30 78 5c f4 2d 01 00 e3 10 f8 b9 |C4..\0x\.-......|
00000000 43 34 0d 0a 5c 30 78 5c b7 32 00 00 e3 d0 f5 e5 |C4..\0x\.2......|
00000000 43 34 0d 0a 5c 30 78 5c 04 52 00 00 e3 20 f4 e5 |C4..\0x\.R... ..|
00000000 43 34 0d 0a 7c 39 54 59 2e 12 00 00 e3 c0 f9 e5 |C4..|9TY........|
00000000 43 34 0d 0a 5c 30 78 5c 1e 5a 00 00 e3 d0 f5 b9 |C4..\0x\.Z......|
00000000 43 34 0d 0a 5c 30 78 5c 03 28 00 00 e3 a0 08 6f |C4..\0x\.(.....o|
00000000 43 34 0d 0a 5c 30 78 5c 6f 2a 00 00 e3 40 ee b8 |C4..\0x\o*...@..|
00000000 43 34 0d 0a 5c 30 78 5c d3 eb 00 00 e3 10 d8 6d |C4..\0x\.......m|
00000000 43 34 0d 0a 5c 30 78 5c 96 92 00 00 e3 c0 69 70 |C4..\0x\......ip|
00000000 43 34 0d 0a 5c 30 78 5c 80 ef 00 00 e3 90 b3 6d |C4..\0x\.......m|
00000000 43 34 0d 0a 5c 30 78 5c 8b d9 00 00 e3 c0 70 6f |C4..\0x\......po|
00000000 43 34 0d 0a 5c 30 78 5c d4 22 00 00 e3 d0 fe e5 |C4..\0x\."......|
00000000 43 34 0d 0a 5c 30 78 5c 43 53 00 00 e3 30 e9 b8 |C4..\0x\CS...0..|
00000000 43 34 0d 0a 5c 30 78 5c ea b7 00 00 e3 20 ed b8 |C4..\0x\..... ..|
00000000 43 34 0d 0a 5c 30 78 5c ec 7c 00 00 e3 10 08 6f |C4..\0x\.|.....o|
00000000 43 34 0d 0a 5c 30 78 5c 36 3c 00 00 e3 40 05 6f |C4..\0x\6<[email protected]|
00000000 43 34 0d 0a 5c 30 78 5c 7c 51 00 00 e3 b0 1d b9 |C4..\0x\|Q......|
00000000 43 34 0d 0a 5c 30 78 5c c4 67 00 00 e3 30 e9 b8 |C4..\0x\.g...0..|
00000000 43 34 0d 0a 5c 30 78 5c 0d 1c 00 00 e3 80 f7 e5 |C4..\0x\........|
00000000 43 34 0d 0a 5c 30 78 5c 7e 97 01 00 e3 90 1c 6e |C4..\0x\~......n|
00000000 43 34 0d 0a 5c 30 78 5c 4c 22 00 00 e3 90 13 b9 |C4..\0x\L"......|
00000000 43 34 0d 0a 5c 30 78 5c 56 1c 00 00 e3 40 fe e5 |C4..\0x\V....@..|
00000000 43 34 0d 0a 5c 30 78 5c 32 6b 00 00 e3 30 19 b9 |C4..\0x\2k...0..|
00000000 43 34 0d 0a 5c 30 78 5c c0 3c 00 00 e3 c0 10 6e |C4..\0x\.<.....n|
00000000 43 34 0d 0a 5c 30 78 5c d8 14 00 00 e3 c0 10 b9 |C4..\0x\........|
00000000 43 34 0d 0a 5c 30 78 5c b7 2e 00 00 e3 c0 f9 e5 |C4..\0x\........|
00000000 43 34 0d 0a 5c 30 78 5c ee 4b 00 00 e3 d0 35 6f |C4..\0x\.K....5o|
00000000 43 34 0d 0a 5c 30 78 5c 9c 32 00 00 e3 00 fc e5 |C4..\0x\.2......|
00000000 43 34 0d 0a 5c 30 78 5c 23 9d 00 00 e3 b0 14 6e |C4..\0x\#......n|
00000000 43 34 0d 0a 5c 30 78 5c 4b 08 00 00 e3 50 fa e5 |C4..\0x\K....P..|
00000000 43 34 0d 0a 08 c3 be 59 a8 78 00 00 e3 00 23 4c |C4.....Y.x....#L|
00000000 43 34 0d 0a 5c 30 78 5c b0 ac 00 00 e3 30 d9 6e |C4..\0x\.....0.n|
00000000 43 34 0d 0a 5c 30 78 5c 33 6b 00 00 e3 c0 90 6e |C4..\0x\3k.....n|
00000000 43 34 0d 0a 5c 30 78 5c de 68 00 00 e3 50 da 6e |C4..\0x\.h...P.n|
00000000 43 34 0d 0a 5c 30 78 5c 8a 4b 00 00 e3 90 fc e5 |C4..\0x\.K......|
00000000 43 34 0d 0a 5c 30 78 5c a5 1a 00 00 e3 b0 fd e5 |C4..\0x\........|
00000000 43 34 0d 0a 5c 30 78 5c b8 8e 00 00 e3 40 0e 6e |C4..\0x\[email protected]|
00000000 43 34 0d 0a 5c 30 78 5c ef ae 00 00 e3 e0 41 49 |C4..\0x\......AI|
00000000 43 34 0d 0a 5c 30 78 5c ae 13 00 00 e3 60 f6 e5 |C4..\0x\.....`..|
00000000 43 34 0d 0a ac e2 53 59 77 3f 00 00 e3 90 a3 6e |C4....SYw?.....n|
00000000 43 34 0d 0a ac e2 53 59 18 09 00 00 e3 60 f6 e5 |C4....SY.....`..|
00000000 43 34 0d 0a 5c 30 78 5c 13 2e 00 00 e3 70 02 6e |C4..\0x\.....p.n|
00000000 43 34 0d 0a 5c 30 78 5c 75 32 00 00 e3 30 90 6e |C4..\0x\u2...0.n|
00000000 43 34 0d 0a 5c 30 78 5c 01 01 00 00 e3 20 f4 e5 |C4..\0x\..... ..|
00000000 43 34 0d 0a 5c 30 78 5c 67 f1 00 00 e3 e0 0a 6e |C4..\0x\g......n|
00000000 43 34 0d 0a 5c 30 78 5c 1d 61 00 00 e3 40 05 6e |C4..\0x\[email protected]|
00000000 43 34 0d 0a 5c 30 78 5c 21 6c 01 00 e3 90 ec 48 |C4..\0x\!l.....H|
00000000 43 34 0d 0a 5c 30 78 5c 98 68 00 00 e3 00 dc 6e |C4..\0x\.h.....n|
00000000 43 34 0d 0a 5c 30 78 5c 66 4c 00 00 e3 c0 f9 e5 |C4..\0x\fL......|
00000000 43 34 0d 0a 5c 30 78 5c 85 bf 00 00 e3 40 0e 6e |C4..\0x\[email protected]|
00000000 43 34 0d 0a 5c 30 78 5c 03 0c 00 00 e3 00 fc e5 |C4..\0x\........|
00000000 43 34 0d 0a 5c 30 78 5c 38 73 00 00 e3 60 06 6e |C4..\0x\8s...`.n|
00000000 43 34 0d 0a 5c 30 78 5c a2 5b 00 00 e3 e0 0a 6e |C4..\0x\.[.....n|
00000000 43 34 0d 0a 5c 30 78 5c 12 41 00 00 e3 b0 64 70 |C4..\0x\.A....dp|
00000000 43 34 0d 0a 5c 30 78 5c 6f 03 00 00 e3 60 f6 e5 |C4..\0x\o....`..|
00000000 43 34 0d 0a 5c 30 78 5c a6 22 00 00 e3 f0 06 6e |C4..\0x\.".....n|
00000000 43 34 0d 0a 5c 30 78 5c 92 39 01 00 e3 c0 69 49 |C4..\0x\.9....iI|
00000000 43 34 0d 0a 95 9e c6 5a 52 b6 00 00 e3 d0 65 49 |C4.....ZR.....eI|
00000000 43 34 0d 0a 9d 47 da 59 05 24 00 00 e3 d0 f5 e5 |C4...G.Y.$......|
00000000 43 34 0d 0a 5c 30 78 5c 63 1a 00 00 e3 10 f8 e5 |C4..\0x\c.......|
00000000 43 34 0d 0a 5c 30 78 5c a3 5d 00 00 e3 e0 01 6e |C4..\0x\.].....n|
00000000 43 34 0d 0a 5c 30 78 5c 38 48 00 00 e3 f0 66 70 |C4..\0x\8H....fp|
00000000 43 34 0d 0a 5c 30 78 5c f2 4f 00 00 e3 40 0e 6e |C4..\0x\[email protected]|
00000000 43 34 0d 0a 5c 30 78 5c ff 54 00 00 e3 50 61 70 |C4..\0x\.T...Pap|
00000000 43 34 0d 0a 70 f8 4d 54 c7 7d 00 00 e3 80 97 6e |C4..p.MT.}.....n|
00000000 43 34 0d 0a 5c 30 78 5c 02 2a 01 00 e3 e0 61 4a |C4..\0x\.*....aJ|
:) gvb@ix:python-packages (master) $
the _marshal comes from pypy
Python-3.6.8/Python/pythonrun.c
static PyObject *
run_pyc_file(FILE *fp, const char *filename, PyObject *globals,
PyObject *locals, PyCompilerFlags *flags)
{
PyCodeObject *co;
PyObject *v;
long magic;
long PyImport_GetMagicNumber(void);
magic = PyMarshal_ReadLongFromFile(fp);
if (magic != PyImport_GetMagicNumber()) {
if (!PyErr_Occurred())
PyErr_SetString(PyExc_RuntimeError,
"Bad magic number in .pyc file");
goto error;
}
/* Skip mtime and size */
(void) PyMarshal_ReadLongFromFile(fp);
(void) PyMarshal_ReadLongFromFile(fp);
if (PyErr_Occurred()) {
goto error;
}
v = PyMarshal_ReadLastObjectFromFile(fp);
if (v == NULL || !PyCode_Check(v)) {
Py_XDECREF(v);
PyErr_SetString(PyExc_RuntimeError,
"Bad code object in .pyc file");
goto error;
}
fclose(fp);
co = (PyCodeObject *)v;
v = PyEval_EvalCode((PyObject*)co, globals, locals);
if (v && flags)
flags->cf_flags |= (co->co_flags & PyCF_MASK);
Py_DECREF(co);
return v;
error:
fclose(fp);
return NULL;
}
TypeError: name tuples must contain only strings, not 'tuple'
dispatching ) (41) to TYPE_SMALL_TUPLE
dispatching N (78) to TYPE_NONE
dispatching T (84) to TYPE_TRUE
dispatching Z (90) to TYPE_SHORT_ASCII_INTERNED
dispatching c (99) to TYPE_CODE
dispatching g (103) to TYPE_BINARY_FLOAT
dispatching i (105) to TYPE_INT
dispatching r (114) to TYPE_REF
dispatching s (115) to TYPE_STRING
dispatching z (122) to TYPE_SHORT_ASCII
:) gvb@ix:litb2 (master) $
:) gvb@ix:litb2 (master) $ cat wut.txt | grep -i DISP | grep TYPE | awk '{print $5}' | sort | uniq
TYPE_CODE
TYPE_SMALL_TUPLE
TYPE_STRING
looks lioke the first part is fine but then every other code object starts with a different
variable; maybe there's extra obfuscation going on again?
_main__ - INFO - Decrypting, patching and decompiling dropbox/client/main.pyc
__main__ - INFO - Successfully decompiled dropbox/client/main.pyc
__main__ - INFO - Decrypting, patching and decompiling dropbox/client/mapreduce.pyc
__main__ - INFO - Successfully decompiled dropbox/client/mapreduce.pyc
__main__ - INFO - Decrypting, patching and decompiling dropbox/client/membership/__init__.pyc
__main__ - INFO - Successfully decompiled dropbox/client/membership/__init__.pyc
__main__ - INFO - Decrypting, patching and decompiling dropbox/client/membership/account_db.pyc
__main__ - INFO - Successfully decompiled dropbox/client/membership/account_db.pyc
__main__ - INFO - Decrypting, patching and decompiling dropbox/client/membership/accounts_info_fetcher.pyc
__main__ - INFO - Successfully decompiled dropbox/client/membership/accounts_info_fetcher.pyc
__main__ - INFO - Decrypting, patching and decompiling dropbox/client/message_queue.pyc
__main__ - INFO - Successfully decompiled dropbox/client/message_queue.pyc
__main__ - INFO - Decrypting, patching and decompiling dropbox/client/mountain/__init__.pyc
__main__ - INFO - Successfully decompiled dropbox/client/mountain/__init__.pyc
__main__ - INFO - Decrypting, patching and decompiling dropbox/client/mountain/error_handler.pyc
__main__ - INFO - Successfully decompiled dropbox/client/mountain/error_handler.pyc
__main__ - INFO - Decrypting, patching and decompiling dropbox/client/mountain/preferences.pyc
__main__ - INFO - Successfully decompiled dropbox/client/mountain/preferences.pyc
__main__ - INFO - Decrypting, patching and decompiling dropbox/client/mountain/unsupported.pyc
__main__ - INFO - Successfully decompiled dropbox/client/mountain/unsupported.pyc
__main__ - INFO - Decrypting, patching and decompiling dropbox/client/mountain/windows.pyc
__main__ - INFO - Successfully decompiled dropbox/client/mountain/windows.pyc
__main__ - INFO - Decrypting, patching and decompiling dropbox/client/move_arbiter.pyc
Instruction context:
197 218 LOAD_GLOBAL 'ShowResult'
220 LOAD_ATTR 'FATAL_ERROR'
222 RETURN_VALUE
224_0 COME_FROM 190 '190'
224 END_FINALLY
226_0 COME_FROM 182 '182'
-> 226 JUMP_FORWARD 268 'to 268'
__main__ - WARNING - Failed to decompile dropbox/client/move_arbiter.pyc
__main__ - INFO - Decrypting, patching and decompiling dropbox/client/move_dropbox_folder.pyc
Instruction context:
500 60 LOAD_GLOBAL 'MOVE_ERROR_CODE'
62 LOAD_ATTR 'UNRECOVERABLE_ERROR'
64 BUILD_MAP_0 0 ''
66 BUILD_TUPLE_2 2 ''
68 RETURN_VALUE
70_0 COME_FROM 46 '46'
-> 70 END_FINALLY
__main__ - WARNING - Failed to decompile dropbox/client/move_dropbox_folder.pyc
__main__ - INFO - Decrypting, patching and decompiling dropbox/client/move_to_dropbox.pyc
__main__ - INFO - Successfully decompiled dropbox/client/move_to_dropbox.pyc
__main__ - INFO - Decrypting, patching and decompiling dropbox/client/multiaccount/__init__.pyc
__main__ - INFO - Successfully decompiled dropbox/client/multiaccount/__init__.pyc
__main__ - INFO - Decrypting, patching and decompiling dropbox/client/multiaccount/constants.pyc
__main__ - INFO - Successfully decompiled dropbox/client/multiaccount/constants.pyc
__main__ - INFO - Decrypting, patching and decompiling dropbox/client/multiaccount/controller.pyc
__main__ - INFO - Successfully decompiled dropbox/client/multiaccount/controller.pyc
__main__ - INFO - Decrypting, patching and decompiling dropbox/client/multiaccount/instance_database.pyc
__main__ - INFO - Successfully decompiled dropbox/client/multiaccount/instance_database.pyc
__main__ - INFO - Decrypting, patching and decompiling dropbox/client/multiaccount/move_dropbox.pyc
__main__ - INFO - Successfully decompiled dropbox/client/multiaccount/move_dropbox.pyc
__main__ - INFO - Decrypting, patching and decompiling dropbox/client/multiaccount/multibox.pyc
__main__ - INFO - Successfully decompiled dropbox/client/multiaccount/multibox.pyc
__main__ - INFO - Decrypting, patching and decompiling dropbox/client/multiaccount/selector.pyc
__main__ - INFO - Successfully decompiled dropbox/client/multiaccount/selector.pyc
__main__ - INFO - Decrypting, patching and decompiling dropbox/client/multiaccount/ui_strings.pyc
__main__ - INFO - Successfully decompiled dropbox/client/multiaccount/ui_strings.pyc
__main__ - INFO - Decrypting, patching and decompiling dropbox/client/multiaccount/values.pyc
__main__ - INFO - Successfully decompiled dropbox/client/multiaccount/values.pyc
__main__ - INFO - Decrypting, patching and decompiling dropbox/client/notifications/__init__.pyc
__main__ - INFO - Successfully decompiled dropbox/client/notifications/__init__.pyc
__main__ - INFO - Decrypting, patching and decompiling dropbox/client/notifications/actions.pyc
__main__ - INFO - Successfully decompiled dropbox/client/notifications/actions.pyc
__main__ - INFO - Decrypting, patching and decompiling dropbox/client/notifications/actions_factory_interface.pyc
__main__ - INFO - Successfully decompiled dropbox/client/notifications/actions_factory_interface.pyc
__main__ - INFO - Successfully decompiled dropbox/client/features/browse_search/__init__.pyc
__main__ - INFO - Decrypting, patching and decompiling _bootstrap_overrides.pyc
__main__ - INFO - Successfully decompiled _bootstrap_overrides.pyc
__main__ - INFO - Processed 3713 files (3591 succesfully decompiled, 122 failed)
opcodemap - WARNING - NOT writing opcode map as force overwrite not set
gvb@ix:litb2 (master) $
then between versions it changed so they moved it to
build_number/environment.pyc
from dropbox/foundation/environment.pyc
START ::= |- stmts (6)
__main__ - INFO - Successfully decompiled _bootstrap_overrides.pyc
__main__ - INFO - Processed 3771 files (3705 succesfully decompiled, 66 failed)
opcodemap - WARNING - NOT writing opcode map as force overwrite not set
gvb@ix:lookinsidethebox (master) $ python3 patchzip.py --dropbox-zip `find . -name python-packages-36.zip`
__main__ - INFO - rewriting ./tmp/dropbox-dist/dropbox-lnx.x86_64-71.4.108/python-packages-36.zip and outputting to ./out.zip
root - INFO - replacing e27eae61e774b19f4053361e523c771a92e838026da42c60e6b097d9cb2bc825 with c9a20c76364812a0b34bf7b3c00c2168bfdb433afa2519f0757214287b25fb01 in build_number/environment.pyc at line 11
root - INFO - replacing 5df50a9c69f00ac71f873d02ff14f3b86e39600312c0b603cbb76b8b8a433d3f with c9a20c76364812a0b34bf7b3c00c2168bfdb433afa2519f0757214287b25fb01 in dropbox/webdebugger/server.pyc at line 272
gvb@ix:lookinsidethebox (master) $ ls -lha out.zip
-rw-r--r-- 1 gvb staff 30M Apr 30 10:54 out.zip
gvb@ix:lookinsidethebox (master) $ diff -y --suppress-common-lines -W 333 <(unzip -lqq `find . -name python-packages-36.zip` | sort -k 4) <(unzip -lqq out.zip | sort -k 4)
693 04-23-2019 12:01 build_number/environment.pyc | 709 04-23-2019 12:01 build_number/environment.pyc
9269 04-23-2019 12:01 dropbox/webdebugger/server.pyc | 9669 04-23-2019 12:01 dropbox/webdebugger/server.pyc
gvb@ix:lookinsidethebox (master) $
gvb@ix:lookinsidethebox (master) $ uncompyle6 --version
uncompyle6 3.2.6
gvb@ix:lookinsidethebox (master) $
check if updating uncompyle6 to a newer version might help with decompiling the new versions properly.
sample error in _compat_pickle.py
Instruction context:
50 82 LOAD_STR 'collections.abc'
84 LOAD_CONST ('__builtin__', 'copy_reg', 'Queue', 'SocketServer', 'ConfigParser', 'repr', 'tkFileDialog', 'tkSimpleDialog', 'tkColorChooser', 'tkCommonDialog', 'Dialog', 'Tkdnd', 'tkFont', 'tkMessageBox', 'ScrolledText', 'Tkconstants', 'Tix', 'ttk', 'Tkinter', 'markupbase', '_winreg', 'thread', 'dummy_thread', 'dbhash', 'dumbdbm', 'dbm', 'gdbm', 'xmlrpclib', 'SimpleXMLRPCServer', 'httplib', 'htmlentitydefs', 'HTMLParser', 'Cookie', 'cookielib', 'BaseHTTPServer', 'test.test_support', 'commands', 'urlparse', 'robotparser', 'urllib2', 'anydbm', '_abcoll')
-> 86 <252> 42 ''
88 STORE_NAME IMPORT_MAPPING
__main__ - WARNING - Failed to decompile _compat_pickle.pyc to ./out/_compat_pickle.py
Exitting
opcodemap - WARNING - NOT writing opcode map as force overwrite not set
compared to using vanilla python 3.7
>>> s = open("./tmp/Python-3.7.4/Lib/__pycache__/_compat_pickle.cpython-37.opt-2.pyc", "rb").read()
>>> import marshal
>>> import dis
>>> k=marshal.loads(s[16:])
>>> dis.dis(k)
...
9 0 LOAD_CONST 0 ('builtins')
49 80 LOAD_CONST 40 ('dbm')
50 82 LOAD_CONST 41 ('collections.abc')
84 LOAD_CONST 42 (('__builtin__', 'copy_reg', 'Queue', 'SocketServer', 'ConfigParser', 'repr', 'tkFileDialog', 'tkSimpleDialog', 'tkColorChooser', 'tkCommonDialog', 'Dialog', 'Tkdnd', 'tkFont', 'tkMessageBox', 'ScrolledText', 'Tkconstants', 'Tix', 'ttk', 'Tkinter', 'markupbase', '_winreg', 'thread', 'dummy_thread', 'dbhash', 'dumbdbm', 'dbm', 'gdbm', 'xmlrpclib', 'SimpleXMLRPCServer', 'httplib', 'htmlentitydefs', 'HTMLParser', 'Cookie', 'cookielib', 'BaseHTTPServer', 'test.test_support', 'commands', 'urlparse', 'robotparser', 'urllib2', 'anydbm', '_abcoll'))
86 BUILD_CONST_KEY_MAP 42
88 STORE_NAME 0 (IMPORT_MAPPING)
58 90 LOAD_CONST 43 (('builtins', 'range'))