opencode-skills-collection 4.0.43 → 4.0.44
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundled-skills/.antigravity-install-manifest.json +47 -1
- package/bundled-skills/api-rate-limit-handler/SKILL.md +282 -0
- package/bundled-skills/api-security/SKILL.md +205 -0
- package/bundled-skills/api-security/references/jwt-oauth-testing.md +123 -0
- package/bundled-skills/api-security/references/rest-graphql-testing.md +137 -0
- package/bundled-skills/apk-reverse/SKILL.md +438 -0
- package/bundled-skills/apk-reverse/references/android-advanced.md +365 -0
- package/bundled-skills/apk-reverse/references/apk-security-checklist.md +230 -0
- package/bundled-skills/apk-reverse/references/frida-bypass-kit.md +70 -0
- package/bundled-skills/apk-reverse/references/frida-cookbook.md +472 -0
- package/bundled-skills/attack-chain/SKILL.md +185 -0
- package/bundled-skills/attack-chain/references/attack-playbooks.md +126 -0
- package/bundled-skills/attack-chain/references/evasion-cheatsheet.md +133 -0
- package/bundled-skills/attack-chain/references/lifecycle-checklist.md +37 -0
- package/bundled-skills/attack-chain/references/phases.md +490 -0
- package/bundled-skills/binary-diff/SKILL.md +320 -0
- package/bundled-skills/binary-diff/references/prompt-template.md +173 -0
- package/bundled-skills/browser-extension-reverse/SKILL.md +99 -0
- package/bundled-skills/browser-extension-reverse/references/extension-analysis.md +10 -0
- package/bundled-skills/case-review/SKILL.md +167 -0
- package/bundled-skills/cloud-k8s/SKILL.md +124 -0
- package/bundled-skills/cloud-k8s/references/k8s-cloud-checklist.md +16 -0
- package/bundled-skills/code-audit/SKILL.md +92 -0
- package/bundled-skills/code-audit/references/sast-review-checklist.md +10 -0
- package/bundled-skills/database-security/SKILL.md +81 -0
- package/bundled-skills/database-security/references/db-misconfig-checklist.md +9 -0
- package/bundled-skills/diagram-generator/SKILL.md +199 -0
- package/bundled-skills/diagram-generator/references/README.md +3 -0
- package/bundled-skills/diagram-generator/references/diagram-patterns.md +254 -0
- package/bundled-skills/digital-forensics/SKILL.md +93 -0
- package/bundled-skills/digital-forensics/references/forensics-triage.md +10 -0
- package/bundled-skills/docs/integrations/jetski-cortex.md +3 -3
- package/bundled-skills/docs/integrations/jetski-gemini-loader/README.md +1 -1
- package/bundled-skills/docs/maintainers/repo-growth-seo.md +1 -1
- package/bundled-skills/docs/maintainers/skills-update-guide.md +1 -1
- package/bundled-skills/docs/sources/sources.md +9 -0
- package/bundled-skills/docs/users/aas-core.md +1 -1
- package/bundled-skills/docs/users/bundles.md +1 -1
- package/bundled-skills/docs/users/claude-code-skills.md +1 -1
- package/bundled-skills/docs/users/gemini-cli-skills.md +1 -1
- package/bundled-skills/docs/users/kiro-integration.md +1 -1
- package/bundled-skills/docs/users/usage.md +3 -3
- package/bundled-skills/docs/users/visual-guide.md +4 -4
- package/bundled-skills/docs-generator/SKILL.md +197 -0
- package/bundled-skills/docs-generator/references/security-report-templates.md +348 -0
- package/bundled-skills/docs-generator/references/templates.md +102 -0
- package/bundled-skills/docs-generator/references/vendor-report-rules.md +263 -0
- package/bundled-skills/dotnet-reverse/SKILL.md +197 -0
- package/bundled-skills/dotnet-reverse/references/common-workflow.md +171 -0
- package/bundled-skills/dotnet-reverse/references/obfuscators.md +145 -0
- package/bundled-skills/dotnet-reverse/references/sharp-tools.md +164 -0
- package/bundled-skills/edr-bypass-re/SKILL.md +248 -0
- package/bundled-skills/edr-bypass-re/references/hook-survey.md +226 -0
- package/bundled-skills/edr-bypass-re/references/telemetry-blinding.md +346 -0
- package/bundled-skills/edr-bypass-re/references/unhook-techniques.md +338 -0
- package/bundled-skills/email-security/SKILL.md +81 -0
- package/bundled-skills/email-security/references/email-auth-checklist.md +8 -0
- package/bundled-skills/firmware-pentest/SKILL.md +381 -0
- package/bundled-skills/firmware-pentest/references/emba-automated-analysis.md +192 -0
- package/bundled-skills/firmware-pentest/references/emulation-and-fuzz.md +337 -0
- package/bundled-skills/firmware-pentest/references/extraction-methodology.md +285 -0
- package/bundled-skills/ghidra-reverse/SKILL.md +98 -0
- package/bundled-skills/ghidra-reverse/references/ghidra-cheatsheet.md +12 -0
- package/bundled-skills/go-rust-reverse/SKILL.md +82 -0
- package/bundled-skills/go-rust-reverse/references/go-rust-notes.md +5 -0
- package/bundled-skills/hardware-security/SKILL.md +80 -0
- package/bundled-skills/hardware-security/references/debug-interface-triage.md +7 -0
- package/bundled-skills/ida-reverse/SKILL.md +401 -0
- package/bundled-skills/ida-reverse/references/LOCAL-SETUP.md +66 -0
- package/bundled-skills/ida-reverse/references/ida-mcp-cheatsheet.md +515 -0
- package/bundled-skills/identity-federation/SKILL.md +81 -0
- package/bundled-skills/identity-federation/references/sso-flow-checklist.md +9 -0
- package/bundled-skills/instructree/SKILL.md +94 -0
- package/bundled-skills/js-reverse/SKILL.md +239 -0
- package/bundled-skills/js-reverse/references/ast-deobfuscation.md +3 -0
- package/bundled-skills/js-reverse/references/automation-entry.md +12 -0
- package/bundled-skills/js-reverse/references/env-patching.md +6 -0
- package/bundled-skills/js-reverse/references/fallbacks.md +8 -0
- package/bundled-skills/js-reverse/references/instrumentation.md +9 -0
- package/bundled-skills/js-reverse/references/local-rebuild.md +11 -0
- package/bundled-skills/js-reverse/references/mcp-task-template.md +30 -0
- package/bundled-skills/js-reverse/references/node-env-rebuild.md +9 -0
- package/bundled-skills/js-reverse/references/output-contract.md +9 -0
- package/bundled-skills/js-reverse/references/task-artifacts.md +11 -0
- package/bundled-skills/js-reverse/references/task-input-template.md +11 -0
- package/bundled-skills/js-reverse/references/tool-defaults.md +7 -0
- package/bundled-skills/llm-security/SKILL.md +160 -0
- package/bundled-skills/llm-security/references/agent-obedience-engineering.md +243 -0
- package/bundled-skills/llm-security/references/agent-security-testing.md +116 -0
- package/bundled-skills/llm-security/references/owasp-llm-top10.md +48 -0
- package/bundled-skills/llm-security/references/prompt-injection-methodology.md +107 -0
- package/bundled-skills/loki-mode/examples/todo-app-generated/backend/package-lock.json +4 -4
- package/bundled-skills/loki-mode/examples/todo-app-generated/backend/package.json +1 -1
- package/bundled-skills/macos-reverse/SKILL.md +85 -0
- package/bundled-skills/macos-reverse/references/macho-triage.md +10 -0
- package/bundled-skills/malware-analysis/SKILL.md +311 -0
- package/bundled-skills/malware-analysis/references/anti-analysis-techniques.md +205 -0
- package/bundled-skills/malware-analysis/references/sandbox-orchestration.md +204 -0
- package/bundled-skills/malware-analysis/references/yara-sigma-rules.md +232 -0
- package/bundled-skills/mobile-reverse/SKILL.md +222 -0
- package/bundled-skills/mobile-reverse/references/anti-detection-bypass.md +182 -0
- package/bundled-skills/mobile-reverse/references/frida-objection-deep.md +218 -0
- package/bundled-skills/mobile-reverse/references/ios-reverse-guide.md +177 -0
- package/bundled-skills/muapi-media/SKILL.md +311 -0
- package/bundled-skills/ot-ics/SKILL.md +117 -0
- package/bundled-skills/ot-ics/references/ot-safe-assessment.md +10 -0
- package/bundled-skills/patch-diff-exploit/SKILL.md +278 -0
- package/bundled-skills/patch-diff-exploit/references/diff-tools-comparison.md +271 -0
- package/bundled-skills/patch-diff-exploit/references/patch-tuesday-workflow.md +253 -0
- package/bundled-skills/patch-diff-exploit/references/root-cause-and-poc.md +198 -0
- package/bundled-skills/pentest-tools/SKILL.md +346 -0
- package/bundled-skills/pentest-tools/references/ai-pentest-agents.md +148 -0
- package/bundled-skills/pentest-tools/references/ai-pentesting-landscape-2026.md +73 -0
- package/bundled-skills/pentest-tools/references/automation-loop-pattern.md +153 -0
- package/bundled-skills/pentest-tools/references/awesome-pentest-digest.md +175 -0
- package/bundled-skills/pentest-tools/references/burpsuite-mcp-guide.md +769 -0
- package/bundled-skills/pentest-tools/references/client-side-lab-playbook.md +155 -0
- package/bundled-skills/pentest-tools/references/kali-mcp-ecosystem.md +119 -0
- package/bundled-skills/pentest-tools/references/msf-protocol.md +169 -0
- package/bundled-skills/pentest-tools/references/network-attack-defense.md +350 -0
- package/bundled-skills/pentest-tools/references/nuclei-guide-2026.md +157 -0
- package/bundled-skills/pentest-tools/references/payloads.md +32 -0
- package/bundled-skills/pentest-tools/references/pentest-ai-agents-matrix.md +117 -0
- package/bundled-skills/pentest-tools/references/pentest-loop.md +270 -0
- package/bundled-skills/pentest-tools/references/recon-pipeline.md +154 -0
- package/bundled-skills/pentest-tools/references/templates/findings.md +21 -0
- package/bundled-skills/pentest-tools/references/templates/progress.md +17 -0
- package/bundled-skills/pentest-tools/references/templates/rules.md +35 -0
- package/bundled-skills/pentest-tools/references/templates/scope.md +29 -0
- package/bundled-skills/pentest-tools/references/templates/task_plan.md +27 -0
- package/bundled-skills/pentest-tools/references/web-attack-cheatsheet.md +387 -0
- package/bundled-skills/pentest-tools/src-hunter/SKILL.md +243 -0
- package/bundled-skills/pentest-tools/src-hunter/references/README.en.md +115 -0
- package/bundled-skills/pentest-tools/src-hunter/references/README.md +148 -0
- package/bundled-skills/pentest-tools/src-hunter/references/dictionaries/00-index.md +44 -0
- package/bundled-skills/pentest-tools/src-hunter/references/dictionaries/chinese-srcfingerprints.md +515 -0
- package/bundled-skills/pentest-tools/src-hunter/references/dictionaries/default-credentials-cn.md +274 -0
- package/bundled-skills/pentest-tools/src-hunter/references/industry/00-index.md +66 -0
- package/bundled-skills/pentest-tools/src-hunter/references/industry/banking-finance.md +338 -0
- package/bundled-skills/pentest-tools/src-hunter/references/industry/telecom-isp.md +315 -0
- package/bundled-skills/pentest-tools/src-hunter/references/methodology/00-index.md +68 -0
- package/bundled-skills/pentest-tools/src-hunter/references/methodology/01-attack-priority.md +143 -0
- package/bundled-skills/pentest-tools/src-hunter/references/methodology/02-bypass-toolkit.md +357 -0
- package/bundled-skills/pentest-tools/src-hunter/references/methodology/03-evidence-discipline.md +205 -0
- package/bundled-skills/pentest-tools/src-hunter/references/methodology/04-control-gap-hunting.md +238 -0
- package/bundled-skills/pentest-tools/src-hunter/references/methodology/05-srctimebox-priority.md +161 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/intranet/adcs/346/224/273/345/207/273.md +254 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/intranet/exchange/346/224/273/345/207/273.md +254 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/intranet/sharepoint/346/224/273/345/207/273.md +113 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/intranet//344/277/241/346/201/257/346/224/266/351/233/206.md +947 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/intranet//345/205/215/346/235/200/344/270/216/350/247/204/351/201/277.md +780 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/intranet//345/207/255/350/257/201/347/252/203/345/217/226.md +1259 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/intranet//345/237/237/346/270/227/351/200/217/346/224/273/345/207/273.md +753 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/intranet//346/235/203/351/231/220/346/217/220/345/215/207.md +819 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/intranet//346/235/203/351/231/220/347/273/264/346/214/201.md +577 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/intranet//346/250/252/345/220/221/347/247/273/345/212/250.md +838 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/intranet//351/232/247/351/201/223/344/273/243/347/220/206.md +604 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web/ai/345/256/211/345/205/250.md +698 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web/api/345/256/211/345/205/250.md +1935 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web/csrf/350/267/250/347/253/231/350/257/267/346/261/202/344/274/252/351/200/240.md +952 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web/jwt/345/256/211/345/205/250.md +496 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web/lfi-rfi/346/226/207/344/273/266/345/214/205/345/220/253.md +1365 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web/rce/350/277/234/347/250/213/344/273/243/347/240/201/346/211/247/350/241/214.md +1329 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web/sql-nosql/346/263/250/345/205/245.md +1924 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web/ssrf/346/234/215/345/212/241/347/253/257/350/257/267/346/261/202/344/274/252/351/200/240.md +1256 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web/ssti/346/250/241/346/235/277/346/263/250/345/205/245.md +1151 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web/websocket/345/256/211/345/205/250.md +487 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web/xss/350/267/250/347/253/231/350/204/232/346/234/254.md +1465 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web/xxe/345/256/236/344/275/223/346/263/250/345/205/245.md +815 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web//344/270/232/345/212/241/351/200/273/350/276/221/346/274/217/346/264/236.md +594 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web//344/272/221/345/256/211/345/205/250/346/274/217/346/264/236.md +561 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web//344/276/233/345/272/224/351/223/276/346/224/273/345/207/273.md +399 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web//345/216/237/345/236/213/351/223/276/346/261/241/346/237/223.md +401 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web//345/274/200/346/224/276/351/207/215/345/256/232/345/220/221.md +396 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web//346/226/207/344/273/266/346/274/217/346/264/236.md +0 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web//346/241/206/346/236/266/346/274/217/346/264/236.md +2304 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web//347/202/271/345/207/273/345/212/253/346/214/201.md +339 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web//347/274/223/345/255/230/344/270/216cdn/345/256/211/345/205/250.md +497 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web//350/256/244/350/257/201/346/274/217/346/264/236.md +1778 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web//350/257/267/346/261/202/350/265/260/347/247/201.md +854 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/index.md +69 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/tools/web/346/270/227/351/200/217.md +662 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/tools/windows/346/270/227/351/200/217.md +100 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/tools//344/277/241/346/201/257/346/224/266/351/233/206.md +852 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/tools//345/206/205/347/275/221/346/270/227/351/200/217.md +873 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/tools//345/207/255/350/257/201/347/252/203/345/217/226.md +186 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/tools//345/237/237/346/270/227/351/200/217.md +50 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/tools//345/257/206/347/240/201/346/224/273/345/207/273.md +462 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/tools//346/235/203/351/231/220/346/217/220/345/215/207.md +168 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/tools//346/274/217/346/264/236/345/210/251/347/224/250.md +445 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/tools//347/263/273/347/273/237/345/221/275/344/273/244.md +410 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/tools//347/272/242/351/230/237/345/267/245/345/205/267.md +64 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/tools//347/274/226/347/240/201/350/247/243/347/240/201.md +226 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/tools//351/232/247/351/201/223/344/273/243/347/220/206.md +84 -0
- package/bundled-skills/pentest-tools/src-hunter/references/payloader/waf-bypass.md +6504 -0
- package/bundled-skills/pentest-tools/src-hunter/references/playbooks/00-index.md +57 -0
- package/bundled-skills/pentest-tools/src-hunter/references/playbooks/api-rest.md +2050 -0
- package/bundled-skills/pentest-tools/src-hunter/references/playbooks/arbitrary-x-authz.md +481 -0
- package/bundled-skills/pentest-tools/src-hunter/references/playbooks/dos.md +615 -0
- package/bundled-skills/pentest-tools/src-hunter/references/playbooks/file-upload.md +1365 -0
- package/bundled-skills/pentest-tools/src-hunter/references/playbooks/graphql.md +253 -0
- package/bundled-skills/pentest-tools/src-hunter/references/playbooks/http-smuggling.md +924 -0
- package/bundled-skills/pentest-tools/src-hunter/references/playbooks/info-disclosure.md +432 -0
- package/bundled-skills/pentest-tools/src-hunter/references/playbooks/intranet-postexp.md +4845 -0
- package/bundled-skills/pentest-tools/src-hunter/references/playbooks/llm-prompt-injection.md +1394 -0
- package/bundled-skills/pentest-tools/src-hunter/references/playbooks/logic-flaws.md +1796 -0
- package/bundled-skills/pentest-tools/src-hunter/references/playbooks/mobile.md +397 -0
- package/bundled-skills/pentest-tools/src-hunter/references/playbooks/oauth-saml-jwt.md +2504 -0
- package/bundled-skills/pentest-tools/src-hunter/references/playbooks/path-traversal.md +1297 -0
- package/bundled-skills/pentest-tools/src-hunter/references/playbooks/race-conditions.md +207 -0
- package/bundled-skills/pentest-tools/src-hunter/references/playbooks/rce.md +4829 -0
- package/bundled-skills/pentest-tools/src-hunter/references/playbooks/sqli.md +1620 -0
- package/bundled-skills/pentest-tools/src-hunter/references/playbooks/ssrf-cache-host.md +2098 -0
- package/bundled-skills/pentest-tools/src-hunter/references/playbooks/unauth-access.md +330 -0
- package/bundled-skills/pentest-tools/src-hunter/references/playbooks/xss.md +1159 -0
- package/bundled-skills/pentest-tools/src-hunter/references/templates/report-submission.md +346 -0
- package/bundled-skills/pentest-tools/src-hunter/references/tools/mcp-jshook.md +174 -0
- package/bundled-skills/protocol-reverse/SKILL.md +108 -0
- package/bundled-skills/protocol-reverse/references/protocol-workflow.md +29 -0
- package/bundled-skills/pwn-chain/SKILL.md +209 -0
- package/bundled-skills/pwn-chain/references/heap-pwn.md +283 -0
- package/bundled-skills/pwn-chain/references/kernel-pwn.md +370 -0
- package/bundled-skills/pwn-chain/references/stack-pwn.md +312 -0
- package/bundled-skills/radare2/SKILL.md +460 -0
- package/bundled-skills/radare2/references/cheatsheet.md +129 -0
- package/bundled-skills/radio-sdr/SKILL.md +77 -0
- package/bundled-skills/radio-sdr/references/sdr-lab-rules.md +6 -0
- package/bundled-skills/reverse-browser-automation/SKILL.md +249 -0
- package/bundled-skills/reverse-browser-automation/references/playwright-cheatsheet.md +425 -0
- package/bundled-skills/reverse-engineering/SKILL.md +213 -0
- package/bundled-skills/reverse-engineering/dsl-vm-reverse/SKILL.md +388 -0
- package/bundled-skills/reverse-engineering/references/ai-assisted-re.md +149 -0
- package/bundled-skills/reverse-engineering/references/anti-analysis.md +836 -0
- package/bundled-skills/reverse-engineering/references/awesome-re-resources.md +135 -0
- package/bundled-skills/reverse-engineering/references/crypto-decode-tools.md +220 -0
- package/bundled-skills/reverse-engineering/references/elf-analysis.md +296 -0
- package/bundled-skills/reverse-engineering/references/field-notes.md +540 -0
- package/bundled-skills/reverse-engineering/references/go-reverse.md +240 -0
- package/bundled-skills/reverse-engineering/references/kernel-driver-reverse.md +298 -0
- package/bundled-skills/reverse-engineering/references/languages-compiled.md +587 -0
- package/bundled-skills/reverse-engineering/references/languages-platforms.md +486 -0
- package/bundled-skills/reverse-engineering/references/languages.md +499 -0
- package/bundled-skills/reverse-engineering/references/nonpe-format-cookbook.md +301 -0
- package/bundled-skills/reverse-engineering/references/ollvm-deobfuscation.md +501 -0
- package/bundled-skills/reverse-engineering/references/patterns-ctf-2.md +397 -0
- package/bundled-skills/reverse-engineering/references/patterns-ctf-3.md +719 -0
- package/bundled-skills/reverse-engineering/references/patterns-ctf.md +532 -0
- package/bundled-skills/reverse-engineering/references/patterns.md +801 -0
- package/bundled-skills/reverse-engineering/references/platforms-hardware.md +304 -0
- package/bundled-skills/reverse-engineering/references/platforms.md +442 -0
- package/bundled-skills/reverse-engineering/references/re-agent-workflow.md +240 -0
- package/bundled-skills/reverse-engineering/references/tools-advanced.md +822 -0
- package/bundled-skills/reverse-engineering/references/tools-dynamic.md +846 -0
- package/bundled-skills/reverse-engineering/references/tools.md +546 -0
- package/bundled-skills/supply-chain-security/SKILL.md +180 -0
- package/bundled-skills/supply-chain-security/references/cicd-pipeline-security.md +137 -0
- package/bundled-skills/supply-chain-security/references/sbom-sca-methodology.md +74 -0
- package/bundled-skills/thick-client/SKILL.md +104 -0
- package/bundled-skills/thick-client/references/thick-client-checklist.md +9 -0
- package/bundled-skills/threat-hunting/SKILL.md +94 -0
- package/bundled-skills/threat-hunting/references/hunting-loop.md +5 -0
- package/bundled-skills/threat-intelligence/SKILL.md +176 -0
- package/bundled-skills/threat-intelligence/references/x-public-intelligence.md +93 -0
- package/bundled-skills/tree-ring-memory/SKILL.md +29 -9
- package/bundled-skills/wifi-wireless/SKILL.md +80 -0
- package/bundled-skills/wifi-wireless/references/wireless-lab-rules.md +6 -0
- package/bundled-skills/windows-ad/SKILL.md +109 -0
- package/bundled-skills/windows-ad/references/ad-attack-paths.md +12 -0
- package/package.json +1 -1
- package/skills_index.json +1214 -2
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
# 逆向工程参考资源汇总
|
|
2
|
+
|
|
3
|
+
> 精选自多个 awesome 列表,按实用性排序。AI 在逆向分析时可参考这些资源获取方法论和工具指导。
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## 综合资源库
|
|
8
|
+
|
|
9
|
+
| 项目 | Stars | 覆盖 | 链接 |
|
|
10
|
+
|------|-------|------|------|
|
|
11
|
+
| **awesome-reversing** (tylerha97) | 3k+ | 逆向工具/书籍/课程/练习 | https://github.com/tylerha97/awesome-reversing |
|
|
12
|
+
| **awesome-reverse-engineering** (alphaSeclab) | 4k+ | 3500+ 工具 + 2300 文章,全平台 | https://github.com/alphaSeclab/awesome-reverse-engineering |
|
|
13
|
+
| **Reverse-Engineering** (mytechnotalent) | 10k+ | 免费教程:x86/x64/ARM/AVR/RISC-V | https://github.com/mytechnotalent/Reverse-Engineering |
|
|
14
|
+
| **awesome-malware-analysis** (rshipp) | 12k+ | 恶意软件分析工具/资源 | https://github.com/rshipp/awesome-malware-analysis |
|
|
15
|
+
| **reversingBits** | — | 逆向/二进制分析速查表合集 | https://github.com/mohitmishra786/reversingBits |
|
|
16
|
+
| **awesome-arm-exploitation** | — | ARM 利用资源(视频/文章/书籍) | https://github.com/HenryHoggard/awesome-arm-exploitation |
|
|
17
|
+
| **Binary-Analysis-Automation** | — | 自动化二进制分析(ML/脚本/静态/动态) | https://github.com/user1342/Awesome-Binary-Analysis-Automation |
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## ELF / Linux 逆向专项
|
|
22
|
+
|
|
23
|
+
| 资源 | 说明 | 链接 |
|
|
24
|
+
|------|------|------|
|
|
25
|
+
| **libelfmaster** | 安全 ELF 解析库(取证/恶意软件重建) | https://github.com/elfmaster/libelfmaster |
|
|
26
|
+
| **ELF 规范** | 官方 ELF 格式文档 | https://refspecs.linuxfoundation.org/elf/elf.pdf |
|
|
27
|
+
| **Linux Internals** | /proc 文件系统、内存布局、syscall | https://0xax.gitbooks.io/linux-insides/ |
|
|
28
|
+
| **Compiler Explorer** | 在线看 C/C++/Rust/Go 编译成什么汇编 | https://godbolt.org/ |
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## ARM / AArch64 专项
|
|
33
|
+
|
|
34
|
+
| 资源 | 说明 | 链接 |
|
|
35
|
+
|------|------|------|
|
|
36
|
+
| **ARM 官方架构手册** | 完整指令集参考 | https://developer.arm.com/documentation |
|
|
37
|
+
| **Azeria Labs** | ARM 汇编/利用教程(最佳入门) | https://azeria-labs.com/writing-arm-assembly-part-1/ |
|
|
38
|
+
| **ARM64 syscall 表** | Linux AArch64 系统调用号 | https://arm64.syscall.sh/ |
|
|
39
|
+
| **QEMU 用户态模拟** | 不需要真实设备分析 ARM 二进制 | `qemu-aarch64 -strace ./binary` |
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## 恶意软件分析
|
|
44
|
+
|
|
45
|
+
| 资源 | 说明 | 链接 |
|
|
46
|
+
|------|------|------|
|
|
47
|
+
| **YARA** | 恶意软件特征匹配规则 | https://github.com/VirusTotal/yara |
|
|
48
|
+
| **Volatility 3** | 内存取证框架 | https://github.com/volatilityfoundation/volatility3 |
|
|
49
|
+
| **FLOSS** | 自动提取混淆字符串 | https://github.com/mandiant/flare-floss |
|
|
50
|
+
| **Detect It Easy (DiE)** | 文件类型/壳/编译器识别 | https://github.com/horsicq/Detect-It-Easy |
|
|
51
|
+
| **PE-bear** | PE 文件分析器 | https://github.com/hasherezade/pe-bear |
|
|
52
|
+
| **Capa** | 自动识别二进制能力(网络/文件/加密等) | https://github.com/mandiant/capa |
|
|
53
|
+
| **Unpacker** | 通用脱壳框架 | https://github.com/malwaretech/UnpackerFramework |
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## 动态分析 / 沙箱
|
|
58
|
+
|
|
59
|
+
| 资源 | 说明 | 链接 |
|
|
60
|
+
|------|------|------|
|
|
61
|
+
| **Frida** | 跨平台动态插桩 | https://frida.re/ |
|
|
62
|
+
| **strace** | Linux 系统调用跟踪 | 系统自带 |
|
|
63
|
+
| **ltrace** | 库函数调用跟踪 | 系统自带 |
|
|
64
|
+
| **QEMU** | 用户态/系统态模拟 | https://www.qemu.org/ |
|
|
65
|
+
| **Unicorn** | CPU 模拟框架(可编程) | https://www.unicorn-engine.org/ |
|
|
66
|
+
| **Qiling** | 高级二进制模拟框架 | https://qiling.io/ |
|
|
67
|
+
| **angr** | 符号执行 + 二进制分析 | https://angr.io/ |
|
|
68
|
+
| **Triton** | 动态二进制分析框架 | https://triton-library.github.io/ |
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## 反混淆 / 脱壳
|
|
73
|
+
|
|
74
|
+
| 资源 | 说明 | 链接 |
|
|
75
|
+
|------|------|------|
|
|
76
|
+
| **UPX** | 最常见的壳,`upx -d` 脱壳 | https://upx.github.io/ |
|
|
77
|
+
| **unipacker** | 通用 PE 脱壳器 | https://github.com/unipacker/unipacker |
|
|
78
|
+
| **de4dot** | .NET 反混淆 | https://github.com/de4dot/de4dot |
|
|
79
|
+
| **JADX** | Android DEX 反混淆 | https://github.com/skylot/jadx |
|
|
80
|
+
| **JEB** | 商业 Android/ARM 反编译器 | https://www.pnfsoftware.com/ |
|
|
81
|
+
| **Miasm** | 逆向工程框架(IR/符号执行/反混淆) | https://github.com/cea-sec/miasm |
|
|
82
|
+
| **OLLVM 反混淆** | 控制流平坦化/虚假控制流对抗 | 用 angr/Triton 符号执行恢复 |
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
## 在线分析平台
|
|
87
|
+
|
|
88
|
+
| 平台 | 说明 | 链接 |
|
|
89
|
+
|------|------|------|
|
|
90
|
+
| **VirusTotal** | 多引擎扫描 + 行为分析 | https://www.virustotal.com/ |
|
|
91
|
+
| **Joe Sandbox** | 自动化恶意软件分析 | https://www.joesandbox.com/ |
|
|
92
|
+
| **ANY.RUN** | 交互式在线沙箱 | https://any.run/ |
|
|
93
|
+
| **Hybrid Analysis** | 免费恶意软件分析 | https://www.hybrid-analysis.com/ |
|
|
94
|
+
| **Compiler Explorer** | 看编译器输出 | https://godbolt.org/ |
|
|
95
|
+
| **Dogbolt** | 多反编译器对比(IDA/Ghidra/Binary Ninja) | https://dogbolt.org/ |
|
|
96
|
+
|
|
97
|
+
---
|
|
98
|
+
|
|
99
|
+
## 学习路径
|
|
100
|
+
|
|
101
|
+
### 入门(0-3 个月)
|
|
102
|
+
|
|
103
|
+
1. [Reverse Engineering for Beginners](https://beginners.re/) — 免费电子书
|
|
104
|
+
2. [Azeria Labs ARM 教程](https://azeria-labs.com/) — ARM 汇编基础
|
|
105
|
+
3. [Nightmare](https://guyinatuxedo.github.io/) — CTF 逆向/Pwn 教程
|
|
106
|
+
4. [crackmes.one](https://crackmes.one/) — 逆向练习题
|
|
107
|
+
|
|
108
|
+
### 进阶(3-12 个月)
|
|
109
|
+
|
|
110
|
+
1. [Practical Binary Analysis](https://practicalbinaryanalysis.com/) — 实战二进制分析
|
|
111
|
+
2. [The IDA Pro Book](https://nostarch.com/idapro2.htm) — IDA 深度使用
|
|
112
|
+
3. [Malware Unicorn RE101](https://malwareunicorn.org/workshops/re101.html) — 恶意软件逆向
|
|
113
|
+
4. [pwnable.kr](http://pwnable.kr/) / [pwnable.tw](https://pwnable.tw/) — Pwn 练习
|
|
114
|
+
|
|
115
|
+
### 高级
|
|
116
|
+
|
|
117
|
+
1. [Modern Binary Exploitation](https://github.com/RPISEC/MBE) — RPI 课程
|
|
118
|
+
2. [How to Hack Like a Ghost](https://nostarch.com/how-hack-ghost) — 高级渗透
|
|
119
|
+
3. [Windows Internals](https://docs.microsoft.com/en-us/sysinternals/) — Windows 内核
|
|
120
|
+
4. 实战:分析真实恶意软件样本(MalwareBazaar)
|
|
121
|
+
|
|
122
|
+
---
|
|
123
|
+
|
|
124
|
+
## 速查表
|
|
125
|
+
|
|
126
|
+
| 速查表 | 链接 |
|
|
127
|
+
|--------|------|
|
|
128
|
+
| x86/x64 指令速查 | https://www.felixcloutier.com/x86/ |
|
|
129
|
+
| ARM64 指令速查 | https://developer.arm.com/documentation/ddi0602/latest |
|
|
130
|
+
| Linux syscall 表 (x64) | https://blog.rchapman.org/posts/Linux_System_Call_Table_for_x86_64/ |
|
|
131
|
+
| Linux syscall 表 (ARM64) | https://arm64.syscall.sh/ |
|
|
132
|
+
| GDB 速查 | https://darkdust.net/files/GDB%20Cheat%20Sheet.pdf |
|
|
133
|
+
| radare2 速查 | 本包 `radare2/references/cheatsheet.md` |
|
|
134
|
+
| IDA 快捷键 | https://hex-rays.com/products/ida/support/freefiles/IDA_Pro_Shortcuts.pdf |
|
|
135
|
+
| Ghidra 快捷键 | Ghidra 内置 Help → Keyboard Shortcuts |
|
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
# 加解密 / 编解码工具速查
|
|
2
|
+
|
|
3
|
+
> 逆向和 CTF 中经常遇到加密/编码/哈希数据。本文档按场景列出最实用的工具。
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## 自动识别 + 解密(不知道用了什么加密时)
|
|
8
|
+
|
|
9
|
+
| 工具 | Stars | 用途 | 链接 |
|
|
10
|
+
|------|-------|------|------|
|
|
11
|
+
| **Ciphey** | 18k+ | AI 自动识别并解密(支持 50+ 编码/加密/哈希) | https://github.com/Ciphey/Ciphey |
|
|
12
|
+
| **CyberChef** | 29k+ | 在线/离线编解码瑞士军刀(拖拽式操作) | https://github.com/gchq/CyberChef |
|
|
13
|
+
| **dcode.fr** | — | 在线 900+ 密码/编码/数学工具 | https://www.dcode.fr/ |
|
|
14
|
+
|
|
15
|
+
### Ciphey 使用
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
pip install ciphey
|
|
19
|
+
# 自动检测并解密
|
|
20
|
+
ciphey -t "密文"
|
|
21
|
+
# 从文件读取
|
|
22
|
+
ciphey -f encrypted.txt
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Ciphey 支持:Base64/32/16、Caesar、Vigenere、XOR、AES(弱密钥)、Morse、Binary、Hex、URL encoding、HTML entities、哈希识别等。
|
|
26
|
+
|
|
27
|
+
### CyberChef 使用
|
|
28
|
+
|
|
29
|
+
```text
|
|
30
|
+
在线版:https://gchq.github.io/CyberChef/
|
|
31
|
+
离线版:下载 GitHub Release 的 HTML 文件直接打开
|
|
32
|
+
|
|
33
|
+
常用 Recipe:
|
|
34
|
+
- From Base64 → 解 Base64
|
|
35
|
+
- XOR → 异或解密(可暴力尝试 key)
|
|
36
|
+
- AES Decrypt → AES 解密
|
|
37
|
+
- Magic → 自动检测编码类型
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## 哈希识别与破解
|
|
43
|
+
|
|
44
|
+
| 工具 | 用途 | 链接 |
|
|
45
|
+
|------|------|------|
|
|
46
|
+
| **hashID** | 识别哈希类型(MD5/SHA/bcrypt 等) | https://github.com/psypanda/hashID |
|
|
47
|
+
| **hash-identifier** | 同上,Python 版 | https://github.com/blackploit/hash-identifier |
|
|
48
|
+
| **haiti** | 现代哈希识别工具(更准确) | `gem install haiti` |
|
|
49
|
+
| **Hashcat** | GPU 哈希破解 | https://hashcat.net/ |
|
|
50
|
+
| **John the Ripper** | CPU 哈希破解 | https://www.openwall.com/john/ |
|
|
51
|
+
| **hashes.com** | 在线哈希查询(彩虹表) | https://hashes.com/ |
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
# 识别哈希类型
|
|
55
|
+
hashid '5f4dcc3b5aa765d61d8327deb882cf99'
|
|
56
|
+
# 输出: [+] MD5
|
|
57
|
+
|
|
58
|
+
# haiti(更准确)
|
|
59
|
+
haiti '5f4dcc3b5aa765d61d8327deb882cf99'
|
|
60
|
+
|
|
61
|
+
# Hashcat 破解
|
|
62
|
+
hashcat -m 0 hash.txt rockyou.txt # MD5
|
|
63
|
+
hashcat -m 1000 hash.txt rockyou.txt # NTLM
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
## RSA 攻击
|
|
69
|
+
|
|
70
|
+
| 工具 | 用途 | 链接 |
|
|
71
|
+
|------|------|------|
|
|
72
|
+
| **RsaCtfTool** | RSA 自动攻击(20+ 攻击方式) | https://github.com/Ganapati/RsaCtfTool |
|
|
73
|
+
| **SageMath** | 数学计算(大数分解/椭圆曲线) | https://www.sagemath.org/ |
|
|
74
|
+
| **factordb.com** | 在线大数分解查询 | http://factordb.com/ |
|
|
75
|
+
| **yafu** | 本地大数分解 | https://github.com/bbuhrow/yafu |
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
# RsaCtfTool 自动攻击
|
|
79
|
+
python RsaCtfTool.py --publickey pub.pem --private
|
|
80
|
+
python RsaCtfTool.py --publickey pub.pem --uncipherfile cipher.txt
|
|
81
|
+
|
|
82
|
+
# 支持的攻击:
|
|
83
|
+
# Wiener、Boneh-Durfee、Fermat、Pollard p-1、Williams p+1
|
|
84
|
+
# Common modulus、Small q、Hastads、Noveltyprimes 等
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
---
|
|
88
|
+
|
|
89
|
+
## XOR 分析
|
|
90
|
+
|
|
91
|
+
| 工具 | 用途 | 链接 |
|
|
92
|
+
|------|------|------|
|
|
93
|
+
| **xortool** | XOR 密钥长度猜测 + 已知明文攻击 | https://github.com/hellman/xortool |
|
|
94
|
+
| **CyberChef XOR** | 可视化 XOR 操作 | CyberChef 内置 |
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
# 猜测 XOR key 长度
|
|
98
|
+
xortool encrypted_file
|
|
99
|
+
# 用猜测的 key 长度解密
|
|
100
|
+
xortool -l 4 -c 00 encrypted_file
|
|
101
|
+
|
|
102
|
+
# 已知明文攻击(知道部分明文)
|
|
103
|
+
xortool-xor -f encrypted -s "known_plaintext"
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
## 古典密码
|
|
109
|
+
|
|
110
|
+
| 密码类型 | 工具 | 说明 |
|
|
111
|
+
|---------|------|------|
|
|
112
|
+
| Caesar | CyberChef / dcode.fr | 暴力 25 种偏移 |
|
|
113
|
+
| Vigenere | dcode.fr / Ciphey | 需要猜 key 长度 |
|
|
114
|
+
| Substitution | quipqiup.com | 频率分析自动求解 |
|
|
115
|
+
| Enigma | dcode.fr | 在线模拟器 |
|
|
116
|
+
| Rail Fence | dcode.fr / CyberChef | 栅栏密码 |
|
|
117
|
+
| Playfair | dcode.fr | 需要 key |
|
|
118
|
+
| Morse | CyberChef | 点划转文字 |
|
|
119
|
+
| Bacon | dcode.fr | 二进制隐写 |
|
|
120
|
+
| ROT13/47 | CyberChef / `tr` | 简单替换 |
|
|
121
|
+
|
|
122
|
+
---
|
|
123
|
+
|
|
124
|
+
## 编码识别与转换
|
|
125
|
+
|
|
126
|
+
| 编码 | 识别特征 | 解码方式 |
|
|
127
|
+
|------|---------|---------|
|
|
128
|
+
| Base64 | 末尾 `=` 或 `==`,字符集 A-Za-z0-9+/ | `base64 -d` / CyberChef | <!-- security-allowlist: SEC008 -->
|
|
129
|
+
| Base32 | 大写字母 + 2-7,末尾 `=` | CyberChef |
|
|
130
|
+
| Base58 | 无 0/O/I/l,常见于短标识符编码 | CyberChef |
|
|
131
|
+
| Hex | 只有 0-9a-f,长度为偶数 | `xxd -r -p` / CyberChef |
|
|
132
|
+
| URL encoding | `%XX` 格式 | `urldecode` / CyberChef |
|
|
133
|
+
| HTML entities | `&#XX;` 或 `&` 格式 | CyberChef |
|
|
134
|
+
| Unicode escape | `\uXXXX` 格式 | Python `decode('unicode_escape')` |
|
|
135
|
+
| JWT | `xxxxx.yyyyy.zzzzz`(三段 Base64URL) | jwt.io / CyberChef |
|
|
136
|
+
| Brainfuck | 只有 `><+-.,[]` 八个字符 | 在线解释器 |
|
|
137
|
+
| Ook! | 只有 `Ook.` `Ook!` `Ook?` | 在线解释器 |
|
|
138
|
+
|
|
139
|
+
---
|
|
140
|
+
|
|
141
|
+
## 逆向中的加密识别
|
|
142
|
+
|
|
143
|
+
### 通过常量识别算法
|
|
144
|
+
|
|
145
|
+
| 常量/特征 | 算法 |
|
|
146
|
+
|-----------|------|
|
|
147
|
+
| `0x67452301, 0xEFCDAB89, 0x98BADCFE, 0x10325476` | MD5 |
|
|
148
|
+
| `0x6A09E667, 0xBB67AE85, 0x3C6EF372` | SHA-256 |
|
|
149
|
+
| `0x63, 0x7C, 0x77, 0x7B` (S-Box 开头) | AES |
|
|
150
|
+
| `0x243F6A88` (π 的十六进制) | Blowfish |
|
|
151
|
+
| `0xB7E15163, 0x9E3779B9` | RC5/RC6/TEA |
|
|
152
|
+
| `0x61707865` ("expa") | ChaCha20/Salsa20 |
|
|
153
|
+
| `0xC6EF3720` | XTEA |
|
|
154
|
+
|
|
155
|
+
### 通过行为识别
|
|
156
|
+
|
|
157
|
+
| 行为特征 | 可能的算法 |
|
|
158
|
+
|---------|-----------|
|
|
159
|
+
| 256 字节查找表 + swap 操作 | RC4 |
|
|
160
|
+
| 16 字节块 + 多轮置换 | AES |
|
|
161
|
+
| Feistel 结构(左右交换) | DES/Blowfish/TEA |
|
|
162
|
+
| 大数乘法/模幂 | RSA |
|
|
163
|
+
| 椭圆曲线点运算 | ECDSA/ECDH |
|
|
164
|
+
| 固定 64 轮循环 | TEA/XTEA |
|
|
165
|
+
| 32 轮 + delta 常量 | XTEA |
|
|
166
|
+
|
|
167
|
+
---
|
|
168
|
+
|
|
169
|
+
## 自动化密码分析
|
|
170
|
+
|
|
171
|
+
| 工具 | 用途 | 链接 |
|
|
172
|
+
|------|------|------|
|
|
173
|
+
| **FeatherDuster** | 自动化密码分析框架 | https://github.com/nccgroup/featherduster |
|
|
174
|
+
| **PkCrack** | ZIP 已知明文攻击 | https://www.unix-ag.uni-kl.de/~conrad/krypto/pkcrack.html |
|
|
175
|
+
| **bkcrack** | ZIP 已知明文攻击(现代版) | https://github.com/kimci86/bkcrack |
|
|
176
|
+
| **z3** | SMT 求解器(约束求解) | https://github.com/Z3Prover/z3 |
|
|
177
|
+
| **angr** | 符号执行(自动求解输入) | https://angr.io/ |
|
|
178
|
+
|
|
179
|
+
---
|
|
180
|
+
|
|
181
|
+
## 快速决策树
|
|
182
|
+
|
|
183
|
+
```text
|
|
184
|
+
拿到一段未知数据:
|
|
185
|
+
|
|
186
|
+
1. 看长度和字符集
|
|
187
|
+
- 只有 hex 字符 → 可能是 hex 编码或哈希
|
|
188
|
+
- 末尾有 = → Base64
|
|
189
|
+
- 三段点分 → JWT
|
|
190
|
+
- 32/40/64 字符 hex → 哈希(MD5/SHA1/SHA256)
|
|
191
|
+
|
|
192
|
+
2. 用 Ciphey 自动尝试
|
|
193
|
+
ciphey -t "数据"
|
|
194
|
+
|
|
195
|
+
3. 如果 Ciphey 失败 → 用 CyberChef Magic 模式
|
|
196
|
+
|
|
197
|
+
4. 如果是哈希 → hashID 识别类型 → Hashcat/John 破解
|
|
198
|
+
|
|
199
|
+
5. 如果是 RSA → RsaCtfTool 自动攻击
|
|
200
|
+
|
|
201
|
+
6. 如果是 XOR → xortool 分析 key
|
|
202
|
+
|
|
203
|
+
7. 如果是传统 ZIP 加密 → 优先使用 `bkcrack` 已知明文攻击,不要先做无证据的密码暴力
|
|
204
|
+
|
|
205
|
+
8. 如果是自定义加密 → IDA/Ghidra 逆向算法 → 手写解密脚本
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
---
|
|
209
|
+
|
|
210
|
+
## 在线资源
|
|
211
|
+
|
|
212
|
+
| 资源 | 链接 | 用途 |
|
|
213
|
+
|------|------|------|
|
|
214
|
+
| CyberChef | https://gchq.github.io/CyberChef/ | 万能编解码 |
|
|
215
|
+
| dcode.fr | https://www.dcode.fr/ | 900+ 密码工具 |
|
|
216
|
+
| quipqiup | https://quipqiup.com/ | 替换密码自动求解 |
|
|
217
|
+
| factordb | http://factordb.com/ | RSA 大数分解 |
|
|
218
|
+
| jwt.io | https://jwt.io/ | JWT 解码/验证 |
|
|
219
|
+
| hashes.com | https://hashes.com/ | 哈希反查 |
|
|
220
|
+
| crackstation | https://crackstation.net/ | 在线哈希破解 |
|
|
@@ -0,0 +1,296 @@
|
|
|
1
|
+
# ELF 二进制深度分析参考
|
|
2
|
+
|
|
3
|
+
> 逆向 Linux/Android ELF 文件时的结构解析、反分析对抗识别和分析技巧。
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## ELF 结构速查
|
|
8
|
+
|
|
9
|
+
### 文件头 (ELF Header)
|
|
10
|
+
|
|
11
|
+
```text
|
|
12
|
+
偏移 大小 字段 说明
|
|
13
|
+
0x00 4 e_ident[EI_MAG] Magic: 7f 45 4c 46 ("\x7fELF")
|
|
14
|
+
0x04 1 e_ident[EI_CLASS] 1=32bit, 2=64bit
|
|
15
|
+
0x05 1 e_ident[EI_DATA] 1=LE, 2=BE
|
|
16
|
+
0x10 2 e_type 2=EXEC, 3=DYN(PIE/SO), 4=CORE
|
|
17
|
+
0x12 2 e_machine 0x03=x86, 0x3E=x86_64, 0xB7=AArch64, 0x28=ARM
|
|
18
|
+
0x18 8 e_entry 入口点虚拟地址
|
|
19
|
+
0x20 8 e_phoff 程序头表偏移
|
|
20
|
+
0x28 8 e_shoff 节头表偏移(strip 后可能为 0)
|
|
21
|
+
0x38 2 e_phnum 程序头数量
|
|
22
|
+
0x3C 2 e_shnum 节头数量
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
### 程序头 (Program Header)
|
|
26
|
+
|
|
27
|
+
```text
|
|
28
|
+
类型值 名称 说明
|
|
29
|
+
0x01 PT_LOAD 可加载段(代码/数据)
|
|
30
|
+
0x02 PT_DYNAMIC 动态链接信息
|
|
31
|
+
0x03 PT_INTERP 解释器路径(/lib/ld-linux.so)
|
|
32
|
+
0x04 PT_NOTE 辅助信息
|
|
33
|
+
0x06 PT_PHDR 程序头表自身
|
|
34
|
+
0x6474e550 PT_GNU_EH_FRAME 异常处理
|
|
35
|
+
0x6474e551 PT_GNU_STACK 栈可执行标记
|
|
36
|
+
0x6474e552 PT_GNU_RELRO 只读重定位
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
### 常见节 (Sections)
|
|
40
|
+
|
|
41
|
+
| 节名 | 说明 |
|
|
42
|
+
|------|------|
|
|
43
|
+
| `.text` | 代码段 |
|
|
44
|
+
| `.rodata` | 只读数据(字符串常量) |
|
|
45
|
+
| `.data` | 已初始化全局变量 |
|
|
46
|
+
| `.bss` | 未初始化全局变量 |
|
|
47
|
+
| `.plt` / `.got` | 动态链接跳转表 |
|
|
48
|
+
| `.init_array` | 构造函数指针数组 |
|
|
49
|
+
| `.fini_array` | 析构函数指针数组 |
|
|
50
|
+
| `.dynamic` | 动态链接信息 |
|
|
51
|
+
| `.symtab` / `.dynsym` | 符号表 |
|
|
52
|
+
| `.strtab` / `.dynstr` | 字符串表 |
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## 反分析手法识别
|
|
57
|
+
|
|
58
|
+
### 常见 ELF 反分析技术
|
|
59
|
+
|
|
60
|
+
| 手法 | 特征 | 对抗方式 |
|
|
61
|
+
|------|------|---------|
|
|
62
|
+
| 损坏程序头 | PHDR 填充垃圾数据(如 0x0a) | 手动修复或忽略损坏的 PHDR |
|
|
63
|
+
| 无 section header | `e_shoff = 0`, `e_shnum = 0` | 只依赖程序头分析,不依赖 section |
|
|
64
|
+
| 去符号 (strip) | 无 `.symtab`,函数名全丢 | GoReSym(Go) / 签名匹配 / FLIRT |
|
|
65
|
+
| 静态链接 | 无 `.dynamic`,体积巨大 | 用 FLIRT/Lumina 识别库函数 |
|
|
66
|
+
| 伪装文件类型 | 后缀 .sh/.txt/.jpg | 用 `file` 命令 / magic bytes 判断 |
|
|
67
|
+
| UPX 加壳 | 包含 `UPX!` 标记 | `upx -d` 脱壳 |
|
|
68
|
+
| 自定义壳 | 入口点跳转到解压代码 | 动态运行到 OEP 后 dump |
|
|
69
|
+
| 反调试 | ptrace(TRACEME) | LD_PRELOAD hook / patch |
|
|
70
|
+
| 反虚拟机 | 检查 /proc/cpuinfo | 修改 cpuinfo 或 hook 读取 |
|
|
71
|
+
| 代码加密 | 运行时解密 .text | 断点在解密后 dump |
|
|
72
|
+
|
|
73
|
+
### 识别自解压/自修改代码
|
|
74
|
+
|
|
75
|
+
```text
|
|
76
|
+
特征:
|
|
77
|
+
1. 入口点附近有 mmap(PROT_READ|PROT_WRITE|PROT_EXEC) 调用
|
|
78
|
+
2. 紧接着有 memcpy 或循环拷贝
|
|
79
|
+
3. 然后 mprotect 改权限
|
|
80
|
+
4. 最后 br/jmp 到新映射的地址
|
|
81
|
+
|
|
82
|
+
分析策略:
|
|
83
|
+
1. 找到 mmap 调用 → 记录返回的地址
|
|
84
|
+
2. 在 mprotect(PROT_EXEC) 后下断点
|
|
85
|
+
3. dump 解压后的内存区域
|
|
86
|
+
4. 作为新的二进制分析
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
## ARM64 (AArch64) 逆向速查
|
|
92
|
+
|
|
93
|
+
### 寄存器
|
|
94
|
+
|
|
95
|
+
| 寄存器 | 用途 |
|
|
96
|
+
|--------|------|
|
|
97
|
+
| x0-x7 | 参数/返回值 |
|
|
98
|
+
| x8 | 间接结果(syscall 号) |
|
|
99
|
+
| x9-x15 | 临时寄存器 |
|
|
100
|
+
| x16-x17 | IP0/IP1(PLT 跳转) |
|
|
101
|
+
| x18 | 平台寄存器(Android: shadow call stack) |
|
|
102
|
+
| x19-x28 | 被调用者保存 |
|
|
103
|
+
| x29 (FP) | 帧指针 |
|
|
104
|
+
| x30 (LR) | 链接寄存器(返回地址) |
|
|
105
|
+
| SP | 栈指针 |
|
|
106
|
+
| PC | 程序计数器 |
|
|
107
|
+
|
|
108
|
+
### 常见指令模式
|
|
109
|
+
|
|
110
|
+
```text
|
|
111
|
+
函数序言:
|
|
112
|
+
stp x29, x30, [sp, #-N]! # 保存 FP 和 LR
|
|
113
|
+
mov x29, sp # 设置帧指针
|
|
114
|
+
|
|
115
|
+
函数尾声:
|
|
116
|
+
ldp x29, x30, [sp], #N # 恢复 FP 和 LR
|
|
117
|
+
ret # 返回(br x30)
|
|
118
|
+
|
|
119
|
+
系统调用:
|
|
120
|
+
mov x8, #NR # syscall 号
|
|
121
|
+
svc #0 # 触发 syscall
|
|
122
|
+
|
|
123
|
+
条件分支:
|
|
124
|
+
cmp x0, #0
|
|
125
|
+
b.eq label # 等于跳转
|
|
126
|
+
b.ne label # 不等于跳转
|
|
127
|
+
cbz x0, label # x0 == 0 跳转
|
|
128
|
+
cbnz x0, label # x0 != 0 跳转
|
|
129
|
+
|
|
130
|
+
地址加载:
|
|
131
|
+
adrp x0, page # 加载页地址高位
|
|
132
|
+
add x0, x0, #offset # 加低 12 位偏移
|
|
133
|
+
ldr x0, [x1, #offset] # 从内存加载
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
### Linux ARM64 系统调用号
|
|
137
|
+
|
|
138
|
+
| 号码 | 名称 | 说明 |
|
|
139
|
+
|------|------|------|
|
|
140
|
+
| 56 | openat | 打开文件 |
|
|
141
|
+
| 63 | read | 读取 |
|
|
142
|
+
| 64 | write | 写入 |
|
|
143
|
+
| 57 | close | 关闭 |
|
|
144
|
+
| 222 | mmap | 内存映射 |
|
|
145
|
+
| 226 | mprotect | 修改内存权限 |
|
|
146
|
+
| 117 | ptrace | 进程跟踪 |
|
|
147
|
+
| 220 | clone | 创建进程/线程 |
|
|
148
|
+
| 221 | execve | 执行程序 |
|
|
149
|
+
| 93 | exit | 退出 |
|
|
150
|
+
| 94 | exit_group | 退出进程组 |
|
|
151
|
+
|
|
152
|
+
---
|
|
153
|
+
|
|
154
|
+
## 常见压缩/打包算法识别
|
|
155
|
+
|
|
156
|
+
| 算法 | 识别特征 | 解压方式 |
|
|
157
|
+
|------|---------|---------|
|
|
158
|
+
| **LZSS** | 位流 + 字面量/匹配标记 | 自定义解压器(如本报告) |
|
|
159
|
+
| **ZLIB/Deflate** | Magic: `78 01`/`78 9C`/`78 DA` | `zlib.decompress()` |
|
|
160
|
+
| **GZIP** | Magic: `1F 8B` | `gzip -d` / `gunzip` |
|
|
161
|
+
| **LZ4** | Magic: `04 22 4D 18` | `lz4 -d` |
|
|
162
|
+
| **LZMA/XZ** | Magic: `FD 37 7A 58 5A 00` (XZ) | `xz -d` / `lzma -d` |
|
|
163
|
+
| **Brotli** | 无固定 magic,看上下文 | `brotli -d` |
|
|
164
|
+
| **Zstandard** | Magic: `28 B5 2F FD` | `zstd -d` |
|
|
165
|
+
| **UPX** | 字符串 `UPX!` | `upx -d` |
|
|
166
|
+
| **自定义** | 入口点有解压循环 | 逆向算法后写解压器 |
|
|
167
|
+
|
|
168
|
+
### 识别自定义压缩的线索
|
|
169
|
+
|
|
170
|
+
```text
|
|
171
|
+
1. 入口点附近有循环 + 位操作(移位、AND、OR)
|
|
172
|
+
2. 有"滑动窗口"回拷(从输出缓冲区往回读)→ LZ 系列
|
|
173
|
+
3. 有频率表/霍夫曼树构建 → Deflate/Huffman
|
|
174
|
+
4. 有固定大小块处理 → 块压缩(LZ4/Snappy)
|
|
175
|
+
5. 有算术编码特征(区间缩小)→ LZMA/ANS
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
---
|
|
179
|
+
|
|
180
|
+
## Linux 进程注入技术
|
|
181
|
+
|
|
182
|
+
### mmap + 代码注入
|
|
183
|
+
|
|
184
|
+
```text
|
|
185
|
+
流程:
|
|
186
|
+
1. mmap(NULL, size, PROT_READ|PROT_WRITE, MAP_ANON|MAP_PRIVATE, -1, 0)
|
|
187
|
+
2. 将 shellcode/payload 写入映射区域
|
|
188
|
+
3. mprotect(addr, size, PROT_READ|PROT_EXEC) # 改为可执行
|
|
189
|
+
4. 跳转到映射地址执行
|
|
190
|
+
|
|
191
|
+
特征:
|
|
192
|
+
- mmap 返回值被保存
|
|
193
|
+
- 紧接着有 memcpy 或循环写入
|
|
194
|
+
- 然后 mprotect 改权限
|
|
195
|
+
- 最后 br/blr 到该地址
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
### ptrace 注入
|
|
199
|
+
|
|
200
|
+
```text
|
|
201
|
+
流程:
|
|
202
|
+
1. ptrace(PTRACE_ATTACH, target_pid)
|
|
203
|
+
2. waitpid(target_pid)
|
|
204
|
+
3. ptrace(PTRACE_GETREGS, target_pid, ®s)
|
|
205
|
+
4. 修改 regs.pc 指向注入代码
|
|
206
|
+
5. ptrace(PTRACE_SETREGS, target_pid, ®s)
|
|
207
|
+
6. ptrace(PTRACE_CONT, target_pid)
|
|
208
|
+
|
|
209
|
+
特征:
|
|
210
|
+
- 打开 /proc/<pid>/mem 或使用 ptrace
|
|
211
|
+
- 读取/修改目标进程寄存器
|
|
212
|
+
- 写入 shellcode 到目标进程空间
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
### /proc/self/mem 自修改
|
|
216
|
+
|
|
217
|
+
```text
|
|
218
|
+
流程:
|
|
219
|
+
1. open("/proc/self/mem", O_RDWR)
|
|
220
|
+
2. lseek(fd, target_addr, SEEK_SET)
|
|
221
|
+
3. write(fd, new_code, size)
|
|
222
|
+
|
|
223
|
+
用途:
|
|
224
|
+
- 绕过 W^X 保护(mmap 的页不能同时 W+X)
|
|
225
|
+
- 修改自身代码段(.text 通常是只读的)
|
|
226
|
+
- 运行时 patch 指令
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
---
|
|
230
|
+
|
|
231
|
+
## 分析大型 ELF 的策略
|
|
232
|
+
|
|
233
|
+
对于 5MB+ 的大型二进制:
|
|
234
|
+
|
|
235
|
+
```text
|
|
236
|
+
1. 快速侦察(5 分钟)
|
|
237
|
+
- file / rabin2 -I → 架构、类型、保护
|
|
238
|
+
- strings | grep -i "error\|fail\|http\|/proc\|/dev" → 关键字符串
|
|
239
|
+
- rabin2 -i → 导入函数(如果有)
|
|
240
|
+
- rabin2 -E → 导出函数
|
|
241
|
+
|
|
242
|
+
2. 结构分析(10 分钟)
|
|
243
|
+
- readelf -l → 程序头(LOAD 段布局)
|
|
244
|
+
- 入口点附近代码 → 是否有解压/解密
|
|
245
|
+
- 找 .init_array → 构造函数(可能有反调试)
|
|
246
|
+
|
|
247
|
+
3. 定位关键逻辑
|
|
248
|
+
- 从字符串交叉引用入手
|
|
249
|
+
- 从系统调用(mmap/ptrace/open)入手
|
|
250
|
+
- 从网络函数(connect/send/recv)入手
|
|
251
|
+
|
|
252
|
+
4. 分而治之
|
|
253
|
+
- 如果是自解压 → 先解压,分析 payload
|
|
254
|
+
- 如果是多模块 → 按功能分块分析
|
|
255
|
+
- 用 binary-diff 对比不同版本
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
---
|
|
259
|
+
|
|
260
|
+
## 工具命令速查
|
|
261
|
+
|
|
262
|
+
```bash
|
|
263
|
+
# 基本信息
|
|
264
|
+
file binary
|
|
265
|
+
readelf -h binary # ELF 头
|
|
266
|
+
readelf -l binary # 程序头
|
|
267
|
+
readelf -S binary # 节头(如果有)
|
|
268
|
+
rabin2 -I binary # 综合信息
|
|
269
|
+
|
|
270
|
+
# 字符串
|
|
271
|
+
strings -a binary | less
|
|
272
|
+
rabin2 -z binary # 数据段字符串
|
|
273
|
+
rabin2 -zz binary # 全文件字符串
|
|
274
|
+
|
|
275
|
+
# 反汇编
|
|
276
|
+
r2 -A binary # radare2 分析
|
|
277
|
+
objdump -d binary # GNU 反汇编
|
|
278
|
+
aarch64-linux-gnu-objdump -d binary # ARM64 交叉反汇编
|
|
279
|
+
|
|
280
|
+
# 动态分析
|
|
281
|
+
strace -f ./binary # 系统调用跟踪
|
|
282
|
+
ltrace -f ./binary # 库函数跟踪
|
|
283
|
+
qemu-aarch64 -strace ./binary # ARM64 模拟执行
|
|
284
|
+
|
|
285
|
+
# 内存 dump
|
|
286
|
+
gdb -p <pid> -ex "dump memory out.bin 0xADDR 0xADDR+SIZE" -ex quit
|
|
287
|
+
|
|
288
|
+
# 修复损坏的 ELF
|
|
289
|
+
# 手动修改 e_phnum 或 patch 损坏的 PHDR
|
|
290
|
+
python -c "
|
|
291
|
+
import struct
|
|
292
|
+
with open('binary', 'r+b') as f:
|
|
293
|
+
f.seek(0x38) # e_phnum offset (64-bit)
|
|
294
|
+
f.write(struct.pack('<H', 2)) # 修改为正确的 PHDR 数量
|
|
295
|
+
"
|
|
296
|
+
```
|