Skip to content
Back to skills

Resolving Dynamic Api Hashing

ASecurity

'Resolves dynamically hashed Windows API names by brute-forcing observed hash constants

  • 22 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added September 11, 2026
securitypythongobashapisecurity

Works with

  • api

Security analysis

A100/100

Pro scans all 4 files and shows the line behind each finding

Scanned September 11, 2026

npx -y skills add meltedinhex/analyst-ai-pack --skill resolving-dynamic-api-hashing --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Resolving Dynamic Api Hashing?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Resolving Dynamic Api Hashing
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/meltedinhex-resolving-dynamic-api-hashing/badge)](https://www.skillsdirectory.com/skills/meltedinhex-resolving-dynamic-api-hashing)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: resolving-dynamic-api-hashing
description: 'Resolves dynamically hashed Windows API names by brute-forcing observed hash constants
  against a wordlist of API/DLL names using common malware hashing algorithms (ROR13, djb2, FNV,
  CRC32). Activates for requests to resolve API hashes, identify hashed imports, or reverse an API
  hashing routine.'
domain: cybersecurity
subdomain: reverse-engineering
tags:
  - reverse-engineering
  - api-hashing
  - obfuscation
  - imports
  - deobfuscation
version: 1.0.0
author: analyst-ai-pack
license: Apache-2.0
mitre_attack:
  - T1027.007
  - T1106
  - T1140
d3fend:
  - D3-SDA
  - D3-DA
references:
  - 'MITRE ATT&CK T1027.007 Dynamic API Resolution — https://attack.mitre.org/techniques/T1027/007/'
  - 'Windows API Index — https://learn.microsoft.com/windows/win32/apiindex/windows-api-list'
---

# Resolving Dynamic API Hashing

## When to Use

- A sample resolves APIs by hash (no plaintext import names) and you have the hash constants from
  disassembly.
- You need to map each hash back to an API/DLL name to understand functionality.

**Do not use** this to execute the resolver — it computes hashes over a name wordlist statically
and matches them to your observed constants.

## Prerequisites

- The hash constants observed in the binary and (optionally) a names wordlist.

## Workflow

### Step 1: Identify the algorithm

```bash
python scripts/analyst.py id 0x6A4ABC5B
```

Computes the constant under each supported algorithm against a built-in seed list to suggest which
algorithm/seed reproduces known API hashes.

### Step 2: Resolve hashes against a wordlist

```bash
python scripts/analyst.py resolve hashes.txt --algo ror13 --wordlist names.txt
```

Brute-forces the provided hashes against the wordlist using the chosen algorithm and reports
matches.

### Step 3: Annotate the disassembly

Label resolved call sites with their API names to recover behavior.

### Step 4: Document the routine

Record the algorithm, seed/initial value, and any key so the routine is reusable.

## Validation

- The chosen algorithm reproduces at least one known API hash (sanity anchor).
- Resolved names are real exported symbols of plausible DLLs.
- Unresolved hashes are reported, not silently dropped.

## Pitfalls

- Wrong endianness/rotation direction producing no matches — try variants.
- Algorithms seeded with a per-sample key; without the key, matches fail.
- Case sensitivity: some routines hash uppercased names, others as-is.

## References

- See [`references/api-reference.md`](references/api-reference.md) for the resolver.
- ATT&CK T1027.007 and the Windows API Index (linked in frontmatter).

Files in this skill

  • LICENSE340 B
  • SKILL.md2.6 KB
  • references/api-reference.md1.2 KB
  • scripts/analyst.py3.3 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.