Cet outil n'est que la dernière implémentation qui rompt les couches de chiffrement et d'obscurcissement que Dropbox s'applique à leur interprète Python modifié. Il est basé sur le travail que l'auteur a fait de nombreuses lunes il y a beaucoup de lunes ainsi que du travail public effectué par d'autres. Pour plus d'informations, veuillez consulter le blog.
Libération initiale.
Le code a été mis à jour pour régénérer la base de données OPCode à l'aide de Python 3.7. Il vérifie désormais également la version de Uncompyle6 en cours d'installation (> = 3.5.x) de sorte qu'il donne une erreur lorsque Uncompyle6 est installé mais est très dépassé. Plusieurs bogues ont été fixés dans la génération du mappage OPCode. Merci à @slinkinone de m'avoir envoyé des e-mails et de m'avoir aidé à déboguer certains des problèmes.
uncompyle6 est installé. Vous pouvez le faire avec: pip3 install uncompyle6
Exécutez le script fetchdeps.sh Bash inclus. Cela va récupérer le code source Python ainsi que télécharger la dernière version de la Dropbox pour Linux Tarball. Le code source Python n'est nécessaire que si l'on veut régénérer la base de données OPCODE.
Veuillez noter que Python 3.7 est une exigence pour les deux appels suivants à fonctionner car des modifications ont été apportées à >=3.8 Types de code sous-jacents, etc.
Exécutez ce qui suit pour déballer, décrypter et décompiler la plupart du code source Dropbox Python. Il extrait vers un répertoire par défaut out :
python3 unpacker.py --dropbox-zip `find . -name python-packages-37.zip`
find . -name python-packages-37.zip | xargs python3.7 gendb.py --python-dir tmp/Python-3.7.4/ --db opcode.db --dropbox-zip
python3 patchzip.py --dropbox-zip `find . -name python-packages-37.zip` --output-zip out.zip
mv out.zip ~/.dropbox-dist/dropbox-lnx_64-71.4.108/python-packages-37.zip
~/.dropbox-dist/dropbox-lnx_64-71.4.108/dropbox
python3 checkdb.py --db opcodemap.db
Cela donnera quelque chose comme les suivants:
...
| ============================== | ======= | ======= |
| OPCODE | PYTHON | DROPBOX |
| ============================== | ======= | ======= |
| POP_TOP | 1 | 24 |
| ROT_TWO | 2 | 1 |
| ROT_THREE | 3 | 83 |
| DUP_TOP | 4 | 66 |
| UNARY_POSITIVE | 10 | 77 |
...
setenv.py . Pour plus d'informations à ce sujet, veuillez revoir le blog. Modifiez à volonté, puis utilisez-le comme celui-ci pour configurer l'environnement et exécuter Dropbox. eval `python3 setenv.py`
~/.dropbox-dist/dropbox-lnx_64-71.4.108/dropbox