Skip to content

gRoussac/evaluator

Repository files navigation

Evaluator

This project aims to ease evaluating the parameters of javascript functions on a website.

Typically helps with deobfuscating https://stackoverflow.com/questions/32977908/how-can-i-deobfuscate-this-javascript using String.fromCharCode or window.eval or other functions like JSON.stringify

Deployed on Render at evaluator.onlyeum.io (beta 🏚️🕸️🕷️)

References :

Evaluator (18)

Evaluator (17)

Quick Start & Documentation

API

Use

evaluate/?url=[site url]&function=[function to evaluate]

Example

http://localhost:4200/evaluate/?url=https://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_eval&function=window.eval

a screen shot of the website will be provided in the response stream.

🐳 Docker

Build and run image with Dockerfile 🏃‍♂️

cd docker
docker build -t evaluator . --force-rm

docker compose up

🧙‍♀️ Development

Prerequisites

  • npm >= 8.19.2
  • nodejs >= 18.7.0 & < 19

🛠️ Usage with npm

Run npm install to install the application.

npm install

Development server

Run npm start for a dev server. Navigate to http://localhost:4200/. The app will automatically reload if you change any of the source files.

npm start

Build

Run npm run build to launch Jest test the project. The build artifacts will be stored in the dist/ directory.

npm run build

🦀 Usage with Rust

Install

📂 Go to evaluator subfolder

cd ./evaluator
cargo build
cargo run
  • Five parameters :

  • -path or -p csv file to load (first column is website domain)

  • -function or -f the function to evaluate

  • -nb_threads or -n the number of threads

  • -timeout or -t the navigation timeout

  • -search_pattern or -s a pattern to search

    Example

cargo run -- -p All-Live-Magento-Sites.csv -f window.eval -n 5 -s checkout

📝 License

GNU GENERAL PUBLIC LICENSE

🦺 Security

🪦 Errors ?

If you see any typos or errors you can edit the code directly on GitHub and raise a Pull Request on master branch, many thanks !