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

debugging-malware-with-x64dbg

Uses x64dbg to dynamically debug Windows malware: setting strategic breakpoints on APIs, stepping through unpacking and decryption, dumping memory at the right moment, and manipulating execution to reach hidden code. Activates for requests to debug malware with x64dbg, set API breakpoints, or step through unpacking in a debugger.

インストール方法を見る

含まれるファイル(4)

  • SKILL.md3.8 KB
  • LICENSE340 B
  • references/api-reference.md1.2 KB
  • scripts/analyst.py2.5 KB

SKILL.md(原文)

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

Debugging Malware with x64dbg

When to Use

  • You need to observe a sample's runtime behavior at the instruction level on Windows.
  • You are manually unpacking, decrypting strings, or reaching code guarded by anti-analysis.
  • You want to dump a payload from memory after it is decoded but before it is hidden.

Do not use a debugger on a host you care about — debug only inside the isolated victim VM, and revert the snapshot after.

Prerequisites

  • x64dbg (and the matching x32/x64 build for the sample's bitness) inside the victim VM.
  • A clean snapshot; the lab's simulated internet.
  • Familiarity with Windows APIs commonly used by malware.

Safety & Handling

  • The sample executes under the debugger; this is detonation. Stay in the isolated VM.
  • Revert the snapshot after the session; treat memory dumps as live samples.

Workflow

Step 1: Set strategic API breakpoints

Rather than stepping from the entry point, break on APIs that mark interesting moments:

VirtualAlloc / VirtualProtect  -> unpacking buffer about to be written/executed
CreateProcessInternalW         -> process hollowing target
WriteProcessMemory             -> injection payload in a register/buffer
CryptDecrypt / lstrcpy         -> decoded data available
ResumeThread                   -> hollowed process about to run

Use bp VirtualAlloc then inspect the return value (allocated base) on return.

Step 2: Step through unpacking

Run to the allocation, set a memory breakpoint on the new region, and continue until the unpacker writes and jumps to it. The tail jump to OEP marks the unpacked entry.

Step 3: Dump at the right moment

When the payload is decoded in memory (e.g. after VirtualProtect makes it executable), dump the region with Scylla/the dump plugin and fix the import table for the unpacked PE.

Step 4: Defeat simple anti-debugging

Patch or skip checks like IsDebuggerPresent, PEB BeingDebugged, and timing checks (see the anti-debugging skill). Set the return value to evade detection rather than removing the call.

Step 5: Record breakpoints and notes

Save a breakpoint plan and observations. The bundled script generates an x64dbg command script of API breakpoints to bootstrap a session.

python scripts/analyst.py breakpoints --preset unpacking > bp.txt

Validation

  • The dumped region is a valid PE (MZ/PE headers) and disassembles to real code.
  • API breakpoints fire in an order consistent with unpacking/injection.
  • Patched anti-debug checks no longer alter the execution path.

Pitfalls

  • Stepping blindly from the entry point instead of using API breakpoints — slow and easy to get lost.
  • Dumping too early (still encrypted) or too late (already executed/freed).
  • Removing anti-debug calls entirely, which can break control flow; prefer faking the result.

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 のスキルをすべて見る

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