From 863fe6b1bf3035c0b7f5f8da236b9952f50a0284 Mon Sep 17 00:00:00 2001 From: inliver233 Date: Sat, 24 Oct 2026 01:47:30 +0800 Subject: [PATCH] Init --- CONTRIBUTING.md | 528 +++++++ LICENSE | 21 + README.md | 242 +++ README.zh-CN.md | 178 +++ assets/banner-dark.svg | 47 + assets/banner-light.svg | 50 + build_scripts.py | 288 ++++ check_budget.py | 374 +++++ check_commands.py | 1103 ++++++++++++++ check_refs.py | 252 ++++ check_repo.py | 366 +++++ check_routing.py | 178 +++ docs/extending.md | 274 ++++ .../EXTENSION-hardware-and-kernel.md | 70 + .../EXTENSION-tool-verification.md | 93 ++ docs/tool-verification/FINDINGS.md | 165 ++ docs/tool-verification/README.md | 56 + docs/tool-verification/REPO-DECISIONS.md | 145 ++ docs/tool-verification/TOOL-VERDICTS.md | 110 ++ mypy.ini | 57 + pytest.ini | 29 + skills/exe-reverse/SKILL.md | 329 ++++ skills/exe-reverse/evals/evals.json | 288 ++++ .../evidence/capability-matrix.json | 437 ++++++ .../exe-reverse/evidence/known-limitations.md | 250 ++++ .../evidence/tested-tool-versions.json | 87 ++ skills/exe-reverse/evidence/tool-sources.md | 539 +++++++ .../references/algorithm-recovery.md | 175 +++ .../exe-reverse/references/anti-analysis.md | 288 ++++ .../references/aob-and-signatures.md | 157 ++ .../references/compiler-fingerprints.md | 190 +++ .../references/coverage-and-limits.md | 133 ++ .../references/coverage/route-inventory.md | 77 + .../exe-reverse/references/desensitization.md | 190 +++ .../references/dynamic-debugging.md | 176 +++ skills/exe-reverse/references/environment.md | 258 ++++ .../references/evidence-summary.md | 121 ++ .../references/flutter-and-dart-aot.md | 367 +++++ .../references/handoff-boundaries.md | 215 +++ .../references/hardware-tracing.md | 386 +++++ .../references/hypervisor-observation.md | 277 ++++ .../references/injection-and-hooking.md | 213 +++ .../references/installers-and-packaging.md | 229 +++ .../references/integrity-checks.md | 158 ++ .../references/kernel-and-drivers.md | 226 +++ .../references/license-mechanisms.md | 188 +++ .../references/long-task-discipline.md | 285 ++++ .../exe-reverse/references/managed-dotnet.md | 249 ++++ .../references/memory-and-dumps.md | 223 +++ .../references/network-activated-licensing.md | 166 +++ skills/exe-reverse/references/patching.md | 247 +++ .../references/pe-diff-and-versions.md | 157 ++ skills/exe-reverse/references/pe-structure.md | 300 ++++ skills/exe-reverse/references/pitfalls.md | 244 +++ .../references/precedents/README.md | 137 ++ .../references/protectors-and-packers.md | 232 +++ skills/exe-reverse/references/recon.md | 234 +++ skills/exe-reverse/references/routing.md | 129 ++ .../exe-reverse/references/static-analysis.md | 185 +++ .../references/symbolic-execution.md | 236 +++ skills/exe-reverse/references/toolchain.md | 577 +++++++ skills/exe-reverse/references/verification.md | 237 +++ .../virtualization-and-flattening.md | 257 ++++ skills/exe-reverse/scripts/aob_scan.py | 260 ++++ skills/exe-reverse/scripts/capabilities.py | 1322 +++++++++++++++++ .../scripts/dart_snapshot_strings.py | 298 ++++ skills/exe-reverse/scripts/doctor.py | 451 ++++++ skills/exe-reverse/scripts/fold.py | 376 +++++ skills/exe-reverse/scripts/gate_probe.js | 110 ++ skills/exe-reverse/scripts/hwprobe.py | 569 +++++++ skills/exe-reverse/scripts/make_fixture_pe.py | 483 ++++++ skills/exe-reverse/scripts/pe_diff.py | 587 ++++++++ skills/exe-reverse/scripts/pe_triage.py | 711 +++++++++ skills/exe-reverse/scripts/pepatch.py | 423 ++++++ skills/exe-reverse/scripts/peutil.py | 1034 +++++++++++++ skills/exe-reverse/scripts/plan.py | 578 +++++++ skills/exe-reverse/scripts/preflight.py | 728 +++++++++ skills/exe-reverse/scripts/scan_leaks.py | 414 ++++++ skills/exe-reverse/scripts/trace_reduce.py | 690 +++++++++ tests/README.md | 135 ++ tests/benchmark.md | 104 ++ tests/cli/test_cli_dart_snapshot.py | 264 ++++ tests/cli/test_cli_json.py | 397 +++++ tests/cli/test_cli_registry_surface.py | 260 ++++ tests/cli/test_cli_surface.py | 362 +++++ tests/conftest.py | 602 ++++++++ tests/integration/test_across_builds.py | 138 ++ tests/integration/test_pipeline_end_to_end.py | 220 +++ tests/run_tests.py | 68 + tests/unit/test_aob_scan.py | 161 ++ tests/unit/test_capabilities_registry.py | 509 +++++++ tests/unit/test_dart_snapshot_strings.py | 226 +++ tests/unit/test_doctor.py | 306 ++++ tests/unit/test_fold.py | 138 ++ tests/unit/test_pepatch_patcher.py | 377 +++++ tests/unit/test_peutil_reader.py | 417 ++++++ tests/unit/test_scan_leaks.py | 271 ++++ tests/unit/test_trace_reduce.py | 185 +++ 98 files changed, 28849 insertions(+) create mode 100644 CONTRIBUTING.md create mode 100644 LICENSE create mode 100644 README.md create mode 100644 README.zh-CN.md create mode 100644 assets/banner-dark.svg create mode 100644 assets/banner-light.svg create mode 100644 build_scripts.py create mode 100644 check_budget.py create mode 100644 check_commands.py create mode 100644 check_refs.py create mode 100644 check_repo.py create mode 100644 check_routing.py create mode 100644 docs/extending.md create mode 100644 docs/tool-verification/EXTENSION-hardware-and-kernel.md create mode 100644 docs/tool-verification/EXTENSION-tool-verification.md create mode 100644 docs/tool-verification/FINDINGS.md create mode 100644 docs/tool-verification/README.md create mode 100644 docs/tool-verification/REPO-DECISIONS.md create mode 100644 docs/tool-verification/TOOL-VERDICTS.md create mode 100644 mypy.ini create mode 100644 pytest.ini create mode 100644 skills/exe-reverse/SKILL.md create mode 100644 skills/exe-reverse/evals/evals.json create mode 100644 skills/exe-reverse/evidence/capability-matrix.json create mode 100644 skills/exe-reverse/evidence/known-limitations.md create mode 100644 skills/exe-reverse/evidence/tested-tool-versions.json create mode 100644 skills/exe-reverse/evidence/tool-sources.md create mode 100644 skills/exe-reverse/references/algorithm-recovery.md create mode 100644 skills/exe-reverse/references/anti-analysis.md create mode 100644 skills/exe-reverse/references/aob-and-signatures.md create mode 100644 skills/exe-reverse/references/compiler-fingerprints.md create mode 100644 skills/exe-reverse/references/coverage-and-limits.md create mode 100644 skills/exe-reverse/references/coverage/route-inventory.md create mode 100644 skills/exe-reverse/references/desensitization.md create mode 100644 skills/exe-reverse/references/dynamic-debugging.md create mode 100644 skills/exe-reverse/references/environment.md create mode 100644 skills/exe-reverse/references/evidence-summary.md create mode 100644 skills/exe-reverse/references/flutter-and-dart-aot.md create mode 100644 skills/exe-reverse/references/handoff-boundaries.md create mode 100644 skills/exe-reverse/references/hardware-tracing.md create mode 100644 skills/exe-reverse/references/hypervisor-observation.md create mode 100644 skills/exe-reverse/references/injection-and-hooking.md create mode 100644 skills/exe-reverse/references/installers-and-packaging.md create mode 100644 skills/exe-reverse/references/integrity-checks.md create mode 100644 skills/exe-reverse/references/kernel-and-drivers.md create mode 100644 skills/exe-reverse/references/license-mechanisms.md create mode 100644 skills/exe-reverse/references/long-task-discipline.md create mode 100644 skills/exe-reverse/references/managed-dotnet.md create mode 100644 skills/exe-reverse/references/memory-and-dumps.md create mode 100644 skills/exe-reverse/references/network-activated-licensing.md create mode 100644 skills/exe-reverse/references/patching.md create mode 100644 skills/exe-reverse/references/pe-diff-and-versions.md create mode 100644 skills/exe-reverse/references/pe-structure.md create mode 100644 skills/exe-reverse/references/pitfalls.md create mode 100644 skills/exe-reverse/references/precedents/README.md create mode 100644 skills/exe-reverse/references/protectors-and-packers.md create mode 100644 skills/exe-reverse/references/recon.md create mode 100644 skills/exe-reverse/references/routing.md create mode 100644 skills/exe-reverse/references/static-analysis.md create mode 100644 skills/exe-reverse/references/symbolic-execution.md create mode 100644 skills/exe-reverse/references/toolchain.md create mode 100644 skills/exe-reverse/references/verification.md create mode 100644 skills/exe-reverse/references/virtualization-and-flattening.md create mode 100644 skills/exe-reverse/scripts/aob_scan.py create mode 100644 skills/exe-reverse/scripts/capabilities.py create mode 100644 skills/exe-reverse/scripts/dart_snapshot_strings.py create mode 100644 skills/exe-reverse/scripts/doctor.py create mode 100644 skills/exe-reverse/scripts/fold.py create mode 100644 skills/exe-reverse/scripts/gate_probe.js create mode 100644 skills/exe-reverse/scripts/hwprobe.py create mode 100644 skills/exe-reverse/scripts/make_fixture_pe.py create mode 100644 skills/exe-reverse/scripts/pe_diff.py create mode 100644 skills/exe-reverse/scripts/pe_triage.py create mode 100644 skills/exe-reverse/scripts/pepatch.py create mode 100644 skills/exe-reverse/scripts/peutil.py create mode 100644 skills/exe-reverse/scripts/plan.py create mode 100644 skills/exe-reverse/scripts/preflight.py create mode 100644 skills/exe-reverse/scripts/scan_leaks.py create mode 100644 skills/exe-reverse/scripts/trace_reduce.py create mode 100644 tests/README.md create mode 100644 tests/benchmark.md create mode 100644 tests/cli/test_cli_dart_snapshot.py create mode 100644 tests/cli/test_cli_json.py create mode 100644 tests/cli/test_cli_registry_surface.py create mode 100644 tests/cli/test_cli_surface.py create mode 100644 tests/conftest.py create mode 100644 tests/integration/test_across_builds.py create mode 100644 tests/integration/test_pipeline_end_to_end.py create mode 100644 tests/run_tests.py create mode 100644 tests/unit/test_aob_scan.py create mode 100644 tests/unit/test_capabilities_registry.py create mode 100644 tests/unit/test_dart_snapshot_strings.py create mode 100644 tests/unit/test_doctor.py create mode 100644 tests/unit/test_fold.py create mode 100644 tests/unit/test_pepatch_patcher.py create mode 100644 tests/unit/test_peutil_reader.py create mode 100644 tests/unit/test_scan_leaks.py create mode 100644 tests/unit/test_trace_reduce.py diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..ac9b136 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,528 @@ +# Contributing to exe-reverse + +## What this repository is + +`exe-reverse` is an Agent Skill for **Windows x86/x64 local-software reverse engineering**: a +`SKILL.md` entry point that loads in full on activation, a reference library loaded on demand, a +`scripts/` directory of runnable tools, and the evidence, coverage and regression layers that grade +what those tools have actually been shown to do. It is a method plus tooling. It ships no service, no +GUI, no target sample and no vendored third-party binary. + +One rule governs every other rule here: **a claim carries its strength, and a route that was not run +is not a route that works.** Every factual assertion is graded `observed` (a command exists and its +output exists), `inferred` (reasoned from an observation, but the step itself was not executed), or +`unverified` (assumed, or reported elsewhere and never reproduced here). A claim is only as strong as +the weakest link in its chain, so one unexecuted step downgrades the whole chain. Missing coverage is +reported as `unknown`, never as absence: "I did not find it" is not "it is not there", and the first +statement must name the search it ran. + +Read [pitfalls.md](skills/exe-reverse/references/pitfalls.md) before your first change to the skill +proper. Every entry is a failure that produced a working-looking artifact, and it explains why a rule +in the entry point is phrased as an absolute rather than as advice. + +## The two halves of the contribution contract + +Part of this contract is enforced by scripts at the repository root, and part of it can only be +judged by a person. Keeping the two apart is the point of this document: a green gate proves the +parts a script can see, and says nothing about the rest. + +| Half | What it covers | Where it lives | +|---|---|---| +| Machine-checked | paths resolve, the inventory matches the tree, frontmatter parses the way the installer will read it, every script answers `--help`, every documented `python