diff --git a/.aider.conf.yml b/.aider.conf.yml new file mode 100644 index 0000000..54ef816 --- /dev/null +++ b/.aider.conf.yml @@ -0,0 +1,5 @@ +# Aider configuration for reverse engineering skills +# AGENTS.md is auto-loaded as context for every session + +read: + - AGENTS.md diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json index e4f2582..6aa1fda 100644 --- a/.claude-plugin/marketplace.json +++ b/.claude-plugin/marketplace.json @@ -22,6 +22,19 @@ "license": "Apache-2.0", "keywords": ["android", "reverse-engineering", "apk", "jadx", "decompile", "api-extraction"], "category": "security" + }, + { + "name": "windows-reverse-engineering", + "source": "./plugins/windows-reverse-engineering", + "description": "Decompile Windows EXE/DLL/.NET assemblies with Ghidra and ILSpy, trace call flows, and document extracted Win32/network APIs.", + "version": "1.0.0", + "author": { + "name": "Simone Avogadro" + }, + "repository": "https://github.com/SimoneAvogadro/android-reverse-engineering-skill", + "license": "Apache-2.0", + "keywords": ["windows", "reverse-engineering", "exe", "dll", "ghidra", "ilspy", "decompile", "pe-analysis", "api-extraction"], + "category": "security" } ] } diff --git a/.clinerules/android-reverse-engineering.md b/.clinerules/android-reverse-engineering.md new file mode 100644 index 0000000..16c5dea --- /dev/null +++ b/.clinerules/android-reverse-engineering.md @@ -0,0 +1,54 @@ +# Android Reverse Engineering + +Decompile Android APK, XAPK, JAR, and AAR files using jadx and Fernflower/Vineflower. Extract Retrofit endpoints, OkHttp calls, hardcoded URLs, and authentication patterns. + +## Dependencies + +Run the dependency checker before decompiling: +```bash +bash plugins/android-reverse-engineering/skills/android-reverse-engineering/scripts/check-deps.sh +``` + +Required: Java JDK 17+, jadx. +Optional: Fernflower/Vineflower, dex2jar, apktool. + +Install missing: +```bash +bash plugins/android-reverse-engineering/skills/android-reverse-engineering/scripts/install-dep.sh +``` + +## Workflow + +1. **Check deps**: `check-deps.sh` → outputs `INSTALL_REQUIRED:` for missing tools +2. **Decompile**: `decompile.sh ` with `--engine jadx|fernflower|both`, `--deobf` +3. **Analyze**: Review AndroidManifest.xml, package structure, architecture patterns +4. **Trace flows**: Follow Activity → ViewModel → Repository → Retrofit/OkHttp → HTTP +5. **Extract APIs**: `find-api-calls.sh ` with `--retrofit`, `--okhttp`, `--urls`, `--auth` + +## Script Locations + +All scripts are at: `plugins/android-reverse-engineering/skills/android-reverse-engineering/scripts/` +- `check-deps.sh` — verify dependencies +- `install-dep.sh` — install a dependency +- `decompile.sh` — main decompile wrapper +- `find-api-calls.sh` — API call search + +## Reference Documentation + +- `plugins/android-reverse-engineering/skills/android-reverse-engineering/references/setup-guide.md` +- `plugins/android-reverse-engineering/skills/android-reverse-engineering/references/jadx-usage.md` +- `plugins/android-reverse-engineering/skills/android-reverse-engineering/references/fernflower-usage.md` +- `plugins/android-reverse-engineering/skills/android-reverse-engineering/references/api-extraction-patterns.md` +- `plugins/android-reverse-engineering/skills/android-reverse-engineering/references/call-flow-analysis.md` + +## Output Format + +Document each API endpoint as: +```markdown +### `METHOD /api/endpoint` +- **Source**: ClassName.java:42 +- **Retrofit**: @POST("/api/endpoint") +- **Headers**: Authorization: Bearer {token} +- **Body**: { "key": "value" } +- **Called from**: Activity → ViewModel → Repository → ApiService +``` diff --git a/.clinerules/windows-reverse-engineering.md b/.clinerules/windows-reverse-engineering.md new file mode 100644 index 0000000..60a8056 --- /dev/null +++ b/.clinerules/windows-reverse-engineering.md @@ -0,0 +1,58 @@ +# Windows Reverse Engineering + +Decompile Windows EXE, DLL, SYS, and .NET assemblies using Ghidra (native PE → C pseudocode) and ILSpy (.NET → C# source). Auto-detects binary type and selects the appropriate engine. + +## Dependencies + +Run the dependency checker before decompiling: +```powershell +powershell -ExecutionPolicy Bypass -File plugins/windows-reverse-engineering/skills/windows-reverse-engineering/scripts/check-deps.ps1 +``` + +Required (at least one): Java JDK 17+ with Ghidra, OR ilspycmd (.NET SDK). +Optional: strings/strings2, dumpbin (Visual Studio C++ Build Tools), de4dot. + +Install missing: +```powershell +powershell -ExecutionPolicy Bypass -File plugins/windows-reverse-engineering/skills/windows-reverse-engineering/scripts/install-dep.ps1 +``` + +If PowerShell execution policy blocks scripts, use: `powershell -ExecutionPolicy Bypass -File