Skip to content

Windows Behavior Catalog (WBC) is a collection of fundamental behaviors for Windows OS, represented as a sequence of Windows API and/or syscalls.

License

Notifications You must be signed in to change notification settings

reverseame/windows-behavior-catalog

Repository files navigation

Windows Behavior Catalog (WBC)

Collection of common Windows behaviors and their corresponding implementation. The source code is written in C++ and has been tested with cl (Microsoft (R) C/C++ Optimizing Compiler Version 19.34.31935 for x86). The files have been compiled and tested under Windows 10 Pro Version 10.0.19044 Build 19044.

The vast majority of the behaviors here defined are based on the Malware Behavior Catalog (MBC)'s micro-behaviors.

Feel free to contribute to the WBC's corpus by opening PRs and/or issues.

Contents

  • /src contains the tool to generate the catalog itself based on the contents of this repository.
  • /utils contains several utilities.
  • catalog.json and catalog.txt contain the WBC in JSON and plain text format, respectively.
  • discarded.json and discarded.txt contain the WBC discarded patterns in JSON and plain text format, respectively. This is just some additional info.
  • Each [OC000*] folder contain the sources, exes, reports and graphviz files the catalog is originated from.

Naming

In order to understand what a micro-objective, micro-behavior, or method is, please refer to the MBC. The contents of this catalog uses the following naming convention:

  • OC####: Micro-Objective
  • C####: Micro-Behavior
  • C####.###: Method
    • X at the end: eXpanded by us (with respect to the MBC)
      • Behaviors we consider relevant but are not included in the MBC as of the moment of this writing. We will eventually pull request the MBC to include them, if they deem it.
  • P####: Individual behavioral pattern
    • H at the end: Manually added pattern
      • Behavioral patterns both single or multiple nodes long we manually added to a specific method. This situation occurs when there is a behavior unequivocally identified by any pattern that does not arise as a result of our behavioral pattern generation algorithm (from the Category Graphs).

Structure

Within each category (or micro-objective) you will find the all the associated behaviors and their corresponding source code files, as well as the executables and the reports generated from CAPEv2. For each behavior, the source code file has (or pretends to) a self-explanatory name. Each category has the following structure:

  • [ID] Micro-objective
    • [ID] Micro-behavior
      • [ID] Method
        • src: Folder containing the source code files.
        • exe: Folder containing the executable files.
        • reports: Folder containing the report files, as generated by CAPEv2 (JSON formatted).
        • gv: Folder containing the graphviz files, used to perform pattern matching and other analysis techniques.

Source Code

This repository contains a mix of original work by the WBC authors and code adapted or inspired by other sources. When using content from others, we make sure to credit the original creators.

Each behavior implementation is designed to be a straightforward, working example of that behavior. Keep it simple, clear, and focused!

Compilation

Files have been compiled with cl, the same compiler Visual Studio uses, but from the command line: Use the Microsoft C++ toolset from the command line. You can find more information and instructions here: Walkthrough: Compiling a Native C++ Program on the Command Line.

The specific command used to compile each .cpp file is specified within the header of the file itself.

How to cite

TBD

How to update

The typical workflow for adding new content to the Windows Behavior Catalog is as follows:

  1. Create the corresponding folder for the method.
  2. Place in \src the (ideally working) C/C++ source code.
  3. Compile the source code and place the resulting executable in the \exe folder.
  4. Submit the executable file to CAPEv2 for analysis. ATTENTION! We are using our modified version of capemon.
  5. Download the generated report.json file(s) and place them in the \reports folder.
  6. Transform the analysis/es into their corresponding transition matrices and callgraphs (using our tool TBA). Place the resulting .gv files into their corresponding \gv folder.
    1. In the utils folder there are some tools to help automatically move .gv and report files.
  7. Update winapi_categories_json if needed.
  8. Update the catalog creation script if needed.
  9. Use the script to regenerate the .json and .txt catalogs (the WBC itself).

Authors

Razvan Raducu
Ricardo J. RodrΓ­guez
Pedro Álvarez

WBC Composition

The WBC comprises: (Information generated with statistics.py)

  • Total Micro-objectives: 6
  • Total Micro-behaviors: 30
  • Total Methods: 87
  • Total Patterns: 329
  • Minimum Pattern Length: 1
  • Maximum Pattern Length: 7

Information subject to change. Updated on 2024.17.12

