本文へ移動
cccskills
無料GitHub で公開

defeating-string-and-api-obfuscation

Recovers obfuscated strings and resolves dynamically loaded APIs in malware: reversing XOR/stack-string/encoding schemes and mapping API-hash lookups back to function names. Activates for requests to deobfuscate strings, decode stack strings, or resolve API hashing in a binary.

インストール方法を見る

含まれるファイル(4)

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

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Defeating String and API Obfuscation

When to Use

  • A binary has few readable strings because they are XOR/stack-encoded or built at runtime.
  • The import table is sparse because APIs are resolved by hash at runtime.
  • You need to recover C2 URLs, paths, and the real API set to understand behavior.

Do not use plain strings and conclude "no indicators" — modern malware hides strings; absence of readable strings is itself a sign of obfuscation.

Prerequisites

  • A disassembler/decompiler to read the decode routine, plus the bundled XOR/hash tooling.
  • Optionally FLOSS for automated stack/decoded-string recovery.

Workflow

Step 1: Recognize the obfuscation type

Stack strings  : bytes mov'd to the stack one/few at a time, then used
Single-byte XOR: a loop XORing a buffer with a constant
Multi-byte/RC4 : a keyed stream over a blob
API hashing    : a hash compared against export-name hashes to resolve functions

Step 2: Recover XOR-encoded strings

If you find the key and ciphertext, decode directly. The script brute-forces single-byte XOR and surfaces readable results:

python scripts/analyst.py xor-strings sample.bin

Step 3: Reconstruct stack strings

Read the decompiler to collect the byte sequence assembled on the stack and reassemble it. For volume, FLOSS emulates and extracts these automatically.

Step 4: Resolve API hashing

Identify the hash algorithm (often ROR13/ROR7 additive, or djb2). Precompute hashes for known export names and match the constants in the binary back to functions:

python scripts/analyst.py api-hash --algo ror13 --hash 0x726774C

Step 5: Reannotate and extract IOCs

Apply recovered strings and API names back in the disassembler and extract the now-visible URLs, paths, and behavior.

Validation

  • Decoded strings are meaningful (URLs, DLL/API names, paths), not random bytes.
  • Resolved API names match the calls' usage in the surrounding code.
  • The recovered API set explains behavior seen dynamically.

Pitfalls

  • Assuming single-byte XOR when it is keyed/RC4; check key length and the decode loop.
  • Using the wrong hash algorithm/seed and getting no matches — verify against a known function.
  • Recovering strings but not feeding them back into the analysis.

References

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Reverses Android malware: unpacking APKs, decompiling DEX bytecode to readable Java, auditing the manifest for abused permissions and components, and locating dynamically loaded or native payloads. Activates for requests to analyze an APK, decompile DEX, or investigate a suspicious Android app.

日本語の概要は準備中です。原文の説明を表示しています。

meltedinhex/analyst-ai-pack212026年7月7日 更新

Analyzes API call traces from a sandbox or API monitor (JSON) to group calls by category, reconstruct high-level behaviors (process injection, file drops, network, crypto), and flag suspicious call sequences. Activates for requests to analyze an API trace, interpret sandbox API logs, or identify behavior from Win32/Native API calls.

日本語の概要は準備中です。原文の説明を表示しています。

meltedinhex/analyst-ai-pack212026年7月7日 更新

Analyzes Windows Authenticode signatures on PE files: checking for a signature, reading the signer certificate chain, detecting revoked/expired/stolen certs, and recognizing signature-stripping and catalog-signing abuse. Activates for requests to analyze a code signature, verify Authenticode, or assess signer trust on a PE.

日本語の概要は準備中です。原文の説明を表示しています。

meltedinhex/analyst-ai-pack212026年7月7日 更新

Analyzes banking trojan webinject configurations to extract targeted institutions, injected JavaScript/HTML, and data-theft hooks, mapping the fraud workflow. Activates for requests to analyze banking trojan webinjects, parse a webinject config, or map targeted banks and credential-theft injections.

日本語の概要は準備中です。原文の説明を表示しています。

meltedinhex/analyst-ai-pack212026年7月7日 更新

Analyzes Python-based malware packaged as PyInstaller/py2exe executables by detecting the packer, locating the embedded archive, and identifying bundled .pyc modules for extraction and decompilation. Activates for requests to analyze compiled Python malware, unpack a PyInstaller binary, or extract pyc modules from a frozen Python executable.

日本語の概要は準備中です。原文の説明を表示しています。

meltedinhex/analyst-ai-pack212026年7月7日 更新

Analyzes cryptojacking/coinminer malware by extracting mining pool endpoints (stratum), wallet addresses, algorithm and miner identifiers (XMRig and forks), and persistence or resource-control settings from static strings and config. Activates for requests to analyze a cryptominer, extract mining pool and wallet IOCs, or identify coinminer configuration.

日本語の概要は準備中です。原文の説明を表示しています。

meltedinhex/analyst-ai-pack212026年7月7日 更新

meltedinhex のスキルをすべて見る

このスキルの問題を報告する