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.
Files changed (270) hide show
  1. package/bundled-skills/.antigravity-install-manifest.json +47 -1
  2. package/bundled-skills/api-rate-limit-handler/SKILL.md +282 -0
  3. package/bundled-skills/api-security/SKILL.md +205 -0
  4. package/bundled-skills/api-security/references/jwt-oauth-testing.md +123 -0
  5. package/bundled-skills/api-security/references/rest-graphql-testing.md +137 -0
  6. package/bundled-skills/apk-reverse/SKILL.md +438 -0
  7. package/bundled-skills/apk-reverse/references/android-advanced.md +365 -0
  8. package/bundled-skills/apk-reverse/references/apk-security-checklist.md +230 -0
  9. package/bundled-skills/apk-reverse/references/frida-bypass-kit.md +70 -0
  10. package/bundled-skills/apk-reverse/references/frida-cookbook.md +472 -0
  11. package/bundled-skills/attack-chain/SKILL.md +185 -0
  12. package/bundled-skills/attack-chain/references/attack-playbooks.md +126 -0
  13. package/bundled-skills/attack-chain/references/evasion-cheatsheet.md +133 -0
  14. package/bundled-skills/attack-chain/references/lifecycle-checklist.md +37 -0
  15. package/bundled-skills/attack-chain/references/phases.md +490 -0
  16. package/bundled-skills/binary-diff/SKILL.md +320 -0
  17. package/bundled-skills/binary-diff/references/prompt-template.md +173 -0
  18. package/bundled-skills/browser-extension-reverse/SKILL.md +99 -0
  19. package/bundled-skills/browser-extension-reverse/references/extension-analysis.md +10 -0
  20. package/bundled-skills/case-review/SKILL.md +167 -0
  21. package/bundled-skills/cloud-k8s/SKILL.md +124 -0
  22. package/bundled-skills/cloud-k8s/references/k8s-cloud-checklist.md +16 -0
  23. package/bundled-skills/code-audit/SKILL.md +92 -0
  24. package/bundled-skills/code-audit/references/sast-review-checklist.md +10 -0
  25. package/bundled-skills/database-security/SKILL.md +81 -0
  26. package/bundled-skills/database-security/references/db-misconfig-checklist.md +9 -0
  27. package/bundled-skills/diagram-generator/SKILL.md +199 -0
  28. package/bundled-skills/diagram-generator/references/README.md +3 -0
  29. package/bundled-skills/diagram-generator/references/diagram-patterns.md +254 -0
  30. package/bundled-skills/digital-forensics/SKILL.md +93 -0
  31. package/bundled-skills/digital-forensics/references/forensics-triage.md +10 -0
  32. package/bundled-skills/docs/integrations/jetski-cortex.md +3 -3
  33. package/bundled-skills/docs/integrations/jetski-gemini-loader/README.md +1 -1
  34. package/bundled-skills/docs/maintainers/repo-growth-seo.md +1 -1
  35. package/bundled-skills/docs/maintainers/skills-update-guide.md +1 -1
  36. package/bundled-skills/docs/sources/sources.md +9 -0
  37. package/bundled-skills/docs/users/aas-core.md +1 -1
  38. package/bundled-skills/docs/users/bundles.md +1 -1
  39. package/bundled-skills/docs/users/claude-code-skills.md +1 -1
  40. package/bundled-skills/docs/users/gemini-cli-skills.md +1 -1
  41. package/bundled-skills/docs/users/kiro-integration.md +1 -1
  42. package/bundled-skills/docs/users/usage.md +3 -3
  43. package/bundled-skills/docs/users/visual-guide.md +4 -4
  44. package/bundled-skills/docs-generator/SKILL.md +197 -0
  45. package/bundled-skills/docs-generator/references/security-report-templates.md +348 -0
  46. package/bundled-skills/docs-generator/references/templates.md +102 -0
  47. package/bundled-skills/docs-generator/references/vendor-report-rules.md +263 -0
  48. package/bundled-skills/dotnet-reverse/SKILL.md +197 -0
  49. package/bundled-skills/dotnet-reverse/references/common-workflow.md +171 -0
  50. package/bundled-skills/dotnet-reverse/references/obfuscators.md +145 -0
  51. package/bundled-skills/dotnet-reverse/references/sharp-tools.md +164 -0
  52. package/bundled-skills/edr-bypass-re/SKILL.md +248 -0
  53. package/bundled-skills/edr-bypass-re/references/hook-survey.md +226 -0
  54. package/bundled-skills/edr-bypass-re/references/telemetry-blinding.md +346 -0
  55. package/bundled-skills/edr-bypass-re/references/unhook-techniques.md +338 -0
  56. package/bundled-skills/email-security/SKILL.md +81 -0
  57. package/bundled-skills/email-security/references/email-auth-checklist.md +8 -0
  58. package/bundled-skills/firmware-pentest/SKILL.md +381 -0
  59. package/bundled-skills/firmware-pentest/references/emba-automated-analysis.md +192 -0
  60. package/bundled-skills/firmware-pentest/references/emulation-and-fuzz.md +337 -0
  61. package/bundled-skills/firmware-pentest/references/extraction-methodology.md +285 -0
  62. package/bundled-skills/ghidra-reverse/SKILL.md +98 -0
  63. package/bundled-skills/ghidra-reverse/references/ghidra-cheatsheet.md +12 -0
  64. package/bundled-skills/go-rust-reverse/SKILL.md +82 -0
  65. package/bundled-skills/go-rust-reverse/references/go-rust-notes.md +5 -0
  66. package/bundled-skills/hardware-security/SKILL.md +80 -0
  67. package/bundled-skills/hardware-security/references/debug-interface-triage.md +7 -0
  68. package/bundled-skills/ida-reverse/SKILL.md +401 -0
  69. package/bundled-skills/ida-reverse/references/LOCAL-SETUP.md +66 -0
  70. package/bundled-skills/ida-reverse/references/ida-mcp-cheatsheet.md +515 -0
  71. package/bundled-skills/identity-federation/SKILL.md +81 -0
  72. package/bundled-skills/identity-federation/references/sso-flow-checklist.md +9 -0
  73. package/bundled-skills/instructree/SKILL.md +94 -0
  74. package/bundled-skills/js-reverse/SKILL.md +239 -0
  75. package/bundled-skills/js-reverse/references/ast-deobfuscation.md +3 -0
  76. package/bundled-skills/js-reverse/references/automation-entry.md +12 -0
  77. package/bundled-skills/js-reverse/references/env-patching.md +6 -0
  78. package/bundled-skills/js-reverse/references/fallbacks.md +8 -0
  79. package/bundled-skills/js-reverse/references/instrumentation.md +9 -0
  80. package/bundled-skills/js-reverse/references/local-rebuild.md +11 -0
  81. package/bundled-skills/js-reverse/references/mcp-task-template.md +30 -0
  82. package/bundled-skills/js-reverse/references/node-env-rebuild.md +9 -0
  83. package/bundled-skills/js-reverse/references/output-contract.md +9 -0
  84. package/bundled-skills/js-reverse/references/task-artifacts.md +11 -0
  85. package/bundled-skills/js-reverse/references/task-input-template.md +11 -0
  86. package/bundled-skills/js-reverse/references/tool-defaults.md +7 -0
  87. package/bundled-skills/llm-security/SKILL.md +160 -0
  88. package/bundled-skills/llm-security/references/agent-obedience-engineering.md +243 -0
  89. package/bundled-skills/llm-security/references/agent-security-testing.md +116 -0
  90. package/bundled-skills/llm-security/references/owasp-llm-top10.md +48 -0
  91. package/bundled-skills/llm-security/references/prompt-injection-methodology.md +107 -0
  92. package/bundled-skills/loki-mode/examples/todo-app-generated/backend/package-lock.json +4 -4
  93. package/bundled-skills/loki-mode/examples/todo-app-generated/backend/package.json +1 -1
  94. package/bundled-skills/macos-reverse/SKILL.md +85 -0
  95. package/bundled-skills/macos-reverse/references/macho-triage.md +10 -0
  96. package/bundled-skills/malware-analysis/SKILL.md +311 -0
  97. package/bundled-skills/malware-analysis/references/anti-analysis-techniques.md +205 -0
  98. package/bundled-skills/malware-analysis/references/sandbox-orchestration.md +204 -0
  99. package/bundled-skills/malware-analysis/references/yara-sigma-rules.md +232 -0
  100. package/bundled-skills/mobile-reverse/SKILL.md +222 -0
  101. package/bundled-skills/mobile-reverse/references/anti-detection-bypass.md +182 -0
  102. package/bundled-skills/mobile-reverse/references/frida-objection-deep.md +218 -0
  103. package/bundled-skills/mobile-reverse/references/ios-reverse-guide.md +177 -0
  104. package/bundled-skills/muapi-media/SKILL.md +311 -0
  105. package/bundled-skills/ot-ics/SKILL.md +117 -0
  106. package/bundled-skills/ot-ics/references/ot-safe-assessment.md +10 -0
  107. package/bundled-skills/patch-diff-exploit/SKILL.md +278 -0
  108. package/bundled-skills/patch-diff-exploit/references/diff-tools-comparison.md +271 -0
  109. package/bundled-skills/patch-diff-exploit/references/patch-tuesday-workflow.md +253 -0
  110. package/bundled-skills/patch-diff-exploit/references/root-cause-and-poc.md +198 -0
  111. package/bundled-skills/pentest-tools/SKILL.md +346 -0
  112. package/bundled-skills/pentest-tools/references/ai-pentest-agents.md +148 -0
  113. package/bundled-skills/pentest-tools/references/ai-pentesting-landscape-2026.md +73 -0
  114. package/bundled-skills/pentest-tools/references/automation-loop-pattern.md +153 -0
  115. package/bundled-skills/pentest-tools/references/awesome-pentest-digest.md +175 -0
  116. package/bundled-skills/pentest-tools/references/burpsuite-mcp-guide.md +769 -0
  117. package/bundled-skills/pentest-tools/references/client-side-lab-playbook.md +155 -0
  118. package/bundled-skills/pentest-tools/references/kali-mcp-ecosystem.md +119 -0
  119. package/bundled-skills/pentest-tools/references/msf-protocol.md +169 -0
  120. package/bundled-skills/pentest-tools/references/network-attack-defense.md +350 -0
  121. package/bundled-skills/pentest-tools/references/nuclei-guide-2026.md +157 -0
  122. package/bundled-skills/pentest-tools/references/payloads.md +32 -0
  123. package/bundled-skills/pentest-tools/references/pentest-ai-agents-matrix.md +117 -0
  124. package/bundled-skills/pentest-tools/references/pentest-loop.md +270 -0
  125. package/bundled-skills/pentest-tools/references/recon-pipeline.md +154 -0
  126. package/bundled-skills/pentest-tools/references/templates/findings.md +21 -0
  127. package/bundled-skills/pentest-tools/references/templates/progress.md +17 -0
  128. package/bundled-skills/pentest-tools/references/templates/rules.md +35 -0
  129. package/bundled-skills/pentest-tools/references/templates/scope.md +29 -0
  130. package/bundled-skills/pentest-tools/references/templates/task_plan.md +27 -0
  131. package/bundled-skills/pentest-tools/references/web-attack-cheatsheet.md +387 -0
  132. package/bundled-skills/pentest-tools/src-hunter/SKILL.md +243 -0
  133. package/bundled-skills/pentest-tools/src-hunter/references/README.en.md +115 -0
  134. package/bundled-skills/pentest-tools/src-hunter/references/README.md +148 -0
  135. package/bundled-skills/pentest-tools/src-hunter/references/dictionaries/00-index.md +44 -0
  136. package/bundled-skills/pentest-tools/src-hunter/references/dictionaries/chinese-srcfingerprints.md +515 -0
  137. package/bundled-skills/pentest-tools/src-hunter/references/dictionaries/default-credentials-cn.md +274 -0
  138. package/bundled-skills/pentest-tools/src-hunter/references/industry/00-index.md +66 -0
  139. package/bundled-skills/pentest-tools/src-hunter/references/industry/banking-finance.md +338 -0
  140. package/bundled-skills/pentest-tools/src-hunter/references/industry/telecom-isp.md +315 -0
  141. package/bundled-skills/pentest-tools/src-hunter/references/methodology/00-index.md +68 -0
  142. package/bundled-skills/pentest-tools/src-hunter/references/methodology/01-attack-priority.md +143 -0
  143. package/bundled-skills/pentest-tools/src-hunter/references/methodology/02-bypass-toolkit.md +357 -0
  144. package/bundled-skills/pentest-tools/src-hunter/references/methodology/03-evidence-discipline.md +205 -0
  145. package/bundled-skills/pentest-tools/src-hunter/references/methodology/04-control-gap-hunting.md +238 -0
  146. package/bundled-skills/pentest-tools/src-hunter/references/methodology/05-srctimebox-priority.md +161 -0
  147. package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/intranet/adcs/346/224/273/345/207/273.md +254 -0
  148. package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/intranet/exchange/346/224/273/345/207/273.md +254 -0
  149. package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/intranet/sharepoint/346/224/273/345/207/273.md +113 -0
  150. 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
  151. 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
  152. 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
  153. 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
  154. 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
  155. 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
  156. 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
  157. 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
  158. package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web/ai/345/256/211/345/205/250.md +698 -0
  159. package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web/api/345/256/211/345/205/250.md +1935 -0
  160. 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
  161. package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web/jwt/345/256/211/345/205/250.md +496 -0
  162. 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
  163. 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
  164. package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web/sql-nosql/346/263/250/345/205/245.md +1924 -0
  165. 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
  166. 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
  167. package/bundled-skills/pentest-tools/src-hunter/references/payloader/by-category/web/websocket/345/256/211/345/205/250.md +487 -0
  168. 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
  169. 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
  170. 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
  171. 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
  172. 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
  173. 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
  174. 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
  175. 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
  176. 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
  177. 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
  178. 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
  179. 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
  180. 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
  181. package/bundled-skills/pentest-tools/src-hunter/references/payloader/index.md +69 -0
  182. package/bundled-skills/pentest-tools/src-hunter/references/payloader/tools/web/346/270/227/351/200/217.md +662 -0
  183. package/bundled-skills/pentest-tools/src-hunter/references/payloader/tools/windows/346/270/227/351/200/217.md +100 -0
  184. 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
  185. 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
  186. 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
  187. package/bundled-skills/pentest-tools/src-hunter/references/payloader/tools//345/237/237/346/270/227/351/200/217.md +50 -0
  188. 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
  189. 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
  190. 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
  191. 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
  192. 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
  193. 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
  194. 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
  195. package/bundled-skills/pentest-tools/src-hunter/references/payloader/waf-bypass.md +6504 -0
  196. package/bundled-skills/pentest-tools/src-hunter/references/playbooks/00-index.md +57 -0
  197. package/bundled-skills/pentest-tools/src-hunter/references/playbooks/api-rest.md +2050 -0
  198. package/bundled-skills/pentest-tools/src-hunter/references/playbooks/arbitrary-x-authz.md +481 -0
  199. package/bundled-skills/pentest-tools/src-hunter/references/playbooks/dos.md +615 -0
  200. package/bundled-skills/pentest-tools/src-hunter/references/playbooks/file-upload.md +1365 -0
  201. package/bundled-skills/pentest-tools/src-hunter/references/playbooks/graphql.md +253 -0
  202. package/bundled-skills/pentest-tools/src-hunter/references/playbooks/http-smuggling.md +924 -0
  203. package/bundled-skills/pentest-tools/src-hunter/references/playbooks/info-disclosure.md +432 -0
  204. package/bundled-skills/pentest-tools/src-hunter/references/playbooks/intranet-postexp.md +4845 -0
  205. package/bundled-skills/pentest-tools/src-hunter/references/playbooks/llm-prompt-injection.md +1394 -0
  206. package/bundled-skills/pentest-tools/src-hunter/references/playbooks/logic-flaws.md +1796 -0
  207. package/bundled-skills/pentest-tools/src-hunter/references/playbooks/mobile.md +397 -0
  208. package/bundled-skills/pentest-tools/src-hunter/references/playbooks/oauth-saml-jwt.md +2504 -0
  209. package/bundled-skills/pentest-tools/src-hunter/references/playbooks/path-traversal.md +1297 -0
  210. package/bundled-skills/pentest-tools/src-hunter/references/playbooks/race-conditions.md +207 -0
  211. package/bundled-skills/pentest-tools/src-hunter/references/playbooks/rce.md +4829 -0
  212. package/bundled-skills/pentest-tools/src-hunter/references/playbooks/sqli.md +1620 -0
  213. package/bundled-skills/pentest-tools/src-hunter/references/playbooks/ssrf-cache-host.md +2098 -0
  214. package/bundled-skills/pentest-tools/src-hunter/references/playbooks/unauth-access.md +330 -0
  215. package/bundled-skills/pentest-tools/src-hunter/references/playbooks/xss.md +1159 -0
  216. package/bundled-skills/pentest-tools/src-hunter/references/templates/report-submission.md +346 -0
  217. package/bundled-skills/pentest-tools/src-hunter/references/tools/mcp-jshook.md +174 -0
  218. package/bundled-skills/protocol-reverse/SKILL.md +108 -0
  219. package/bundled-skills/protocol-reverse/references/protocol-workflow.md +29 -0
  220. package/bundled-skills/pwn-chain/SKILL.md +209 -0
  221. package/bundled-skills/pwn-chain/references/heap-pwn.md +283 -0
  222. package/bundled-skills/pwn-chain/references/kernel-pwn.md +370 -0
  223. package/bundled-skills/pwn-chain/references/stack-pwn.md +312 -0
  224. package/bundled-skills/radare2/SKILL.md +460 -0
  225. package/bundled-skills/radare2/references/cheatsheet.md +129 -0
  226. package/bundled-skills/radio-sdr/SKILL.md +77 -0
  227. package/bundled-skills/radio-sdr/references/sdr-lab-rules.md +6 -0
  228. package/bundled-skills/reverse-browser-automation/SKILL.md +249 -0
  229. package/bundled-skills/reverse-browser-automation/references/playwright-cheatsheet.md +425 -0
  230. package/bundled-skills/reverse-engineering/SKILL.md +213 -0
  231. package/bundled-skills/reverse-engineering/dsl-vm-reverse/SKILL.md +388 -0
  232. package/bundled-skills/reverse-engineering/references/ai-assisted-re.md +149 -0
  233. package/bundled-skills/reverse-engineering/references/anti-analysis.md +836 -0
  234. package/bundled-skills/reverse-engineering/references/awesome-re-resources.md +135 -0
  235. package/bundled-skills/reverse-engineering/references/crypto-decode-tools.md +220 -0
  236. package/bundled-skills/reverse-engineering/references/elf-analysis.md +296 -0
  237. package/bundled-skills/reverse-engineering/references/field-notes.md +540 -0
  238. package/bundled-skills/reverse-engineering/references/go-reverse.md +240 -0
  239. package/bundled-skills/reverse-engineering/references/kernel-driver-reverse.md +298 -0
  240. package/bundled-skills/reverse-engineering/references/languages-compiled.md +587 -0
  241. package/bundled-skills/reverse-engineering/references/languages-platforms.md +486 -0
  242. package/bundled-skills/reverse-engineering/references/languages.md +499 -0
  243. package/bundled-skills/reverse-engineering/references/nonpe-format-cookbook.md +301 -0
  244. package/bundled-skills/reverse-engineering/references/ollvm-deobfuscation.md +501 -0
  245. package/bundled-skills/reverse-engineering/references/patterns-ctf-2.md +397 -0
  246. package/bundled-skills/reverse-engineering/references/patterns-ctf-3.md +719 -0
  247. package/bundled-skills/reverse-engineering/references/patterns-ctf.md +532 -0
  248. package/bundled-skills/reverse-engineering/references/patterns.md +801 -0
  249. package/bundled-skills/reverse-engineering/references/platforms-hardware.md +304 -0
  250. package/bundled-skills/reverse-engineering/references/platforms.md +442 -0
  251. package/bundled-skills/reverse-engineering/references/re-agent-workflow.md +240 -0
  252. package/bundled-skills/reverse-engineering/references/tools-advanced.md +822 -0
  253. package/bundled-skills/reverse-engineering/references/tools-dynamic.md +846 -0
  254. package/bundled-skills/reverse-engineering/references/tools.md +546 -0
  255. package/bundled-skills/supply-chain-security/SKILL.md +180 -0
  256. package/bundled-skills/supply-chain-security/references/cicd-pipeline-security.md +137 -0
  257. package/bundled-skills/supply-chain-security/references/sbom-sca-methodology.md +74 -0
  258. package/bundled-skills/thick-client/SKILL.md +104 -0
  259. package/bundled-skills/thick-client/references/thick-client-checklist.md +9 -0
  260. package/bundled-skills/threat-hunting/SKILL.md +94 -0
  261. package/bundled-skills/threat-hunting/references/hunting-loop.md +5 -0
  262. package/bundled-skills/threat-intelligence/SKILL.md +176 -0
  263. package/bundled-skills/threat-intelligence/references/x-public-intelligence.md +93 -0
  264. package/bundled-skills/tree-ring-memory/SKILL.md +29 -9
  265. package/bundled-skills/wifi-wireless/SKILL.md +80 -0
  266. package/bundled-skills/wifi-wireless/references/wireless-lab-rules.md +6 -0
  267. package/bundled-skills/windows-ad/SKILL.md +109 -0
  268. package/bundled-skills/windows-ad/references/ad-attack-paths.md +12 -0
  269. package/package.json +1 -1
  270. 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;` 或 `&amp;` 格式 | 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, &regs)
205
+ 4. 修改 regs.pc 指向注入代码
206
+ 5. ptrace(PTRACE_SETREGS, target_pid, &regs)
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
+ ```