Lazerbeam is a modular C program that dynamically loads and executes shared object (.so) files from an ammo/ directory to perform actions on a specified target file. It features animated console output for visual feedback and is intended to destroy bins (͠≖ ͜ʖ͠≖)
- Loads and executes missile plugins (
.sofiles) from theammo/directory. - Supports listing available missile plugins and provides a help menu.
./lazerbeam <missile.so> <target> # Launch a missile at the target file
./lazerbeam -h # Display help and available missiles
./lazerbeam --list-ammo # List available missile plugins- Input Validation: Checks for correct arguments (
<missile.so> <target>), or displays help (-h) or missile list (--list-ammo). - Dynamic Loading: Loads the specified
.sofile fromammo/usingdlopen. - Animation: Displays ASCII art from
art/art.artand animated text effects usinganimate_wave. - Execution: Calls the
runfunction from the loaded missile plugin, passing the target file as an argument. - Cleanup: Closes the dynamic library and exits.
- C compiler (e.g.,
gcc) - POSIX-compliant system with
dlfcn.hfor dynamic loading ammo/directory containing.somissile pluginsart/art.artfile for ASCII art (optional)
make
make clean
- Be careful what you shoot!
- Ensure missile plugins are trusted, you can add your own, it will be compiled automatically into an .so, they are dynamically executed.
- The program assumes
ammo/andart/directories exist in the working directory.
