winapi-categories

Windows API (WinAPI) functions and system calls with categories in JSON format, including arguments (SAL notation) and more.

https://github.com/reverseame/winapi-categories

Science Score: 54.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: scholar.google
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.6%) to scientific vocabulary

Keywords

native-api ntapi syscalls system-calls winapi windows windows-api windows-functions windows-syscalls
Last synced: 6 months ago · JSON representation ·

Repository

Windows API (WinAPI) functions and system calls with categories in JSON format, including arguments (SAL notation) and more.

Basic Info
  • Host: GitHub
  • Owner: reverseame
  • License: gpl-3.0
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 13.7 MB
Statistics
  • Stars: 14
  • Watchers: 2
  • Forks: 1
  • Open Issues: 1
  • Releases: 0
Topics
native-api ntapi syscalls system-calls winapi windows windows-api windows-functions windows-syscalls
Created about 3 years ago · Last pushed 9 months ago
Metadata Files
Readme License Code of conduct Citation Authors

README.md

Windows API and Syscall categories

Classification of Windows API (WinAPI) functions and system calls (syscalls), including the Native API (NTAPI), according to their category. Presented in JSON format for you research and automation needs.

In this repo, we use the terms Windows API or WinAPI to refer to what was (and still is nowadays) widely known as Win32 API, as recommended by Microsoft:

Note that this was formerly called the Win32 API. The name Windows API more accurately reflects its roots in 16-bit Windows and its support on 64-bit Windows

The main files of this repository are:

Usage

The JSON file comprising all MSDN API calls is already provided with the repo (winapi_categories.json).

The utilities folder contains several scripts used to create and modify the collection of WinAPI functions and syscalls.

If you need to re-create the repository from Vadim's original repo, you can do it like so:
python3 generate_api_json.py ../winapi-json/api_by_category
or just
./generate_api_json.py ../winapi-json/api_by_category
where /winapi/api_by_category is the directory created after cloning the (original) aforementioned repo.

Structure

The resulting JSON file has the following structure. The dict structure was chosen with Python optimization in mind. Feel free to change it according to your needs: { 'API_name':{ 'category':'cat', 'dll':'dll', 'header':'header', 'return_type':'type', 'n_arguments':INT, 'arguments':[{ 'in_out':'in_out', 'type':'type', 'name':'arg_name', 'description':'descr', }, {...}, {...}] } }

ATTENTION!: Only API_NAME and category are guaranteed to be present in the dict (winapi_categories.json file). If you find any incorrect, malformed or just missing entry, feel free (you are more than welcome to) to contribute to the project!

Authors

Razvan Raducu
Ricardo J. Rodríguez
Pedro Álvarez

Caveats

If you see several \t\t\t in certain description fields, just ignore them or .strip() it when parsing. That's because the original repo also contains them.

Acknowledgments

This repo is based on winapi-json.

TODO

Pending entries to review, fulfill or fix: MoveFileWithProgressTransacted GlobalCompact GlobalFix GlobalUnfix _hread _hwrite IsBadHugeReadPtr IsBadHugeWritePtr StgOpenAsyncDocfileOnIFillLockBytes SetWindowWord malloc URLDownloadToFile

Owner

  • Name: RME-DisCo Research Group
  • Login: reverseame
  • Kind: organization
  • Location: Zaragoza, Spain

Official repository of RME, a part of the DisCo research group from University of Zaragoza focused on software and systems security

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Raducu"
  given-names: "Razvan"
  orcid: "https://orcid.org/0000-0002-8938-755X"
- family-names: "Rodríguez"
  given-names: "Ricardo J."
  orcid: "https://orcid.org/0000-0001-7982-0359"
- family-names: "Álvarez"
  given-names: "Pedro"
  orcid: "https://orcid.org/0000-0002-6584-7259"
title: "Windows API and Syscalls categories"
version: 1.0.0
date-released: 2024-07-11
url: "https://github.com/reverseame/winapi-categories"
license: GPL-3.0
type: generic
abstract: >
  Windows API (WinAPI) functions and system calls with categories in JSON format, including arguments (SAL notation) and more.
keywords:
  - windows
  - api
  - system calls
  - syscalls
  - native api
  - ntapi
  - categorization

GitHub Events

Total
  • Issues event: 1
  • Watch event: 8
  • Issue comment event: 2
  • Push event: 3
  • Fork event: 1
Last Year
  • Issues event: 1
  • Watch event: 8
  • Issue comment event: 2
  • Push event: 3
  • Fork event: 1