Giter Club home page Giter Club logo

donerloader's Introduction

Information

Döner is a project made for securing your program, The loader includes asynchronous client and server communication made with Boost's TCP library, Asio. The Döner loader project is written in C++20 due to the ease of development when building an asynchronous application using the new co routines.

This project was initially made for learning purposes and making a simple loader, looking back a lot of the code could have been better, but this source should allow anyone to be able write a simple loader by using it as a reference. A lot of the features are not finished and I will most likely not be updating it any time soon, but I hope someone is able to learn from it or possibly improve it as pull requests are welcome.

Links

Task-list

  • RSA & AES256 Key exchange
  • Module streaming
  • Client state verification handled over the server
  • GUI (using ImGui)
  • Login
  • Hardware ID locking
  • Password hashing (crucial)
  • Log files for the client and server
  • Version checking and updating
  • Remember Me
  • Create a static library for the cryptography wrapper
  • Heartbeat
  • Module injection
  • Client pre-loader

Setup

Cloning Döner

git clone --recursive https://github.com/krispybyte/DonerLoader.git

Compiling dependencies used by Döner

CryptoPP library compilation
1. cd to the Dependencies/cryptopp directory.
2. git clone https://github.com/noloader/cryptopp-pem.git.
3. Add pem.h, pem_common.cpp, pem_common.h, pem_read.cpp, pem_write.cpp, x509cert.cpp and x509cert.h from the crypto-pem directory to the cryptopp submodule.
4. Launch the project and include the files you've just added, compile in x64 architecture.
MongoDb CXX library compilation
1. cd over to the Dependencies/mongo-c-driver directory.
2. cmake -G "Visual Studio 16 2019" -DCMAKE_CXX_STANDARD=20 -DCMAKE_CXX_FLAGS="/Zc:__cplusplus" -DCMAKE_PREFIX_PATH=D:\Doner\Dependencies\mongo-c-driver -DCMAKE_INSTALL_PREFIX=D:\Doner\Dependencies-mongo-cxx-driver
3. Launch mongo-c-driver.sln, make sure the architecture is set to x64.
4. Compile the needed projects now, or all of them.
5. Launch CMake GUI, The source code path will be the directory of your mongo-cxx-driver, for example: D:\Doner\Dependencies\mongo-cxx-driver.
6. Press 'configure', set the generator and press finish.
7. You should get an error, make sure to turn BSONCXX_POLY_USE_STD on.
8. Make sure the 'Advanced' checkbox is turned on, scroll down to the bottom, you should see that bson-1.0_DIR and libbson-1.0_DIR are missing, set the libbson directory to the 'mongo-c-driver/src/libbson' directory, and the bson directory to the 'mongo-c-driver/src/libbson/bson', obviously include the full path for both.
9. You should get another error, with invalid libmongoc and mongoc directories, make the libmongoc path the 'mongo-c-driver/libmongoc' directory and the mongoc path the 'mongo-c-driver/libmongoc/mongoc' directory before pressing 'Configure' again.
10. Press 'Add Entry', name it 'CMAKE_CXX_STANDARD', set the type to string and the value to 20. Now edit the 'CMAKE_CXX_FLAGS' field and add "/Zc:__cplusplus" to it.
11. Configuration should be finished, press 'Generate' and then 'Open Project'.
12. Head to the 'mongo-cxx-driver/build' directory, launch MONGO_CXX_DRIVER.sln.
13. Make sure the architecture is set to x64, now compile 'mongocxx_shared'.
14. Done, the library will be in the 'mongo-cxx-driver/build/src/mongocxx/Release' directory by default.
15. In your actual project, make sure to also include the bson library, and both of the dynamic libraries.

Dependencies

Screenshots

Login form

Module selection form

Successful stream form

Crucial Credits

  • Sariaki for inspiring me to rename the project to Döner, here's his picture which inspired me:

donerloader's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.