Simple noob question, I'm not even a developer


#1

So I’m not developing anything, I would like to reverse-engineer an existing app built this “electron” stuff, I don’t even know what it is, like I said I’m no developer, there doesn’t seem to be any applications for download it’s just a bunch of github API stuff?

Anyway I got this applications, there’s a binary file istrolid.exe which runs the package that is the actual app, in the form of app.asar. Should be standard for you guys.

I would like to make some changes to this app but

  1. There doesn’t seem to be any unpackers for the .asar archive thing.
  2. Making even slight changes to the file (parts that are just script in plain text) seems to break it, so there’s probably some kind of checksum stuff going on.

So what’s the diagnosis here? Is it intentionally designed to make it difficult to reverse engineer packaged apps? Or am I just missing some required tools that will make this easier?


#2

The .asar file format can be extracted from, so if you’re interested, you might want to look into https://github.com/electron/asar

I’m not sure what that .exe is, on the other-hand, as it could be a Squirrel installer, or it could straight up be the app.

First things first, I think you’d want to extract the .asar, and try running it using Electron in the command line. So assuming you have npm, you’ll want to npm install electron-prebuilt and then Electron path/to/the/folder/the/asar/extracted/to.


#3

First do npm install -g asar do install the asar extracting/compression tool.
Then do asar extract app.asar or asar e app.asar (same command).

All the app’s source code will be in the extracted app folder (anything like index.html, index.js, server.js, the usual stuff).

Look for the js file that is the app’s entry point - I see a lot of people have index.js as theirs, so that might be common. Running this, then, you would need to install the latest electron-prebuilt by doing npm install electron-prebuilt (currently v1.2.3) and then doing ./node_modules/.bin/electron-prebuilt . in the directory where the app’s entry point is.

istrolid.exe, if found in a directory above app.asar and probably resources folder, is run and doesn’t try to install things on your computer, is the packaged app in a .exe. Otherwise it’s the Windows installer. You don’t have to worry too much about this. Just run using electron-prebuilt as I mentioned above.