CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

packer-unpacking

Identify and unpack common binary packers — UPX, ASPack, Themida, VMProtect, MPRESS, PECompact, Enigma.

Quality

78%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Medium

Suggest reviewing before use

Fix and improve this skill with Tessl

tessl review fix ./packages/decepticon/decepticon/skills/standard/reverser/packer-unpacking/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

82%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

An exemplary operational playbook: concrete commands at every step, a real error-recovery path for the UPX anti-unpack trick, and outcome-driven escalation guidance for commercial protectors. The main improvement opportunities are an explicit OEP/dump verification checkpoint in the manual technique and trimming the exemplars section.

DimensionReasoningScore

Conciseness

The body is dense and command-first with almost no explanation of concepts Claude already knows — tables of signatures, anti-unpack counters, and tight code blocks dominate. Minor trimmable fat remains (the 'Known exemplars' section with padding like 'because it's free + easy', and two redundant entropy methods), keeping it just below the 'every token earns its place' anchor 5.

4 / 5

Actionability

Fully executable throughout: copy-paste bash (ent, r2 -qc 'iSj', yara, upx -d), a runnable inline Python entropy calculator, a concrete Python patcher for the UPX anti-unpack version-byte trick, specific breakpoint targets ('hardware breakpoint on VirtualProtect', 'tail jump (E9 to OEP)'), and named tools per packer. Specific examples cover the common cases (UPX) through the hard ones (VMProtect devirtualization options).

5 / 5

Workflow Clarity

A clearly sequenced workflow (detect → identify → automated unpack → manual strategy → promote) with real validation and recovery loops: `file /tmp/unpacked` after unpacking, an explicit upx -d failure→patch→retry loop, an outcome-driven severity table, and 're-run triage on the dumped file'. Not a 5 because the hardest path — manual unpacking — acts on a 'suspected OEP' with no explicit checkpoint confirming the OEP or dump correctness before re-analysis.

4 / 5

Progressive Disclosure

No bundle files exist, and the ~165-line body is self-contained with seven well-labeled, navigable sections and compact tables — good structure with content appropriately inline at this size. Not a 5 because the per-packer deep dives (VMProtect devirtualization, Enigma version matrix) and the exemplars section are candidates for separate reference files that would keep SKILL.md a leaner overview.

4 / 5

Total

17

/

20

Passed

Description

66%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A concise, concrete, domain-specific description with excellent packer-name triggers, but it lacks an explicit 'Use when...' clause, which caps completeness and slightly weakens trigger guidance. Adding a use-when clause (e.g., 'Use when a binary is suspected packed, shows high entropy, or when UPX/Themida/VMProtect sections are found') would lift it to top-tier quality.

Suggestions

Add an explicit 'Use when...' clause to the description, e.g. 'Use when a binary shows high entropy, packed section names (UPX0, .themida, .vmp0), or when the user mentions any of these packers' — this directly addresses the completeness cap.

Include natural trigger variations users actually say that are currently missing: 'packed', 'packing', 'decompress', 'PE packer', and generic phrasing like 'is this binary packed' to broaden trigger_term_quality.

Surface additional concrete capabilities the body already covers (signature detection via YARA/DIE, manual unpacking, anti-debug bypass) to round out the action coverage in the description.

DimensionReasoningScore

Specificity

The description names the domain ('common binary packers') and two concrete actions ('Identify and unpack'), plus a comprehensive enumeration of seven specific packers (UPX, ASPack, Themida, VMProtect, MPRESS, PECompact, Enigma). It sits between anchor 3 (1-2 concrete actions, not comprehensive) and anchor 4: the action count matches 3, but the explicit packer enumeration pushes it noticeably above the midpoint; it is not a 5 because it omits actions the body actually covers (signature detection, manual unpacking, anti-debug bypass).

4 / 5

Completeness

The 'what' is clear ('Identify and unpack common binary packers'), but the description contains no 'Use when...' clause or equivalent explicit trigger guidance — the packer list only weakly implies when. Per the judging guideline, a missing 'Use when...' clause caps completeness at 3; not a 2 because the 'what' is specific and the enumerated packers weakly signal the 'when'.

3 / 5

Trigger Term Quality

Strong natural keywords: 'unpack', 'packers', 'binary', and all seven packer names, which are exactly the terms a reverse-engineering user would type ('upx', 'themida', 'vmprotect unpack'). Not a 5 because common variations like 'packed', 'packing', 'decompress', or 'PE' are missing (though a 'when_to_use' trigger string exists in metadata, it is not part of the description field being evaluated).

4 / 5

Distinctiveness Conflict Risk

A clear niche (binary packers in reverse engineering) with highly distinctive triggers (Themida, VMProtect, ASPack rarely belong to any other skill). Not a 5 because the generic verb 'unpack' creates minor overlap risk with archive-extraction skills, and without an explicit 'use when' clause the boundary against general RE/triage skills is slightly soft.

4 / 5

Total

15

/

20

Passed

Validation

87%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

metadata_field

'metadata' should map string keys to string values

Warning

Total

14

/

16

Passed

Repository

PurpleAILAB/Decepticon

Path

packages/decepticon/decepticon/skills/standard/reverser/packer-unpacking/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.