🏡 index : github.com/captn3m0/which-electron.git

author Nemo <me@captnemo.in> 2021-07-16 21:13:37.0 +05:30:00
committer Nemo <me@captnemo.in> 2021-07-16 21:16:12.0 +05:30:00
commit
6f96fcbfc5e44de59101470c10fcdc10f84e62b2 [patch]
tree
6a3f250dde81bb20c99ee60f45af887ec909bc99
parent
eb3747cb8a6d780d8353588df040871716716a78
download
6f96fcbfc5e44de59101470c10fcdc10f84e62b2.tar.gz

[docs] Fingerprints are now used



Diff

 README.md | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/README.md b/README.md
index 7c3038f..6673932 100644
--- a/README.md
+++ a/README.md
@@ -21,8 +21,6 @@
$ which-electron Appium-linux-1.21.0.AppImage
Fingerprint: v7.2.4-v7.3.3
v7.3.3 is currently not supported

$ which-electron Google.Play.Music.Desktop.Player.deb
```


## How does it work?
@@ -32,10 +30,16 @@
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.
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)

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:

Note that this can be run against untrusted binaries as it does not _try to run the application_.
1. Windows setup files (ones with `-setup` in their name)

## License