AGENT SKILL

game-unpack-pe

Use when asked to unpack, unprotect, or extract real code from a protected or obfuscated Windows executable. Applies when a binary shows a stub entry point, packed sections, few imports, or signs of VMProtect, Themida, UPX, or custom packers.

License 许可
MIT
最近更新
2026-11-02
Stars
★ 0
Forks
0

01 前言 Front Matter

name
game-unpack-pe
description
Use when asked to unpack, unprotect, or extract real code from a protected or obfuscated Windows executable. Applies when a binary shows a stub entry point, packed sections, few imports, or signs of VMProtect, Themida, UPX, or custom packers.

03 SKILL.md 正文

PE Unpacking

Overview

Identify the packer → find the Original Entry Point (OEP) → dump at OEP → fix IAT. The dump is worthless without a fixed IAT; the IAT is unfixable without the correct OEP.

Packer Detection

Static Signals (check first via Binary Ninja)

list_sections()     # .UPX0/.UPX1 = UPX; .vmp0/.vmp1 = VMProtect; .themida = Themida
list_imports()      # Only LoadLibrary + GetProcAddress = unpacking stub
get_entry_points()  # Entry point outside .text section = packer stub

Packer Identification Table

Packer Static signature Fast path
UPX .UPX0, .UPX1 sections upx -d target.exe (CLI, done)
MPRESS .MPRESS1 section mpress unpacker tool
VMProtect .vmp0/.vmp1, VM interpreter loop at EP C:\GameSecTools\Packing\NoVmpy or manual
Themida Complex EP + anti-debug at start C:\GameSecTools\Packing\themida-unmutate
Custom One giant section, no real imports Dynamic dump approach below

UPX (Trivial Case)

upx -d target.exe   # produces unpacked target.exe immediately

Verify: list_imports() on result should show real API names.

Dynamic Unpacking (Universal Approach)

Step 1 — Find Where Unpacking Ends

Using Frida (set breakpoint on memory-write to .text):

// Get .text section base + size from list_sections() output first
const textBase = ptr("0x401000");   // replace with actual .text base
const textSize = 0x50000;           // replace with actual size

### Set hardware BP on the .text section start address
### Run until BP fires (unpacker writing decompressed code)
### Then step until you see `jmp <original_entry>`
### Step 2 — Dump at OEP
### Step 3 — Fix Import Table
### Step 4 — Verify Dump

04 同仓库更多 Skills

Prekzursil
Prekzursil/agent-skills-toolchain

clarify-requirements

Resolve genuine pre-execution ambiguity by scanning repo context, generating 1-6 grounded options, and asking 1-3 focused questions via AskUserQuestion. NOT for mid-task use (injection risk); NOT when the goal is already unambiguous; use to disambiguate vague prompts before any file edits.

★ 0
Prekzursil
Prekzursil/agent-skills-toolchain

openmm-md

Run FREE, open-source, Windows-native GPU molecular dynamics via the openmm-md MCP (OpenMM + CUDA on the local NVIDIA GPU). Use for protein / protein-ligand MD when you want a free stack or are on Windows without a Schrodinger license. Covers the full workflow (prepare, solvate, minimize, equilibrate, production, analyze, mmgbsa) AND an honest decision guide vs Schrodinger Desmond, including how to run Desmond legitimately on Linux or a cloud GPU with a real license. This is a deliberately LESSER free alternative and does NOT replace the schrodinger MCP tools. Do NOT use it to pick a free tool when a validated FEP+, WaterMap, IFD-MD, or Prime MM-GBSA result is actually required.

Skill与智能体开发
★ 0
Prekzursil
Prekzursil/agent-skills-toolchain

visual-review

Take screenshots of web pages and UI using Playwright for visual review and iteration

演示文稿测试与质量
★ 0
Prekzursil
Prekzursil/agent-skills-toolchain

status

Diagnostic status report — shows metaswarm installation state, project setup, and potential issues

★ 0
Prekzursil
Prekzursil/agent-skills-toolchain

start

Use when starting work on any task, when the user mentions metaswarm, or when the user wants to begin tracked development work

Skill与智能体开发
★ 0
Prekzursil
Prekzursil/agent-skills-toolchain

setup

Interactive project setup — detects your project, configures metaswarm, writes project-local files

★ 0