rshc

Crates.iorshc
lib.rsrshc
version0.1.3
sourcesrc
created_at2018-12-28 06:51:11.201122
updated_at2018-12-29 15:05:37.830905
descriptionrshc: Rust compile shell script(or expect script) to Rust code and binary.
homepagehttps://github.com/chenyukang/rshc
repositoryhttps://github.com/chenyukang/rshc
max_upload_size
id104180
size26,538
Yukang (chenyukang)

documentation

README

rshc

Build Status

rshc: Compile shell script(or expect script) to Rust code and binary.

This is an script obfuscator rather than a real compiler!

Rshc takes a script, which is specified on the command line and produces Rust source code.

The generated source code is then compiled and linked to produce a stripped binary executable, which use the Rust compiler.

Actual execution will use process to exec the script, the but source code of script is encoded in binary with Rc4 algorithm.

This is used as:

  1. For the expect script which maybe contains some password, I will compile binary and remove the script.

  2. For some scripts which I want to add password for it.

Install

You need also install rustc, because rshc will use rustc to compile to binary.

  1. Install rustc if you didn't installed:
curl https://sh.rustup.rs -sSf | sh
  1. install the rshc cli app:
cargo install rshc

Usage

rshc -f demo.sh -o demo.rs

// add a passowrd when compile it, then binary will prompt for correct password before execution
rshc -f demo.sh -o demo.rs -p

try it with

./demo
Commit count: 62

cargo fmt