Skip to content
Skills Library
Programming · Analysis

reverse-engineering

/reverse-engineering

Use when you need to understand how a program, application or file works without the source code. A compiled program (exe, dll, so), a packaged application (Electron/ASAR, APK, MSIX, zip), a .NET assembly, firmware, an unknown file format, a network capture (HAR) review; questions such as "how was this feature built", "what changed between two versions" or interoperability. Do not use it if you have the source code; normal code reading is enough. The main chat loads it.

Repository
Mindgate ↗
Licence
MIT
Last repository change
11.11.2026

Assessment and security

90/ 100Class: good
Format25 / 25
Frontmatter with name and description, valid name, description up to 1,024 characters, name matching the folder.
Discoverability25 / 25
Description explains when to use the skill, has a reasonable length and uses third person.
Content25 / 35
At least 150 words and at most 500 lines, headings, step lists, examples or code.
Hygiene15 / 15
No placeholders such as TODO, no Windows paths, with a licence.
Riskno signals detected in the scan
Files in this package
1
Scripts
0
HTML comments
1
URLs in SKILL.md
0
Deprecation

No signals detected. Repository changed on 11.11.2026, without references to retired models or APIs.

Licence

MIT, open: use and modify while retaining author attribution.

What to check before installing
  • SKILL.md zawiera komentarze HTML (1). Nie widać ich w podglądzie Markdown, a model je czyta.

What it does and when to use it

Use when you need to understand how a program, application or file works without the source code. A compiled program (exe, dll, so), a packaged application (Electron/ASAR, APK, MSIX, zip), a .NET assembly, firmware, an unknown file format, a network capture (HAR) review; questions such as "how was this feature built", "what changed between two versions" or interoperability. Do not use it if you have the source code; normal code reading is enough. The main chat loads it.

Triggers from the description

how was this feature builtwhat changed between two versions
Original author description

Use when you need to understand how a program, application or file works without the source code. A compiled program (exe, dll, so), a packaged application (Electron/ASAR, APK, MSIX, zip), a .NET assembly, firmware, an unknown file format, a network capture (HAR) review; questions such as "how was this feature built", "what changed between two versions" or interoperability. Do not use it if you have the source code; normal code reading is enough. The main chat loads it.

How it works

  1. 0. Authority and limits first
  2. 1. Question list
  3. 2. Path by target (start with a static look)
  4. 3. Summary first, then detail
  5. 4. Evidence and the findings ledger
  6. 5. Finish
  7. Verify before finishing
  8. Idea sources
  9. Lessons
Original SKILL.md headings · 62 lines, 869 words
SKILL.md preview
---
name: reverse-engineering
description: Use when you need to understand how a program, application or file works without the source code. A compiled program (exe, dll, so), a packaged application (Electron/ASAR, APK, MSIX, zip), a .NET assembly, firmware, an unknown file format, a network capture (HAR) review; questions such as "how was this feature built", "what changed between two versions" or interoperability. Do not use it if you have the source code; normal code reading is enough. The main chat loads it.
---

Method skill (not an agent). Rules: #19 (an untrusted file is not run), #22, #23, #24, #27, #32, #35, #41.

