/flea

Primary LanguageC++

Contributors Forks Stargazers Issues


Flea

Inject shared library into remote process.

Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgements

About The Project

Flea is a program that allows to inject shared library into a remote process.

Caveats

dlopen is a non-reentrant function, may stop the process forever cause by deadlock, flea has used stack trace to reduce risk.

Built With

Getting Started

Prerequisites

  • CMake
    curl https://github.com/Kitware/CMake/releases/download/v3.21.0/cmake-3.21.0-linux-x86_64.sh | sh

Installation

  1. Clone the repo
    git clone https://github.com/Hackerl/flea.git
  2. Update submodule
    git submodule update --init --recursive
  3. Build shellcode
    make -C shellcode
  4. Build injector
    mkdir -p build && cd build && cmake .. && make

Usage

usage: flea [options] pid(int) library(string) ... extra ...
positional:
        pid                 process id(int)
        library             shared library(string)
optional:
        -?, --help          print help message

Start target:

./target

Inject target:

./flea $(pidof target) library.so

Roadmap

See the open issues for a list of proposed features (and known issues).

Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the beerware License.

Contact

Hackerl - @Hackerl

Project Link: https://github.com/Hackerl/flea

Acknowledgements