MarcoG3 / WhatsDump

Extract WhatsApp private key from any non-rooted Android device (Android 7+ supported)
https://plainsec.org
GNU Lesser General Public License v3.0
269 stars 57 forks source link

Project usability and lacklustre instructions #71

Open KoNickss opened 2 years ago

KoNickss commented 2 years ago

First, I'd like to start by describing my experience trying to use this otherwise great project:

Started by trying to run it on my arch install, I didn't mess with python and its package manager beforehand so I didn't expect any issues, I followed the exact instructions from the README and got a bunch of errors while installing dependencies, specifically matplotlib, found an issue on this page but the fix contained package info for ubuntu that didn't apply on arch, I thought this might also be the fault of my arch install, so I spun up a clean ubuntu 20.04 VM and did the exact steps you described, applied the fix from the issue (#62) and it ended up working, but still encountered many strange errors while running the program including it not detecting the phone numbers lib and some python2 syntax errors. If the instructions you give for your project do not work on a clean VM, than you need to refine them to the point they do, users shouldn't need to look into issues and what's installed on your personal system to use this properly, they should just be able to paste the commands from the README. Make it so that this project can be ran by the average user without issues.

Also, please change the way you order the readme, the requirements.txt command should be at the top part, where the instructions for using it are.

At the very least update your precompiled binaries, currently they are so outdated (2019!!) they cannot fetch the regex search for getting the android-sdk package, you cannot even do the very first step of the process using your precompiles, tried it on all 3 platforms you offer (macOS linux and windows) and all 3 fail (#59), that's bad maintenance work. Maybe provide a docker for this project, or instructions for installation that work for at the very least arch and ubuntu, or working binaries, or any other way the average user can use this project without hours of looking through the code and troubleshooting obscure problems.

If not, as a last resort, provide us with the pyinstaller configuration you use so we can make our own functional precompiles, anything that we can use to get this working.

You'd fix 90% of the issues on this page if you gave us a standardised way to use this project.