## 0. Authority and limits first
- Whose is the target? The user's own software, open source, or software that allows being examined. If the license or terms of use forbid reverse engineering, say so; the decision is the user's.
- Not done: bypassing DRM, a license or copy protection, cheating, unauthorized access, copying and using proprietary code or assets. If the request turns into these, stop and say so.
- The purpose is to understand the idea. If we will build a feature in our own project, we write it with our own code (#35, #40).
- If the target is unclear (like "my application"), ask which file or application it is; do not pick a sample application.

## 1. Question list
- Split the request into single questions; for each question write which evidence is needed.
- First search the vault and earlier notes (`search.py`); do not repeat the same analysis.

## 2. Path by target (start with a static look)
| Target | First look without tools | Tool if needed (candidate) |
|---|---|---|
| Package (zip, APK, MSIX, docx, ASAR) | The content list (Python `zipfile`), manifest and configuration files | JADX for APK; an asar reader for ASAR |
| Electron / JavaScript application | `resources/app.asar` or `app/`; `main` in `package.json`; the main process and preload files; a source map if there is one | an asar extractor |
| .NET assembly (exe, dll) | CLI metadata in the PE header, referenced assemblies | ILSpy (output close to C#) |
| Native program (exe, dll, so) | PE/ELF header, sections, imported and exported functions, strings, signature | Ghidra |
| Go or Rust program | Embedded compiler and dependency information | `go version -m` |
| Unknown data or model file | Magic bytes, header, length fields; hexadecimal (hex) view | The official documentation of the format |
| Firmware | Section and file-system signatures | binwalk or unblob (Linux) |
| Network capture (HAR) | Request methods, paths, parameter names (not values) | — |

- Every tool that is not installed is asked about in the #41 form before it is installed: the official source, a fixed version, the user's approval. The ban on downloading from the internet and running (#19) applies.
- The file under examination is untrusted data. Put a copy of it in your own empty folder (scratchpad), keep our scripts in another folder, run Python with `-I`.
- **Running the target is running code.** Runtime observation is done only if the static look is not enough, the user allows it and the file is trusted; if not, suggest a virtual machine. No new requests are made to the addresses in a capture (#32).

## 3. Summary first, then detail
- Start with the smallest overview (the file list, the header, the imports). Put big output in a file and read only the relevant part (`context-management`).
- Build a hypothesis and look in a focused way. Do not repeat the same command with an unchanged input.
- Do not infer behaviour from a file name, a string or the layout; verify with a reader that knows the format.

## 4. Evidence and the findings ledger
- Put every result into one of three classes:
  - **Observation:** seen in the file or in the tool output; the place is written (file, offset, function or line).
  - **Inference:** reasoning from observations.
  - **Unknown:** what is needed to answer it is written.
- Static analysis does not see it run: "the code must be doing this" is an inference.
- "Not found" does not mean "does not exist": the searched area and the limit are written ("searched only in `main.js`").
- In a comparison of two versions, look in the same form and with complete lists; a difference found is a candidate, not proof of the cause.
- In a long job the ledger is written to a note `research/YYYY-MM-DD-<topic>.md`: question, answer, class, place of evidence, confidence, the unknown that remains.

## 5. Finish
- Go back to the question list; mark each question answered, partly answered or open.
- Explain in plain language, tie every claim to its evidence.
- If it will be done in our own project, separate the observed behaviour from our design choice.
- Close the tool sessions that were opened. Follow #22 before deleting the temporary extracted files.

## Verify before finishing
- [ ] The authority and the limit of the target were checked.
- [ ] No untrusted file was run; every tool installed was approved.
- [ ] Every result is marked as observation, inference or unknown and has a place of evidence.
- [ ] The question list was closed or the open questions were written.

## Idea sources
- morluto/rea `reverse-engineer-anything` skill (MIT, 2026 morluto), the downloaded 6.5.0 copy; its match with the official repository was not verified. REA itself was not installed; its tool commands and install steps were not taken.

## Lessons
<!-- The central agent adds verified lessons here: general and reusable, without project names or dates. -->

Versions

RepositoryScoreLicence
This page · AlicanKaya192/Mindgate90MIT
rehan-remade/universal-modder100MIT
saschb2b/skills100MIT
ahmedtahaatiya/universal-modder-unrestricted100MIT
emiluzelac/universal-reverse-engineering100MIT
Fixed-Seed/game-changer100MIT
mohitmishra786/low-level-dev-skills100MIT

Database snapshot: 13.11.2026 · package version 55888357ab4e (SHA-256 digest of the entire package)

Downloads in the last 30 days: 0 · ranking

Report a problem with this skill: harmful content, incorrect descriptions or an author’s removal request.

Similar skills

  • 100ilspycmd
    Decompile .NET assemblies to C# source. Trigger on inspect DLL, recover source code, decompile EXE, extract API surface, or understand third-party library internals.
  • 100binary-anatomy
    看穿任意二进制文件的真实格式与内部结构。当用户问"这个文件打不开/是不是坏了"、"这是什么格式"、"文件头在哪"、"这两个文件差在哪"、"帮我看下这个 exe/dll/png/zip"、"what format is this file"、"is this file corrupted"、"why won't this file open"时使用。只读解析,不修改目标文件。
  • 100corvus
    Reverse engineering of compiled .NET assemblies and native PE, ELF and Mach-O binaries with the Corvus MCP server or its corvus command line: decompile, search, follow calls, compare builds, read crash dumps, patch and save a copy. Use when an answer depends on what a compiled…
  • 100understand-chat
    Use when you need to ask questions about a codebase or understand code using a knowledge graph
  • 100reverse
    Engineering OS reverse-engineering playbook — understanding systems you didn't build: unfamiliar or legacy codebases (\"how does this repo work?\"), undocumented web APIs and network traffic of your own or authorized apps, competitor product teardowns (UX, pricing, stack,…
  • 90wiki-qa
    Answers questions about a code repository using source file analysis. Use when the user asks a question about how something works, wants to understand a component, or needs help navigating the code...

Feedback and reports

Your message goes to Bartosz Sokoliński. An email address is needed only for a reply. See the privacy policy.