Code Monkey home page Code Monkey logo

loldrivers_finder's Introduction

Process killer drivers finder

The purpose of this project is to retrieve potential process killer drivers.

It uses the imported functions attribute of the drivers.json file available on the LOLDrivers project.

To do so, the code will select all drivers importing the Nt/ZwOpenProcess AND Nt/ZwTerminateProcess.

Which means only drivers importing one of the *OpenProcess AND one of the *TerminatedProcess functions will be retrieved.

All the drivers retrieved by the script are POTENTIAL process killer drivers. It means that some of them aren't.

Of course, function can be imported dynamically, processes can be terminated other ways and handle retrieved without using Nt/ZwOpenProcess.

This script is not bullet proof. It's just a quick and dirty way to find easy targets, so it's 100% sure that it will miss some real process drivers killer drivers available on LOLDrivers.

However, in the list of drivers retrieved by the script today, some of them are indeed process killer drivers. So have fun !

Prerequisites

  • Python 3.x
  • Required packages: argparse, json, logging, os, datetime, requests

Usage

python finder.py [--api-url API_URL] [file_paths [file_paths ...]]
  • --api-url: URL of the API to lretrieve data from (default: "https://www.loldrivers.io/api/drivers.json").
  • file_paths: Paths to files containing lists of functions. If no file paths are provided, default lists of terminate functions and open functions will be used.

Main functions

check_data_changed(api_url)

Check if the API data has changed since the last retrieval. If the data file is not present or the content has changed, download the file.

  • api_url: URL of the API to retrieve data from.

process_data(drivers_data, functions_list=None)

Process the drivers' data based on the provided functions list.

  • drivers_data: List of drivers' data obtained from the API.
  • functions_list: List of function lists used for processing. If not provided or empty, default lists will be used.
  • desired_keys: List of keys used for search. If not provided or empty, default 'filename' and 'md5' will be used.

main(api_url, file_paths)

Main function to retrieve and process data from the LOLDrivers API.

  • api_url: URL of the API to retrieve data from.
  • file_paths: Paths to files containing lists of functions.

Example usage:

Basic usage:

python finder.py

Setting a specific URL where to download the driver.json file:

python finder.py  --api-url https://www.loldrivers.io/api/drivers.json

Setting specifics lists of functions (be sure to understand in the code how this function will be processed and searched !!!):

python finder.py functions_list_A.txt functions_list_B.txt

Retrieves data from the LOLDrivers API, saves it to the "drivers.json" file, and saves the API headers to the "headers.json" file. It also processes the data using function lists provided in the "functions_list_A.txt" and "functions_list_B.txt" files.


Thanks to @OMGhozlan for his contribution on the code refactoring !

loldrivers_finder's People

Contributors

omghozlan avatar xalicex 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.