WSH(1)

πŸ“¦
version 0.0.7 Β· 2 versions
, in debian trixie, nixos 26.05, nixpkgs unstable, ubuntu resolute, ubuntu stonking

✨ WSH(1) β€” bestie edition ✨

okay so real talk, this is the manual page for wsh, section 1 of the User Commands manual. yes queen, you found it πŸ’…


πŸ’– NAME πŸ’–

wsh β€” The witchcraft shell πŸ§™β™€οΈβœ¨


πŸ¦‹ SYNOPSIS πŸ¦‹

wsh [script] [-h|-q|-v|-V] [binary1] [binary2] ... [-x [script_arg1]
[script_arg2] ...]

🌸 DESCRIPTION 🌸

The Witchcraft Shell is part of the Witchcraft Compiler Collection. iconic behavior honestly.

So here's the vibe: wsh will take shared libraries, executables, and Witchcraft Shell Scripts written in Punk-C as input. It loads all of those executables into its own address space and then makes their API available for you to program with in its embedded interpreter. which means your binaries basically get superpowers β€” functionalities similar to what you'd get from reflection in interpreted languages like Java. no cap. πŸ”₯

⭐ Options

  • -x, --args β€” the optional script argument separator πŸŽ€
  • -q, --quiet β€” display less output 🀫
  • -v, --verbose β€” display more output πŸ—£οΈ
  • -V, --version β€” display version and build, then exit. bye bestie πŸ‘‹

πŸŽ€ Script

If the first argument is an existing file which is not a known binary file format, it is assumed to be a lua script and gets executed. simple as that fr fr 🧚

🌈 Binaries

Any binary file name before the -x tag gets loaded before running the script. and the last binary loaded is the main binary analyzed. the way that works is so real πŸ‘‘


πŸ’€ NOTES πŸ’€

⚠️ okay listen, this part matters, bestie.

The Witchcraft shell calls dlopen() on the shared libraries and executables it loads into its address space. And in doing so, it may execute constructor functions from those executables. That may be unsafe if your whole intent is to analyse hostile code such as malware or binary exploits. like, genuinely, be careful 😭

Also just so we're clear on the context: the Witcraft Compiler Collection is a set of reverse engineering tools. πŸ•΅οΈβ™€οΈ


🫢 AUTHOR 🫢

Written by endrazine (Jonathan Brossard) πŸ’–


πŸ› REPORTING BUGS πŸ›

Witchcraft Compiler Collection online bug tracker: <https://github.com/endrazine/wcc/issues>

found a bug? tell them, don't suffer in silence πŸ’Œ


Copyright Jonathan Brossard

License: MIT and BSD Licenses. See <https://github.com/endrazine/wcc/blob/master/LICENSE>.


🌟 SEE ALSO 🌟

wcc(1), wld(1), wldd(1), wcch(1)

The full documentation of the Witchcraft Compiler Collection is available online at <https://github.com/endrazine/wcc/wiki> πŸ¦‹


and that's the whole page, bestie πŸ’… this one's from the Witchcraft Compiler Collection, dated April 2017. go forth and load some binaries, but like, responsibly πŸŽ€βœ¨πŸ’–

πŸ“¦ where this page comes from