[docs] Fingerprints are now used

This commit is contained in:
Nemo 2021-07-16 21:13:37 +05:30
parent eb3747cb8a
commit 6f96fcbfc5
1 changed files with 8 additions and 4 deletions

View File

@ -21,8 +21,6 @@ v7.1.10 is currently not supported
$ which-electron Appium-linux-1.21.0.AppImage $ which-electron Appium-linux-1.21.0.AppImage
Fingerprint: v7.2.4-v7.3.3 Fingerprint: v7.2.4-v7.3.3
v7.3.3 is currently not supported v7.3.3 is currently not supported
$ which-electron Google.Play.Music.Desktop.Player.deb
``` ```
## How does it work? ## How does it work?
@ -32,10 +30,16 @@ We attempt multiple pathways:
1. The presence of a `electron.asar` file denotes an electron version `<v7.0.0`, since later releases dropped that file and embedded it in the binary instead. 1. The presence of a `electron.asar` file denotes an electron version `<v7.0.0`, since later releases dropped that file and embedded it in the binary instead.
2. A `version` text file is sometimes included in the final binary. 2. A `version` text file is sometimes included in the final binary.
3. The `node_modules/electron/package.json` file is sometimes present. 3. The `node_modules/electron/package.json` file is sometimes present.
4. A lookup table of [hashes from various electron releases](https://github.com/captn3m0/electron-fingerprints/) is used to guess the version. (WIP) 4. A lookup table of [hashes from various electron releases](https://github.com/captn3m0/electron-fingerprints/) is used to guess the version. In case of multiple matches, it returns a range of versions.
5. Get the electron version from the electron binary (WIP) 5. Get the electron version from the electron binary (WIP)
Note that this can be run against untrusted binaries as it does not _try to run the application_. Note that this can be run against untrusted binaries as it does not _try to run the application_. It has been tested against various file formats: zip/dmg/exe/AppImage/tar.gz etc. It extracts limited files using 7-zip.
## Known Issues
It is known to not work against:
1. Windows setup files (ones with `-setup` in their name)
## License ## License