$ tree -L 5 -P "*.exe"
.
β”œβ”€β”€ [OC0001] Filesystem
β”‚Β Β  β”œβ”€β”€ [C0015] Alter Filename Extension
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ [C0015.001X] PathRenameExtension
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── PathRenameExtension.exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ gv
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ reports
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── src
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ [C0015.002X] PathCombine
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── PathCombine.exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ gv
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ reports
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── src
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ [C0015.003X] PathCchCombine
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── PathCchCombine.exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ gv
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ reports
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── src
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ [C0015.004X] PathCchCombineEx
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── PathCchCombineEx.exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ gv
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ reports
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── src
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ [C0015.005X] PathAllocCombine
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── PathAllocCombine.exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ gv
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ reports
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── src
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ [C0015.006X] PathAddExtension
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── PathAddExtension.exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ gv
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ reports
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── src
β”‚Β Β  β”‚Β Β  └── [C0015.007X] PathCchRenameExtension
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ exe
β”‚Β Β  β”‚Β Β      β”‚Β Β  └── PathCchRenameExtension.exe
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ gv
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ reports
β”‚Β Β  β”‚Β Β      └── src
β”‚Β Β  β”œβ”€β”€ [C0016X] Create or Open file
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ [C0016X.001X] CreateFile
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── CreateFile.exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ gv
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ reports
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── src
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ [C0016X.002X] CreateFile2
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── CreateFile2.exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ gv
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ reports
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── src
β”‚Β Β  β”‚Β Β  └── [C0016X.003X] OpenFile
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ exe
β”‚Β Β  β”‚Β Β      β”‚Β Β  └── OpenFile.exe
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ gv
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ reports
β”‚Β Β  β”‚Β Β      └── src
β”‚Β Β  β”œβ”€β”€ [C0045] Copy File
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ [C0045.001X] CopyFile
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── CopyFile.exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ gv
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ reports
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── src
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ [C0045.002X] CopyFileEx
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── CopyFileEx.exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ gv
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ reports
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── src
β”‚Β Β  β”‚Β Β  └── [C0045.003X] CopyFile2
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ exe
β”‚Β Β  β”‚Β Β      β”‚Β Β  └── CopyFile2.exe
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ gv
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ reports
β”‚Β Β  β”‚Β Β      └── src
β”‚Β Β  β”œβ”€β”€ [C0046] Create Directory
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ [C0046.001X] CreateDirectory
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── CreateDirectory.exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ gv
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ reports
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── src
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ [C0046.002X] CreateDirectoryEx
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── CreateDirectoryEx.exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ gv
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ reports
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── src
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ [C0046.003X] SHCreateDirectory
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── SHCreateDirectory.exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ gv
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ reports
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── src
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ [C0046.004X] SHCreateDirectoryEx
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── SHCreateDirectoryEx.exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ gv
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ reports
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── src
β”‚Β Β  β”‚Β Β  └── [C0046.005X] CreateFileTransacted
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ exe
β”‚Β Β  β”‚Β Β      β”‚Β Β  └── CreateFileTransacted.exe
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ gv
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ reports
β”‚Β Β  β”‚Β Β      └── src
β”‚Β Β  β”œβ”€β”€ [C0047] Delete File
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ [C0047.001X] DeleteFile
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── DeleteFile.exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ gv
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ reports
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── src
β”‚Β Β  β”‚Β Β  └── [C0047.002X] DeleteFileTransacted
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ exe
β”‚Β Β  β”‚Β Β      β”‚Β Β  └── DeleteFileTransacted.exe
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ gv
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ reports
β”‚Β Β  β”‚Β Β      └── src
β”‚Β Β  β”œβ”€β”€ [C0049] Get File Attributes
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ [C0049.001X] GetFileAttributes
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── GetFileAttributes.exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ gv
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ reports
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── src
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ [C0049.002X] GetFileAttributesEx
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── GetFileAttributesEx.exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ gv
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ reports
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── src
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ [C0049.003X] GetFileAttributesTransacted
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── GetFileAttributesTransacted.exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ gv
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ reports
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── src
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ [C0049.004X] GetFileInformationByHandle
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── GetFileInformationByHandle.exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ gv
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ reports
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── src
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ [C0049.005X] FindFirstFile
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── FindFirstFile.exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ gv
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ reports
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── src
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ [C0049.006X] FindFirstFileEx
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── FindFirstFileEx.exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ gv
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ reports
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── src
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ [C0049.007X] FindFirstFileTransacted
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── FindFirstFileTransacted.exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ gv
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ reports
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── src
β”‚Β Β  β”‚Β Β  └── [C0049.008X] FindNextFile
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ exe
β”‚Β Β  β”‚Β Β      β”‚Β Β  └── FindNextFile.exe
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ gv
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ reports
β”‚Β Β  β”‚Β Β      └── src
β”‚Β Β  β”œβ”€β”€ [C0051] Read File
β”‚Β Β  β”‚Β Β  └── [C0051.001X] ReadFile
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ exe
β”‚Β Β  β”‚Β Β      β”‚Β Β  β”œβ”€β”€ ReadFile_1.exe
β”‚Β Β  β”‚Β Β      β”‚Β Β  └── ReadFile_2.exe
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ gv
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ reports
β”‚Β Β  β”‚Β Β      └── src
β”‚Β Β  β”œβ”€β”€ [C0052] Write File
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ [C0052.001X] WriteFile
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── WriteFile.exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ gv
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ reports
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── src
β”‚Β Β  β”‚Β Β  └── [C0052.002X] WriteFileEx
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ exe
β”‚Β Β  β”‚Β Β      β”‚Β Β  └── WriteFileEx.exe
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ gv
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ reports
β”‚Β Β  β”‚Β Β      └── src
β”‚Β Β  β”œβ”€β”€ [C0063] Move File
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ [C0063.001X] MoveFile
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── MoveFile.exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ gv
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ reports
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── src
β”‚Β Β  β”‚Β Β  └── [C0063.002X] MoveFileEx
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ exe
β”‚Β Β  β”‚Β Β      β”‚Β Β  └── MoveFileEx.exe
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ gv
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ reports
β”‚Β Β  β”‚Β Β      └── src
β”‚Β Β  └── TODO
β”‚Β Β      └── src
β”œβ”€β”€ [OC0002] Memory
β”‚Β Β  β”œβ”€β”€ [C0007] Allocate Memory
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ [C0007.001X] VirtualAlloc
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── VirtualAlloc.exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ gv
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ reports
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── src
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ [C0007.003X] GlobalAlloc
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── GlobalAlloc.exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ gv
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ reports
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── src
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ [C0007.004X] LocalAlloc
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── LocalAlloc.exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ gv
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ reports
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── src
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ [C0007.005X] malloc
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── malloc.exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ gv
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ reports
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── src
β”‚Β Β  β”‚Β Β  └── TODO
β”‚Β Β  β”‚Β Β      └── [C0007.002X] HeapAlloc
β”‚Β Β  β”‚Β Β          β”œβ”€β”€ exe
β”‚Β Β  β”‚Β Β          └── src
β”‚Β Β  └── [C0008] Change Memory Protection
β”‚Β Β      β”œβ”€β”€ [C0008.001X] VirtualProtect
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ exe
β”‚Β Β      β”‚Β Β  β”‚Β Β  └── VirtualProtect.exe
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ gv
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ reports
β”‚Β Β      β”‚Β Β  └── src
β”‚Β Β      └── [C0008.002X] VirtualProtectEx
β”‚Β Β          β”œβ”€β”€ exe
β”‚Β Β          β”‚Β Β  └── VirtualProtectEx.exe
β”‚Β Β          β”œβ”€β”€ gv
β”‚Β Β          β”œβ”€β”€ reports
β”‚Β Β          └── src
β”œβ”€β”€ [OC0003] Process
β”‚Β Β  β”œβ”€β”€ [C0017] Create Process
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ [C0017.001X] ShellExecute
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── ShellExecute.exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ gv
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ reports
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── src
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ [C0017.002X] ShellExecuteEx
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── ShellExecuteEx.exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ gv
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ reports
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── src
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ [C0017.003X] CreateProcess
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── CreateProcess.exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ gv
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ reports
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── src
β”‚Β Β  β”‚Β Β  └── [C0017.004X] WinExec
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ exe
β”‚Β Β  β”‚Β Β      β”‚Β Β  └── WinExec.exe
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ gv
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ reports
β”‚Β Β  β”‚Β Β      └── src
β”‚Β Β  β”œβ”€β”€ [C0038] Create Thread
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ [C0038.001X] CreateThread
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── CreateThread.exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ gv
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ reports
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── src
β”‚Β Β  β”‚Β Β  └── [C0038.002X] CreateRemoteThread
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ exe
β”‚Β Β  β”‚Β Β      β”‚Β Β  └── CreateRemoteThread.exe
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ gv
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ reports
β”‚Β Β  β”‚Β Β      └── src
β”‚Β Β  β”œβ”€β”€ [C0042] Create Mutex
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ [C0042.001X] CreateMutex
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── CreateMutex.exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ gv
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ reports
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── src
β”‚Β Β  β”‚Β Β  └── [C0042.002X] CreateMutexEx
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ exe
β”‚Β Β  β”‚Β Β      β”‚Β Β  └── CreateMutexEx.exe
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ gv
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ reports
β”‚Β Β  β”‚Β Β      └── src
β”‚Β Β  β”œβ”€β”€ [C0043] Check Mutex
β”‚Β Β  β”‚Β Β  └── [C0043.001X] OpenMutex
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ exe
β”‚Β Β  β”‚Β Β      β”‚Β Β  └── OpenMutex.exe
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ gv
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ reports
β”‚Β Β  β”‚Β Β      └── src
β”‚Β Β  β”œβ”€β”€ [C0054] Resume Thread
β”‚Β Β  β”‚Β Β  └── [C0054.001X] ResumeThread
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ exe
β”‚Β Β  β”‚Β Β      β”‚Β Β  └── ResumeThread.exe
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ gv
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ reports
β”‚Β Β  β”‚Β Β      └── src
β”‚Β Β  β”œβ”€β”€ [C0055] Suspend Thread
β”‚Β Β  β”‚Β Β  └── [C0055.001X] SuspendThread
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ exe
β”‚Β Β  β”‚Β Β      β”‚Β Β  └── SuspendThread.exe
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ gv
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ reports
β”‚Β Β  β”‚Β Β      └── src
β”‚Β Β  β”œβ”€β”€ [C0064] Enumerate Threads
β”‚Β Β  β”‚Β Β  └── [C0064.001X] Thread32First_Thread32Next
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ exe
β”‚Β Β  β”‚Β Β      β”‚Β Β  └── enumerate_threads.exe
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ gv
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ reports
β”‚Β Β  β”‚Β Β      └── src
β”‚Β Β  β”œβ”€β”€ [C0065] Open Process
β”‚Β Β  β”‚Β Β  └── [C0065.001X] OpenProcess
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ exe
β”‚Β Β  β”‚Β Β      β”‚Β Β  └── OpenProcess.exe
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ gv
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ reports
β”‚Β Β  β”‚Β Β      └── src
β”‚Β Β  β”œβ”€β”€ [C0066] Open Thread
β”‚Β Β  β”‚Β Β  └── [C0066.001X] OpenThread
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ exe
β”‚Β Β  β”‚Β Β      β”‚Β Β  └── OpenThread.exe
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ gv
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ reports
β”‚Β Β  β”‚Β Β      └── src
β”‚Β Β  β”œβ”€β”€ [C0070X] Process Enumeration
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ [C0070X.001X] CreateSnapshot_Process32Next
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── CreateSnapshot_Iterate.exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ gv
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ reports
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── src
β”‚Β Β  β”‚Β Β  └── [C0070X.002X] EnumProcesses
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ exe
β”‚Β Β  β”‚Β Β      β”‚Β Β  └── EnumProcesses.exe
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ gv
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ reports
β”‚Β Β  β”‚Β Β      └── src
β”‚Β Β  └── TODO
β”‚Β Β      └── src
β”œβ”€β”€ [OC0005] Cryptography
β”‚Β Β  β”œβ”€β”€ [C0027] Encrypt Data
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ [C0027.001X] CryptEncrypt
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── CryptEncrypt.exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ gv
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ reports
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── src
β”‚Β Β  β”‚Β Β  └── [C0027.002X] BCryptEncrypt
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ exe
β”‚Β Β  β”‚Β Β      β”‚Β Β  └── BCryptEncrypt.exe
β”‚Β Β  β”‚Β Β      └── src
β”‚Β Β  β”œβ”€β”€ [C0028] Encryption Key
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ [C0028.001X] CryptGenKey
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── CryptGenKey.exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ gv
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ reports
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── src
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ [C0028.002X] CryptImportKey
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── CryptImportKey.exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── src
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ [C0028.003X] CryptImportPublicKeyInfo
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── CryptImportPublicKeyInfo.exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── src
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ [C0028.004X] CryptImportPublicKeyInfoEx
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── CryptImportPublicKeyInfoEx.exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── src
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ [C0028.005X] BCryptImportKeyPair
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── BCryptImportKeyPair.exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── src
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ [C0028.006X] BCryptImportKey
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── BCryptImportKey.exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── src
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ [C0028.008X] CryptExportKey
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── CryptExportKey.exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── src
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ [C0028.009X] BCryptExportKey
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── BCryptExportKey.exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── src
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ [C0028.010X] CryptExportPublicKeyInfo
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── CryptExportPublicKeyInfo.exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── src
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ [C0028.011X] CryptExportPublicKeyInfoEx
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── CryptExportPublicKeyInfoEx.exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── src
β”‚Β Β  β”‚Β Β  └── [C0028.012X] BCryptGenerateKeyPair
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ exe
β”‚Β Β  β”‚Β Β      β”‚Β Β  └── BCryptGenerateKeyPair.exe
β”‚Β Β  β”‚Β Β      └── src
β”‚Β Β  β”œβ”€β”€ [C0029] Cryptographic Hash
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ [C0029.001X] CryptCreateHash
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── CryptCreateHash.exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── src
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ [C0029.002X] CryptHashData
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── CryptHashData.exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── src
β”‚Β Β  β”‚Β Β  └── [C0029.003X] CryptDestroyHash
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ exe
β”‚Β Β  β”‚Β Β      β”‚Β Β  └── CryptDestroyHash.exe
β”‚Β Β  β”‚Β Β      └── src
β”‚Β Β  β”œβ”€β”€ [C0031] Decrypt Data
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ [C0031.001X] CryptDecrypt
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── CryptDecrypt.exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── src
β”‚Β Β  β”‚Β Β  └── [C0031.002X] BCryptDecrypt
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ exe
β”‚Β Β  β”‚Β Β      β”‚Β Β  └── BCryptDecrypt.exe
β”‚Β Β  β”‚Β Β      └── src
β”‚Β Β  └── TODO
β”‚Β Β      β”œβ”€β”€ [C0028.007X] CryptDecodeObjectEx
β”‚Β Β      └── CryptDecodeObject
β”œβ”€β”€ [OC0006] Communication
β”‚Β Β  β”œβ”€β”€ [C0001] Socket Communication
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ [C0001.006] Receive Data
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── socket_recv.exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ gv
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ reports
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── src
β”‚Β Β  β”‚Β Β  └── [C0001.007] Send Data
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ exe
β”‚Β Β  β”‚Β Β      β”‚Β Β  └── socket_send.exe
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ gv
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ reports
β”‚Β Β  β”‚Β Β      └── src
β”‚Β Β  β”œβ”€β”€ [C0002] HTTP Communication
β”‚Β Β  β”‚Β Β  └── [C0002.008] WinHTTP
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ exe
β”‚Β Β  β”‚Β Β      β”‚Β Β  └── winhttp_send_recv.exe
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ gv
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ reports
β”‚Β Β  β”‚Β Β      └── src
β”‚Β Β  β”œβ”€β”€ [C0005] WinINet Communication
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ [C0005.001] InternetConnect
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── InternetConnect.exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ gv
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ reports
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── src
β”‚Β Β  β”‚Β Β  └── [C0005.003] InternetOpenURL
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ exe
β”‚Β Β  β”‚Β Β      β”‚Β Β  └── InternetOpenUrl.exe
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ gv
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ reports
β”‚Β Β  β”‚Β Β      └── src
β”‚Β Β  └── TODO
β”œβ”€β”€ [OC0008] Operating System
β”‚Β Β  β”œβ”€β”€ [C0034] Environment Variable
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ [C0034.001] Set Environment Variable
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”‚Β Β  └── SetEnvironmentVariable.exe
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ gv
β”‚Β Β  β”‚Β Β  β”‚Β Β  β”œβ”€β”€ reports
β”‚Β Β  β”‚Β Β  β”‚Β Β  └── src
β”‚Β Β  β”‚Β Β  └── [C0034.002] Check Environment Variable
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ exe
β”‚Β Β  β”‚Β Β      β”‚Β Β  β”œβ”€β”€ ExpandEnvironmentStrings.exe
β”‚Β Β  β”‚Β Β      β”‚Β Β  β”œβ”€β”€ GetEnvironmentStrings.exe
β”‚Β Β  β”‚Β Β      β”‚Β Β  └── GetEnvironmentVariable.exe
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ gv
β”‚Β Β  β”‚Β Β      β”œβ”€β”€ reports
β”‚Β Β  β”‚Β Β      └── src
β”‚Β Β  └── [C0036] Registry
β”‚Β Β      β”œβ”€β”€ [C0036.001] Create or Set Registry Value
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ exe
β”‚Β Β      β”‚Β Β  β”‚Β Β  β”œβ”€β”€ RegSetKeyValue.exe
β”‚Β Β      β”‚Β Β  β”‚Β Β  β”œβ”€β”€ RegSetValue.exe
β”‚Β Β      β”‚Β Β  β”‚Β Β  └── RegSetValueEx.exe
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ gv
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ reports
β”‚Β Β      β”‚Β Β  └── src
β”‚Β Β      β”œβ”€β”€ [C0036.002] Delete Registry Key
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ exe
β”‚Β Β      β”‚Β Β  β”‚Β Β  β”œβ”€β”€ RegDeleteKey.exe
β”‚Β Β      β”‚Β Β  β”‚Β Β  └── RegDeleteKeyEx.exe
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ gv
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ reports
β”‚Β Β      β”‚Β Β  └── src
β”‚Β Β      β”œβ”€β”€ [C0036.003] Open Registry Key
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ exe
β”‚Β Β      β”‚Β Β  β”‚Β Β  β”œβ”€β”€ RegOpenCurrentUser.exe
β”‚Β Β      β”‚Β Β  β”‚Β Β  β”œβ”€β”€ RegOpenKey.exe
β”‚Β Β      β”‚Β Β  β”‚Β Β  └── RegOpenKeyEx.exe
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ gv
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ reports
β”‚Β Β      β”‚Β Β  └── src
β”‚Β Β      β”œβ”€β”€ [C0036.004] Create Registry Key
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ exe
β”‚Β Β      β”‚Β Β  β”‚Β Β  β”œβ”€β”€ RegCreateKey.exe
β”‚Β Β      β”‚Β Β  β”‚Β Β  └── RegCreateKeyEx.exe
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ gv
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ reports
β”‚Β Β      β”‚Β Β  └── src
β”‚Β Β      β”œβ”€β”€ [C0036.005] Query Registry Key
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ exe
β”‚Β Β      β”‚Β Β  β”‚Β Β  └── RegQueryInfoKey.exe
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ gv
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ reports
β”‚Β Β      β”‚Β Β  └── src
β”‚Β Β      β”œβ”€β”€ [C0036.006] Query Registry Value
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ exe
β”‚Β Β      β”‚Β Β  β”‚Β Β  β”œβ”€β”€ RegEnumValue.exe
β”‚Β Β      β”‚Β Β  β”‚Β Β  β”œβ”€β”€ RegGetValue.exe
β”‚Β Β      β”‚Β Β  β”‚Β Β  └── RegQueryValueEx.exe
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ gv
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ reports
β”‚Β Β      β”‚Β Β  └── src
β”‚Β Β      β”œβ”€β”€ [C0036.007] Delete Registry Value
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ exe
β”‚Β Β      β”‚Β Β  β”‚Β Β  β”œβ”€β”€ RegDeleteKeyValue.exe
β”‚Β Β      β”‚Β Β  β”‚Β Β  └── RegDeleteValue.exe
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ gv
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ reports
β”‚Β Β      β”‚Β Β  └── src
β”‚Β Β      └── TODO
β”‚Β Β          β”œβ”€β”€ exe
β”‚Β Β          β”‚Β Β  └── RegQueryValue.exe
β”‚Β Β          β”œβ”€β”€ gv
β”‚Β Β          β”œβ”€β”€ reports
β”‚Β Β          └── src

TODO

  • Code for:
    • NtDeleteFile
    • NtOpenFile
    • getaddrinfo
    • More code with HttpOpenRequest and HttpSendRequest (maybe consider them single-node patterns)

About

Windows Behavior Catalog (WBC) is a collection of fundamental behaviors for Windows OS, represented as a sequence of Windows API and/or syscalls.

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published