@eyeauras/insight-cli 0.2.0 → 0.2.1

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 (384) hide show
  1. package/.cli-package-build.json +1 -1
  2. package/README.md +25 -0
  3. package/SKILL.md +38 -54
  4. package/dist/src/binary.d.ts +3 -0
  5. package/dist/src/binary.js +74 -0
  6. package/dist/src/capture.d.ts +3 -0
  7. package/dist/src/capture.js +220 -0
  8. package/dist/src/cli.js +57 -12
  9. package/dist/src/contexts.d.ts +5 -0
  10. package/dist/src/contexts.js +42 -16
  11. package/dist/src/debugger-caller.d.ts +17 -0
  12. package/dist/src/debugger-caller.js +129 -0
  13. package/dist/src/debugger-launch.d.ts +2 -0
  14. package/dist/src/debugger-launch.js +17 -0
  15. package/dist/src/debugger-results.d.ts +1 -0
  16. package/dist/src/debugger-results.js +8 -0
  17. package/dist/src/debugger-supervisor.js +56 -13
  18. package/dist/src/debugger.js +16 -7
  19. package/dist/src/die.d.ts +12 -0
  20. package/dist/src/die.js +127 -0
  21. package/dist/src/dnspy-runtime.d.ts +8 -0
  22. package/dist/src/dnspy-runtime.js +46 -0
  23. package/dist/src/dnspy.d.ts +22 -0
  24. package/dist/src/dnspy.js +160 -0
  25. package/dist/src/dotnet-diagnostics.d.ts +13 -0
  26. package/dist/src/dotnet-diagnostics.js +101 -0
  27. package/dist/src/frida-worker.d.ts +1 -0
  28. package/dist/src/frida-worker.js +125 -0
  29. package/dist/src/frida.d.ts +16 -0
  30. package/dist/src/frida.js +125 -0
  31. package/dist/src/ghidra-debugger-runtime.d.ts +7 -0
  32. package/dist/src/ghidra-debugger-runtime.js +31 -0
  33. package/dist/src/ghidra-processes.d.ts +6 -0
  34. package/dist/src/ghidra-processes.js +121 -0
  35. package/dist/src/ghidra.js +6 -6
  36. package/dist/src/ilspy.d.ts +7 -0
  37. package/dist/src/ilspy.js +122 -0
  38. package/dist/src/lldb.d.ts +10 -0
  39. package/dist/src/lldb.js +99 -0
  40. package/dist/src/llvm.d.ts +6 -0
  41. package/dist/src/llvm.js +133 -0
  42. package/dist/src/managed-heap.d.ts +4 -0
  43. package/dist/src/managed-heap.js +73 -0
  44. package/dist/src/managed-metadata.d.ts +11 -0
  45. package/dist/src/managed-metadata.js +66 -0
  46. package/dist/src/mitmproxy.d.ts +55 -0
  47. package/dist/src/mitmproxy.js +172 -0
  48. package/dist/src/native-inputs.d.ts +3 -2
  49. package/dist/src/native-inputs.js +9 -4
  50. package/dist/src/package-version.d.ts +1 -0
  51. package/dist/src/package-version.js +3 -0
  52. package/dist/src/procmon-config.d.ts +2 -0
  53. package/dist/src/procmon-config.js +15 -0
  54. package/dist/src/procmon-events.d.ts +13 -0
  55. package/dist/src/procmon-events.js +82 -0
  56. package/dist/src/procmon.d.ts +4 -0
  57. package/dist/src/procmon.js +107 -0
  58. package/dist/src/research.d.ts +11 -2
  59. package/dist/src/research.js +5 -3
  60. package/dist/src/runtime-catalog.d.ts +5 -10
  61. package/dist/src/runtime-catalog.js +4 -5
  62. package/dist/src/runtime-manager.d.ts +27 -3
  63. package/dist/src/runtime-manager.js +100 -159
  64. package/dist/src/runtime-selection.js +21 -4
  65. package/dist/src/server.d.ts +13 -0
  66. package/dist/src/server.js +21 -45
  67. package/dist/src/sevenzip.d.ts +15 -0
  68. package/dist/src/sevenzip.js +119 -0
  69. package/dist/src/strace.d.ts +10 -0
  70. package/dist/src/strace.js +71 -0
  71. package/dist/src/text-window.d.ts +11 -0
  72. package/dist/src/text-window.js +6 -0
  73. package/dist/src/tool-runtime/archives.d.ts +10 -0
  74. package/dist/src/{runtime-archives.js → tool-runtime/archives.js} +91 -24
  75. package/dist/src/tool-runtime/catalog.d.ts +3 -0
  76. package/dist/src/tool-runtime/catalog.js +13 -0
  77. package/dist/src/tool-runtime/commands.d.ts +9 -0
  78. package/dist/src/tool-runtime/commands.js +39 -0
  79. package/dist/src/tool-runtime/deadline.d.ts +11 -0
  80. package/dist/src/tool-runtime/deadline.js +32 -0
  81. package/dist/src/tool-runtime/definition.d.ts +73 -0
  82. package/dist/src/tool-runtime/definition.js +49 -0
  83. package/dist/src/tool-runtime/dotnet.d.ts +4 -0
  84. package/dist/src/tool-runtime/dotnet.js +22 -0
  85. package/dist/src/tool-runtime/identity.d.ts +6 -0
  86. package/dist/src/tool-runtime/identity.js +50 -0
  87. package/dist/src/tool-runtime/installer.d.ts +101 -0
  88. package/dist/src/tool-runtime/installer.js +180 -0
  89. package/dist/src/tool-runtime/launch-worker.d.ts +1 -0
  90. package/dist/src/tool-runtime/launch-worker.js +58 -0
  91. package/dist/src/tool-runtime/run.d.ts +51 -0
  92. package/dist/src/tool-runtime/run.js +159 -0
  93. package/dist/src/tool-runtime/store.d.ts +15 -0
  94. package/dist/src/tool-runtime/store.js +219 -0
  95. package/dist/src/tool-runtime/supervisor.d.ts +57 -0
  96. package/dist/src/tool-runtime/supervisor.js +266 -0
  97. package/dist/src/tool-runtime/windows-job.d.ts +22 -0
  98. package/dist/src/tool-runtime/windows-job.js +43 -0
  99. package/dist/src/toolbox.d.ts +84 -0
  100. package/dist/src/toolbox.js +35 -0
  101. package/dist/src/tshark.d.ts +23 -0
  102. package/dist/src/tshark.js +174 -0
  103. package/dist/src/windbg.d.ts +14 -0
  104. package/dist/src/windbg.js +119 -0
  105. package/dist/src/workspace.d.ts +1 -0
  106. package/dist/src/workspace.js +6 -0
  107. package/package.json +5 -4
  108. package/references/agent-execution.md +36 -0
  109. package/references/agent-setup.md +61 -0
  110. package/references/artifacts.md +5 -0
  111. package/references/debugger.md +22 -0
  112. package/references/ilspy.md +33 -0
  113. package/references/managed-runtime.md +48 -7
  114. package/references/native/InsightPythonWheels.java +283 -2
  115. package/references/native/InsightTraceState.java +28 -13
  116. package/references/setup.md +2 -1
  117. package/runtime/managed/insight-heap/Azure.Core.dll +0 -0
  118. package/runtime/managed/insight-heap/Azure.Identity.dll +0 -0
  119. package/runtime/managed/insight-heap/Insight.Heap.csproj +1 -0
  120. package/runtime/managed/insight-heap/Insight.Heap.deps.json +391 -0
  121. package/runtime/managed/insight-heap/Insight.Heap.dll +0 -0
  122. package/runtime/managed/insight-heap/Insight.Heap.runtimeconfig.json +13 -0
  123. package/runtime/managed/insight-heap/Microsoft.Bcl.AsyncInterfaces.dll +0 -0
  124. package/runtime/managed/insight-heap/Microsoft.Diagnostics.NETCore.Client.dll +0 -0
  125. package/runtime/managed/insight-heap/Microsoft.Diagnostics.Runtime.dll +0 -0
  126. package/runtime/managed/insight-heap/Microsoft.Extensions.Configuration.Abstractions.dll +0 -0
  127. package/runtime/managed/insight-heap/Microsoft.Extensions.DependencyInjection.Abstractions.dll +0 -0
  128. package/runtime/managed/insight-heap/Microsoft.Extensions.Diagnostics.Abstractions.dll +0 -0
  129. package/runtime/managed/insight-heap/Microsoft.Extensions.FileProviders.Abstractions.dll +0 -0
  130. package/runtime/managed/insight-heap/Microsoft.Extensions.Hosting.Abstractions.dll +0 -0
  131. package/runtime/managed/insight-heap/Microsoft.Extensions.Logging.Abstractions.dll +0 -0
  132. package/runtime/managed/insight-heap/Microsoft.Extensions.Options.dll +0 -0
  133. package/runtime/managed/insight-heap/Microsoft.Extensions.Primitives.dll +0 -0
  134. package/runtime/managed/insight-heap/Microsoft.Identity.Client.Extensions.Msal.dll +0 -0
  135. package/runtime/managed/insight-heap/Microsoft.Identity.Client.dll +0 -0
  136. package/runtime/managed/insight-heap/Microsoft.IdentityModel.Abstractions.dll +0 -0
  137. package/runtime/managed/insight-heap/Microsoft.Security.AntiSSRF.dll +0 -0
  138. package/runtime/managed/insight-heap/NuGet.Config +1 -0
  139. package/runtime/managed/insight-heap/Program.cs +20 -0
  140. package/runtime/managed/insight-heap/README.md +16 -0
  141. package/runtime/managed/insight-heap/System.ClientModel.dll +0 -0
  142. package/runtime/managed/insight-heap/System.Memory.Data.dll +0 -0
  143. package/runtime/managed/insight-heap/System.Security.Cryptography.ProtectedData.dll +0 -0
  144. package/runtime/managed/insight-heap/dependencies.json +436 -0
  145. package/runtime/managed/insight-heap/notices/Azure.Core-LICENSE.txt +21 -0
  146. package/runtime/managed/insight-heap/notices/Azure.Identity-LICENSE.txt +21 -0
  147. package/runtime/managed/insight-heap/notices/Microsoft.Bcl.AsyncInterfaces-LICENSE.txt +23 -0
  148. package/runtime/managed/insight-heap/notices/Microsoft.Bcl.AsyncInterfaces-THIRD-PARTY-NOTICES.TXT +1418 -0
  149. package/runtime/managed/insight-heap/notices/Microsoft.Diagnostics.NETCore.Client-LICENSE.txt +23 -0
  150. package/runtime/managed/insight-heap/notices/Microsoft.Diagnostics.Runtime-LICENSE.txt +23 -0
  151. package/runtime/managed/insight-heap/notices/Microsoft.Extensions.Configuration.Abstractions-LICENSE.txt +23 -0
  152. package/runtime/managed/insight-heap/notices/Microsoft.Extensions.Configuration.Abstractions-THIRD-PARTY-NOTICES.TXT +1418 -0
  153. package/runtime/managed/insight-heap/notices/Microsoft.Extensions.DependencyInjection.Abstractions-LICENSE.txt +23 -0
  154. package/runtime/managed/insight-heap/notices/Microsoft.Extensions.DependencyInjection.Abstractions-THIRD-PARTY-NOTICES.TXT +1418 -0
  155. package/runtime/managed/insight-heap/notices/Microsoft.Extensions.Diagnostics.Abstractions-LICENSE.txt +23 -0
  156. package/runtime/managed/insight-heap/notices/Microsoft.Extensions.Diagnostics.Abstractions-THIRD-PARTY-NOTICES.TXT +1418 -0
  157. package/runtime/managed/insight-heap/notices/Microsoft.Extensions.FileProviders.Abstractions-LICENSE.txt +23 -0
  158. package/runtime/managed/insight-heap/notices/Microsoft.Extensions.FileProviders.Abstractions-THIRD-PARTY-NOTICES.TXT +1418 -0
  159. package/runtime/managed/insight-heap/notices/Microsoft.Extensions.Hosting.Abstractions-LICENSE.txt +23 -0
  160. package/runtime/managed/insight-heap/notices/Microsoft.Extensions.Hosting.Abstractions-THIRD-PARTY-NOTICES.TXT +1418 -0
  161. package/runtime/managed/insight-heap/notices/Microsoft.Extensions.Logging.Abstractions-LICENSE.txt +23 -0
  162. package/runtime/managed/insight-heap/notices/Microsoft.Extensions.Logging.Abstractions-THIRD-PARTY-NOTICES.TXT +1418 -0
  163. package/runtime/managed/insight-heap/notices/Microsoft.Extensions.Options-LICENSE.txt +23 -0
  164. package/runtime/managed/insight-heap/notices/Microsoft.Extensions.Options-THIRD-PARTY-NOTICES.TXT +1418 -0
  165. package/runtime/managed/insight-heap/notices/Microsoft.Extensions.Primitives-LICENSE.txt +23 -0
  166. package/runtime/managed/insight-heap/notices/Microsoft.Extensions.Primitives-THIRD-PARTY-NOTICES.TXT +1418 -0
  167. package/runtime/managed/insight-heap/notices/Microsoft.Identity.Client-LICENSE.txt +21 -0
  168. package/runtime/managed/insight-heap/notices/Microsoft.Identity.Client.Extensions.Msal-LICENSE.txt +21 -0
  169. package/runtime/managed/insight-heap/notices/Microsoft.IdentityModel.Abstractions-LICENSE.txt +21 -0
  170. package/runtime/managed/insight-heap/notices/Microsoft.Security.AntiSSRF-LICENSE.txt +21 -0
  171. package/runtime/managed/insight-heap/notices/System.ClientModel-LICENSE.txt +21 -0
  172. package/runtime/managed/insight-heap/notices/System.Memory.Data-LICENSE.txt +23 -0
  173. package/runtime/managed/insight-heap/notices/System.Memory.Data-THIRD-PARTY-NOTICES.TXT +1418 -0
  174. package/runtime/managed/insight-heap/notices/System.Security.Cryptography.ProtectedData-LICENSE.TXT +23 -0
  175. package/runtime/managed/insight-heap/notices/System.Security.Cryptography.ProtectedData-THIRD-PARTY-NOTICES.TXT +309 -0
  176. package/runtime/managed/insight-heap/packages.lock.json +165 -0
  177. package/runtime/managed/insight-heap/provenance.json +146 -0
  178. package/runtime/managed/insight-heap/runtimes/win/lib/netstandard2.0/System.Security.Cryptography.ProtectedData.dll +0 -0
  179. package/runtime/managed/insight-managed/Insight.Managed.csproj +4 -0
  180. package/runtime/managed/insight-managed/Insight.Managed.deps.json +41 -0
  181. package/runtime/managed/insight-managed/Insight.Managed.dll +0 -0
  182. package/runtime/managed/insight-managed/Insight.Managed.runtimeconfig.json +13 -0
  183. package/runtime/managed/insight-managed/LICENSE.dnlib.txt +20 -0
  184. package/runtime/managed/insight-managed/NuGet.Config +1 -0
  185. package/runtime/managed/insight-managed/Program.cs +31 -0
  186. package/runtime/managed/insight-managed/README.md +16 -0
  187. package/runtime/managed/insight-managed/dnlib.dll +0 -0
  188. package/runtime/managed/insight-managed/packages.lock.json +13 -0
  189. package/runtime/managed/insight-managed/provenance.json +40 -0
  190. package/runtime/native/binary/README.md +22 -0
  191. package/runtime/native/binary/dependencies.json +166 -0
  192. package/runtime/native/binary/helper.cpp +44 -0
  193. package/runtime/native/binary/insight-binary-darwin-arm64 +0 -0
  194. package/runtime/native/binary/notices/Catch2-3.12.0--Catch2-3.12.0__LICENSE.txt +23 -0
  195. package/runtime/native/binary/notices/LIEF-LICENSE.txt +202 -0
  196. package/runtime/native/binary/notices/LIEF-attribution.txt +37 -0
  197. package/runtime/native/binary/notices/Melkor_ELF_Fuzzer-ac2495b--elf_fuzzer-master__LICENSE.txt +674 -0
  198. package/runtime/native/binary/notices/expected-1.3.1--expected-1.3.1__COPYING +121 -0
  199. package/runtime/native/binary/notices/frozen-61dce5a--frozen-61dce5ae18ca59931e27675c468e64118aba8744__AUTHORS +3 -0
  200. package/runtime/native/binary/notices/frozen-61dce5a--frozen-61dce5ae18ca59931e27675c468e64118aba8744__LICENSE +202 -0
  201. package/runtime/native/binary/notices/json-LICENSE.MIT +21 -0
  202. package/runtime/native/binary/notices/mbedtls-4.0.0.r0.gec4044008d--LICENSE +553 -0
  203. package/runtime/native/binary/notices/mbedtls-4.0.0.r0.gec4044008d--framework__LICENSE +553 -0
  204. package/runtime/native/binary/notices/mbedtls-4.0.0.r0.gec4044008d--tf-psa-crypto__LICENSE +552 -0
  205. package/runtime/native/binary/notices/mbedtls-4.0.0.r0.gec4044008d--tf-psa-crypto__framework__LICENSE +553 -0
  206. package/runtime/native/binary/notices/nanobind-2.13.0.r18.g4db9ed3f--LICENSE +26 -0
  207. package/runtime/native/binary/notices/nanobind-2.13.0.r18.g4db9ed3f--ext__robin_map__LICENSE +21 -0
  208. package/runtime/native/binary/notices/span-LICENSE_1_0.txt +23 -0
  209. package/runtime/native/binary/notices/span-attribution.txt +11 -0
  210. package/runtime/native/binary/notices/spdlog-1.17.0--spdlog-1.17.0__LICENSE +25 -0
  211. package/runtime/native/binary/notices/utfcpp-4.0.9--utfcpp-4.0.9__LICENSE +23 -0
  212. package/runtime/native/binary/provenance.json +48 -0
  213. package/runtime/native/child-deadline-linux-x64 +0 -0
  214. package/runtime/native/child-deadline-linux.c +24 -0
  215. package/runtime/native/child-deadline-linux.provenance.json +17 -0
  216. package/runtime/native/deadline-alarm-darwin-universal.dylib +0 -0
  217. package/runtime/native/deadline-alarm.c +33 -0
  218. package/runtime/native/deadline-alarm.provenance.json +22 -0
  219. package/runtime/native/deadline-exec-darwin-arm64 +0 -0
  220. package/runtime/native/deadline-exec.c +24 -0
  221. package/runtime/native/deadline-exec.provenance.json +17 -0
  222. package/runtime/native/dnspy-extension/Bridge.cs +58 -0
  223. package/runtime/native/dnspy-extension/Insight.DnSpy.csproj +13 -0
  224. package/runtime/native/dnspy-extension/Insight.DnSpy.x.dll +0 -0
  225. package/runtime/native/dnspy-extension/NuGet.Config +1 -0
  226. package/runtime/native/dnspy-extension/UNICODE-LOADER.md +26 -0
  227. package/runtime/native/dnspy-extension/packages.lock.json +6 -0
  228. package/runtime/native/dnspy-extension/provenance.json +27 -0
  229. package/runtime/native/dnspy-extension/upstream-public-build.snk +0 -0
  230. package/runtime/native/dnspy-extension/vendor-files.json +4341 -0
  231. package/runtime/native/file-version.ps1 +7 -0
  232. package/runtime/native/insight-registry-win-x64.dll +0 -0
  233. package/runtime/native/mitmproxy/bridge.py +180 -0
  234. package/runtime/native/mitmproxy/notices.json +476 -0
  235. package/runtime/native/sources/detours-LICENSE.md +23 -0
  236. package/runtime/native/sources/detours-e4bfd6b.tar.gz +0 -0
  237. package/runtime/native/sources/detours-provenance.json +10 -0
  238. package/runtime/native/tshark-layout.json +2247 -0
  239. package/runtime/native/windows-job/DirectoryAlias.cs +24 -0
  240. package/runtime/native/windows-job/Insight.WindowsJob.csproj +1 -0
  241. package/runtime/native/windows-job/Insight.WindowsJob.dll +0 -0
  242. package/runtime/native/windows-job/NuGet.Config +1 -0
  243. package/runtime/native/windows-job/OwnedJob.cs +79 -0
  244. package/runtime/native/windows-job/RegistryRedirect.cs +45 -0
  245. package/runtime/native/windows-job/packages.lock.json +21 -0
  246. package/runtime/native/windows-job/provenance.json +16 -0
  247. package/runtime/native/windows-job/windows-job.ps1 +8 -0
  248. package/runtime/native/windows-registry.c +21 -0
  249. package/runtime/native/windows-registry.def +3 -0
  250. package/runtime/native/windows-registry.provenance.json +14 -0
  251. package/runtime/notices/diagnostics-10.0.750501.txt +23 -0
  252. package/runtime/tool-catalog.json +290 -0
  253. package/runtime/toolbox.json +1401 -0
  254. package/skill-bundle/insight-artifacts/SKILL.md +30 -0
  255. package/skill-bundle/insight-artifacts/references/agent-execution.md +36 -0
  256. package/skill-bundle/insight-artifacts/references/artifacts.md +52 -0
  257. package/skill-bundle/insight-binary/SKILL.md +46 -0
  258. package/skill-bundle/insight-binary/references/agent-execution.md +36 -0
  259. package/skill-bundle/insight-capture/SKILL.md +56 -0
  260. package/skill-bundle/insight-capture/references/agent-execution.md +36 -0
  261. package/skill-bundle/insight-cli/SKILL.md +42 -0
  262. package/skill-bundle/insight-cli/references/agent-execution.md +36 -0
  263. package/skill-bundle/insight-cli/references/agent-setup.md +61 -0
  264. package/skill-bundle/insight-die/SKILL.md +49 -0
  265. package/skill-bundle/insight-die/references/agent-execution.md +36 -0
  266. package/skill-bundle/insight-dnspy/SKILL.md +65 -0
  267. package/skill-bundle/insight-dnspy/references/agent-execution.md +36 -0
  268. package/skill-bundle/insight-dotnet-dump/SKILL.md +46 -0
  269. package/skill-bundle/insight-dotnet-dump/references/agent-execution.md +36 -0
  270. package/skill-bundle/insight-dotnet-stack/SKILL.md +39 -0
  271. package/skill-bundle/insight-dotnet-stack/references/agent-execution.md +36 -0
  272. package/skill-bundle/insight-dotnet-trace/SKILL.md +45 -0
  273. package/skill-bundle/insight-dotnet-trace/references/agent-execution.md +36 -0
  274. package/skill-bundle/insight-frida/SKILL.md +67 -0
  275. package/skill-bundle/insight-frida/references/agent-execution.md +36 -0
  276. package/skill-bundle/insight-ghidra/SKILL.md +91 -0
  277. package/skill-bundle/insight-ghidra/references/administration.md +34 -0
  278. package/skill-bundle/insight-ghidra/references/agent-execution.md +36 -0
  279. package/skill-bundle/insight-ghidra/references/archive.md +32 -0
  280. package/skill-bundle/insight-ghidra/references/artifacts.md +52 -0
  281. package/skill-bundle/insight-ghidra/references/debugger.md +62 -0
  282. package/skill-bundle/insight-ghidra/references/extensions-and-sync.md +124 -0
  283. package/skill-bundle/insight-ghidra/references/managed-runtime.md +157 -0
  284. package/skill-bundle/insight-ghidra/references/native-workflows.md +112 -0
  285. package/skill-bundle/insight-ghidra/references/query-semantics.md +96 -0
  286. package/skill-bundle/insight-ghidra/references/recovery.md +53 -0
  287. package/skill-bundle/insight-ghidra/references/research.md +101 -0
  288. package/skill-bundle/insight-ghidra/references/setup.md +50 -0
  289. package/skill-bundle/insight-ilspy/SKILL.md +45 -0
  290. package/skill-bundle/insight-ilspy/references/agent-execution.md +36 -0
  291. package/skill-bundle/insight-ilspy/references/ilspy.md +33 -0
  292. package/skill-bundle/insight-interop/SKILL.md +54 -0
  293. package/skill-bundle/insight-interop/references/agent-execution.md +36 -0
  294. package/skill-bundle/insight-lldb/SKILL.md +54 -0
  295. package/skill-bundle/insight-lldb/references/agent-execution.md +36 -0
  296. package/skill-bundle/insight-llvm/SKILL.md +56 -0
  297. package/skill-bundle/insight-llvm/references/agent-execution.md +36 -0
  298. package/skill-bundle/insight-managed-heap/SKILL.md +43 -0
  299. package/skill-bundle/insight-managed-heap/references/agent-execution.md +36 -0
  300. package/skill-bundle/insight-managed-metadata/SKILL.md +52 -0
  301. package/skill-bundle/insight-managed-metadata/references/agent-execution.md +36 -0
  302. package/skill-bundle/insight-mitmproxy/SKILL.md +62 -0
  303. package/skill-bundle/insight-mitmproxy/references/agent-execution.md +36 -0
  304. package/skill-bundle/insight-overview/SKILL.md +79 -0
  305. package/skill-bundle/insight-overview/references/agent-execution.md +36 -0
  306. package/skill-bundle/insight-procmon/SKILL.md +49 -0
  307. package/skill-bundle/insight-procmon/references/agent-execution.md +36 -0
  308. package/skill-bundle/insight-re/SKILL.md +121 -0
  309. package/skill-bundle/insight-re/references/agent-execution.md +36 -0
  310. package/skill-bundle/insight-re/references/artifacts.md +52 -0
  311. package/skill-bundle/insight-re/references/recovery.md +53 -0
  312. package/skill-bundle/insight-sevenzip/SKILL.md +42 -0
  313. package/skill-bundle/insight-sevenzip/references/agent-execution.md +36 -0
  314. package/skill-bundle/insight-strace/SKILL.md +46 -0
  315. package/skill-bundle/insight-strace/references/agent-execution.md +36 -0
  316. package/skill-bundle/insight-tshark/SKILL.md +49 -0
  317. package/skill-bundle/insight-tshark/references/agent-execution.md +36 -0
  318. package/skill-bundle/insight-windbg/SKILL.md +46 -0
  319. package/skill-bundle/insight-windbg/references/agent-execution.md +36 -0
  320. package/skill-bundle/manifest.json +32 -0
  321. package/skills/insight-artifacts/SKILL.md +30 -0
  322. package/skills/insight-artifacts/references/agent-execution.md +36 -0
  323. package/skills/insight-artifacts/references/artifacts.md +52 -0
  324. package/skills/insight-binary/SKILL.md +46 -0
  325. package/skills/insight-binary/references/agent-execution.md +36 -0
  326. package/skills/insight-capture/SKILL.md +56 -0
  327. package/skills/insight-capture/references/agent-execution.md +36 -0
  328. package/skills/insight-die/SKILL.md +49 -0
  329. package/skills/insight-die/references/agent-execution.md +36 -0
  330. package/skills/insight-dnspy/SKILL.md +65 -0
  331. package/skills/insight-dnspy/references/agent-execution.md +36 -0
  332. package/skills/insight-dotnet-dump/SKILL.md +46 -0
  333. package/skills/insight-dotnet-dump/references/agent-execution.md +36 -0
  334. package/skills/insight-dotnet-stack/SKILL.md +39 -0
  335. package/skills/insight-dotnet-stack/references/agent-execution.md +36 -0
  336. package/skills/insight-dotnet-trace/SKILL.md +45 -0
  337. package/skills/insight-dotnet-trace/references/agent-execution.md +36 -0
  338. package/skills/insight-frida/SKILL.md +67 -0
  339. package/skills/insight-frida/references/agent-execution.md +36 -0
  340. package/skills/insight-ghidra/SKILL.md +91 -0
  341. package/skills/insight-ghidra/references/administration.md +34 -0
  342. package/skills/insight-ghidra/references/agent-execution.md +36 -0
  343. package/skills/insight-ghidra/references/archive.md +32 -0
  344. package/skills/insight-ghidra/references/artifacts.md +52 -0
  345. package/skills/insight-ghidra/references/debugger.md +62 -0
  346. package/skills/insight-ghidra/references/extensions-and-sync.md +124 -0
  347. package/skills/insight-ghidra/references/managed-runtime.md +157 -0
  348. package/skills/insight-ghidra/references/native-workflows.md +112 -0
  349. package/skills/insight-ghidra/references/query-semantics.md +96 -0
  350. package/skills/insight-ghidra/references/recovery.md +53 -0
  351. package/skills/insight-ghidra/references/research.md +101 -0
  352. package/skills/insight-ghidra/references/setup.md +50 -0
  353. package/skills/insight-ilspy/SKILL.md +45 -0
  354. package/skills/insight-ilspy/references/agent-execution.md +36 -0
  355. package/skills/insight-ilspy/references/ilspy.md +33 -0
  356. package/skills/insight-interop/SKILL.md +54 -0
  357. package/skills/insight-interop/references/agent-execution.md +36 -0
  358. package/skills/insight-lldb/SKILL.md +54 -0
  359. package/skills/insight-lldb/references/agent-execution.md +36 -0
  360. package/skills/insight-llvm/SKILL.md +56 -0
  361. package/skills/insight-llvm/references/agent-execution.md +36 -0
  362. package/skills/insight-managed-heap/SKILL.md +43 -0
  363. package/skills/insight-managed-heap/references/agent-execution.md +36 -0
  364. package/skills/insight-managed-metadata/SKILL.md +52 -0
  365. package/skills/insight-managed-metadata/references/agent-execution.md +36 -0
  366. package/skills/insight-mitmproxy/SKILL.md +62 -0
  367. package/skills/insight-mitmproxy/references/agent-execution.md +36 -0
  368. package/skills/insight-overview/SKILL.md +79 -0
  369. package/skills/insight-overview/references/agent-execution.md +36 -0
  370. package/skills/insight-procmon/SKILL.md +49 -0
  371. package/skills/insight-procmon/references/agent-execution.md +36 -0
  372. package/skills/insight-re/SKILL.md +22 -9
  373. package/skills/insight-re/references/agent-execution.md +36 -0
  374. package/skills/insight-re/references/artifacts.md +52 -0
  375. package/skills/insight-re/references/recovery.md +53 -0
  376. package/skills/insight-sevenzip/SKILL.md +42 -0
  377. package/skills/insight-sevenzip/references/agent-execution.md +36 -0
  378. package/skills/insight-strace/SKILL.md +46 -0
  379. package/skills/insight-strace/references/agent-execution.md +36 -0
  380. package/skills/insight-tshark/SKILL.md +49 -0
  381. package/skills/insight-tshark/references/agent-execution.md +36 -0
  382. package/skills/insight-windbg/SKILL.md +46 -0
  383. package/skills/insight-windbg/references/agent-execution.md +36 -0
  384. package/dist/src/runtime-archives.d.ts +0 -5
@@ -0,0 +1,41 @@
1
+ {
2
+ "runtimeTarget": {
3
+ "name": ".NETCoreApp,Version=v10.0",
4
+ "signature": ""
5
+ },
6
+ "compilationOptions": {},
7
+ "targets": {
8
+ ".NETCoreApp,Version=v10.0": {
9
+ "Insight.Managed/1.0.0": {
10
+ "dependencies": {
11
+ "dnlib": "4.5.0"
12
+ },
13
+ "runtime": {
14
+ "Insight.Managed.dll": {}
15
+ }
16
+ },
17
+ "dnlib/4.5.0": {
18
+ "runtime": {
19
+ "lib/net6.0/dnlib.dll": {
20
+ "assemblyVersion": "4.5.0.0",
21
+ "fileVersion": "4.5.0.0"
22
+ }
23
+ }
24
+ }
25
+ }
26
+ },
27
+ "libraries": {
28
+ "Insight.Managed/1.0.0": {
29
+ "type": "project",
30
+ "serviceable": false,
31
+ "sha512": ""
32
+ },
33
+ "dnlib/4.5.0": {
34
+ "type": "package",
35
+ "serviceable": true,
36
+ "sha512": "sha512-YkwstIbjyiJ12uGIAN8oSmImgVFkPHit7MJXPHvJqeKV1DMNqxZWszjHfykgiSs4Y/XmjnZts7pI2/AYme5/uA==",
37
+ "path": "dnlib/4.5.0",
38
+ "hashPath": "dnlib.4.5.0.nupkg.sha512"
39
+ }
40
+ }
41
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "runtimeOptions": {
3
+ "tfm": "net10.0",
4
+ "framework": {
5
+ "name": "Microsoft.NETCore.App",
6
+ "version": "10.0.0"
7
+ },
8
+ "configProperties": {
9
+ "System.Reflection.Metadata.MetadataUpdater.IsSupported": false,
10
+ "System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false
11
+ }
12
+ }
13
+ }
@@ -0,0 +1,20 @@
1
+ Copyright (C) 2012-2019 de4dot@gmail.com
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
17
+ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
18
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
19
+ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
20
+ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1 @@
1
+ <?xml version="1.0" encoding="utf-8"?><configuration><packageSources><clear/><add key="nuget.org" value="https://api.nuget.org/v3/index.json"/></packageSources></configuration>
@@ -0,0 +1,31 @@
1
+ // MIT first-party static metadata API. Target assemblies are parsed, never loaded for execution.
2
+ using System.Security.Cryptography;using System.Text;using System.Text.Json;using System.Text.Json.Serialization;using dnlib.DotNet;using dnlib.DotNet.Emit;
3
+ sealed class Plan {public int Schema{get;set;}public string Mode{get;set;}="query";public string Input{get;set;}="";public string? Other{get;set;}public string View{get;set;}="overview";public string? Type{get;set;}public uint? Token{get;set;}public string? Filter{get;set;}public string? NameFilter{get;set;}public int Limit{get;set;}=50;public int Offset{get;set;}=0;}
4
+ sealed class NoAssemblyResolution:IAssemblyResolver {public AssemblyDef? Resolve(IAssembly assembly,ModuleDef sourceModule)=>null;}
5
+ static class Program {
6
+ static readonly JsonSerializerOptions Json=new(){PropertyNamingPolicy=JsonNamingPolicy.CamelCase,DefaultIgnoreCondition=JsonIgnoreCondition.WhenWritingNull};
7
+ static string Hash(string value)=>Convert.ToHexStringLower(SHA256.HashData(Encoding.UTF8.GetBytes(value)));
8
+ static string Token(MethodDef method)=>"0x"+method.MDToken.Raw.ToString("x8");
9
+ static object? ImportState(MethodDef method)=>method.HasImplMap?new {module=method.ImplMap.Module.Name.ToString(),entryPoint=method.ImplMap.Name.ToString(),attributes=method.ImplMap.Attributes.ToString()}:null;
10
+ static object Import(MethodDef method)=>new {module=method.ImplMap.Module.Name.ToString(),entryPoint=method.ImplMap.Name.ToString(),attributes=method.ImplMap.Attributes.ToString(),signature=method.FullName,token=Token(method)};
11
+ static string OperandAt(object? operand,Func<Instruction,int> index)=>operand switch {null=>"",Instruction i=>"label:"+index(i),Instruction[] a=>string.Join(",",a.Select(i=>"label:"+index(i))),IMethod m=>"method:"+m.FullName,IField f=>"field:"+f.FullName,ITypeDefOrRef t=>"type:"+t.FullName,TypeSig t=>"type:"+t.FullName,dnlib.DotNet.Emit.Local local=>"local:"+local.Index+":"+local.Type.FullName,Parameter parameter=>"parameter:"+parameter.Index+":"+parameter.Type.FullName,string s=>"string:"+JsonSerializer.Serialize(s),IFormattable f=>f.ToString(null,System.Globalization.CultureInfo.InvariantCulture)??"",_=>operand.ToString()??""};
12
+ static string Operand(object? operand,IList<Instruction> instructions)=>OperandAt(operand,instructions.IndexOf);
13
+ static object? Body(MethodDef method){if(method.Body is null)return null;var body=method.Body;var instructions=body.Instructions;if(instructions.Count>100000)throw new InvalidOperationException("A method exceeds 100000 instructions; narrow the comparison/query");var indices=instructions.Select((i,n)=>(i,n)).ToDictionary(p=>p.i,p=>p.n);int At(Instruction? i)=>i is null?instructions.Count:indices[i];
14
+ return new{initLocals=body.InitLocals,locals=body.Variables.Select(v=>v.Type.FullName).ToArray(),instructions=instructions.Select(i=>i.IsLdcI4()?new{opcode="ldc.i4",operand=i.GetLdcI4Value().ToString(System.Globalization.CultureInfo.InvariantCulture)}:new{opcode=i.OpCode.OperandType is OperandType.ShortInlineBrTarget?i.OpCode.Name.Replace(".s",""):i.OpCode.Name,operand=OperandAt(i.Operand,i=>indices[i])}).ToArray(),handlers=body.ExceptionHandlers.Select(h=>new{kind=h.HandlerType.ToString(),@try=At(h.TryStart),tryEnd=At(h.TryEnd),handler=At(h.HandlerStart),handlerEnd=At(h.HandlerEnd),filter=At(h.FilterStart),catchType=h.CatchType?.FullName}).ToArray()};
15
+ }
16
+ static string Fingerprint(MethodDef method)=>Hash(JsonSerializer.Serialize(new{signature=method.FullName,attributes=method.Attributes.ToString(),implementation=method.ImplAttributes.ToString(),import=method.HasImplMap?new{module=method.ImplMap.Module.Name.ToString(),entryPoint=method.ImplMap.Name.ToString(),attributes=method.ImplMap.Attributes.ToString()}:null,body=Body(method)},Json));
17
+ static bool Matches(Plan p,MethodDef method)=>(p.Type is null||method.DeclaringType.FullName==p.Type)&&(!p.Token.HasValue||method.MDToken.Raw==p.Token)&&(p.Filter is null||method.FullName.Contains(p.Filter,StringComparison.Ordinal))&&(p.NameFilter is null||method.Name.ToString().Contains(p.NameFilter,StringComparison.OrdinalIgnoreCase));
18
+ static object Query(Plan p,ModuleDefMD module){var types=module.GetTypes().Take(100001).ToArray();if(types.Length>100000)throw new InvalidOperationException("Assembly exceeds the 100000-type query bound");var methods=types.SelectMany(t=>t.Methods).ToArray();if(methods.Length>1000000)throw new InvalidOperationException("Assembly exceeds the million-method query bound");var scope="Static dnlib metadata/IL only; no target execution, dependency resolution or PDB loading. Tokens belong to this exact module. Structural equality is not semantic equivalence.";
19
+ object Result(object data)=>new{state="completed",complete=true,view=p.View,data,scope};object Rows(object[] rows)=>new{state="completed",complete=true,view=p.View,items=rows.Skip(p.Offset).Take(p.Limit),total=rows.Length,limit=p.Limit,offset=p.Offset,truncated=p.Offset+p.Limit<rows.Length,scope};
20
+ if(p.View=="overview"){var refs=module.GetAssemblyRefs().Take(257).Select(a=>a.FullName).ToArray();var resources=module.Resources.Take(257).Select(r=>r.Name.ToString()).ToArray();return Result(new{assembly=module.Assembly?.FullName,module=module.Name.ToString(),mvid=module.Mvid,metadataRuntimeVersion=module.RuntimeVersion,targetFramework=module.Assembly?.CustomAttributes.Find("System.Runtime.Versioning.TargetFrameworkAttribute")?.ConstructorArguments.FirstOrDefault().Value?.ToString(),machine=module.Machine.ToString(),ilOnly=module.IsILOnly,types=types.Length,methods=methods.Length,imports=methods.Count(m=>m.HasImplMap),entryPoint=module.EntryPoint?.FullName,references=refs.Take(256).ToArray(),referencesTruncated=refs.Length>256,resources=resources.Take(256).ToArray(),resourcesTruncated=resources.Length>256,referenceResourceBound=256});}
21
+ if(p.View=="types")return Rows(types.Where(t=>(p.Type is null||t.FullName==p.Type)&&(p.Filter is null||t.FullName.Contains(p.Filter,StringComparison.Ordinal))).Select(t=>(object)new{name=t.FullName,token="0x"+t.MDToken.Raw.ToString("x8"),baseType=t.BaseType?.FullName,attributes=t.Attributes.ToString(),methods=t.Methods.Count,fields=t.Fields.Count}).ToArray());
22
+ if(p.View=="methods")return Rows(methods.Where(m=>Matches(p,m)).Select(m=>(object)new{name=m.FullName,token=Token(m),declaringType=m.DeclaringType.FullName,hasBody=m.HasBody,isImport=m.HasImplMap}).ToArray());
23
+ if(p.View=="imports")return Rows(methods.Where(m=>m.HasImplMap&&Matches(p,m)).Select(Import).ToArray());
24
+ if(p.View!="method"||!p.Token.HasValue)throw new InvalidOperationException("Method view requires a MethodDef token");var method=methods.SingleOrDefault(m=>Matches(p,m))??throw new InvalidOperationException("Selected MethodDef was not found in the exact captured module");var instructions=method.Body?.Instructions??[];return new{state="completed",complete=true,view=p.View,method=method.FullName,token=Token(method),attributes=method.Attributes.ToString(),implementation=method.ImplAttributes.ToString(),import=method.HasImplMap?Import(method):null,instructions=instructions.Skip(p.Offset).Take(p.Limit).Select(i=>new{offset=i.Offset,opcode=i.OpCode.Name,operand=Operand(i.Operand,instructions)}).ToArray(),totalInstructions=instructions.Count,limit=p.Limit,offset=p.Offset,truncated=p.Offset+p.Limit<instructions.Count,normalizedBodySha256=method.HasBody?Hash(JsonSerializer.Serialize(Body(method),Json)):null,parameters=method.Parameters.Select(v=>new{index=v.Index,name=v.Name,type=v.Type.FullName}).ToArray(),scope};
25
+ }
26
+ static object Compare(Plan p,ModuleDefMD left,ModuleDefMD right){Dictionary<string,MethodDef> Index(ModuleDefMD m){var types=m.GetTypes().Take(100001).ToArray();if(types.Length>100000)throw new InvalidOperationException("Assembly exceeds comparison type bound");var methods=types.SelectMany(t=>t.Methods).Where(method=>Matches(p,method)).Take(100001).ToArray();if(methods.Length>100000)throw new InvalidOperationException("Comparison exceeds 100000 methods; narrow with a type/filter");return methods.ToDictionary(m=>m.FullName,StringComparer.Ordinal);}
27
+ var a=Index(left);var b=Index(right);var changes=new List<object>();int unchanged=0;foreach(var name in a.Keys.Union(b.Keys).Order(StringComparer.Ordinal)){a.TryGetValue(name,out var l);b.TryGetValue(name,out var r);if(l is null||r is null){changes.Add(new{name,state=l is null?"added":"removed",left=l is null?null:Token(l),right=r is null?null:Token(r)});continue;}if(Fingerprint(l)==Fingerprint(r)){unchanged++;continue;}changes.Add(new{name,state="changed",left=Token(l),right=Token(r),ilChanged=Hash(JsonSerializer.Serialize(Body(l),Json))!=Hash(JsonSerializer.Serialize(Body(r),Json)),importChanged=JsonSerializer.Serialize(ImportState(l),Json)!=JsonSerializer.Serialize(ImportState(r),Json)});}
28
+ var ar=left.GetAssemblyRefs().Select(a=>a.FullName).Order(StringComparer.Ordinal).ToArray();var br=right.GetAssemblyRefs().Select(a=>a.FullName).Order(StringComparer.Ordinal).ToArray();return new{state="completed",complete=true,leftAssembly=left.Assembly?.FullName,rightAssembly=right.Assembly?.FullName,unchanged,total=changes.Count,items=changes.Skip(p.Offset).Take(p.Limit).ToArray(),limit=p.Limit,offset=p.Offset,truncated=p.Offset+p.Limit<changes.Count,referencesChanged=!ar.SequenceEqual(br),leftReferences=ar,rightReferences=br,scope="Static structural comparison by exact managed signature. Signature changes appear as removed/added methods; operands resolve to names and branch/local indices rather than unstable metadata RIDs. Dependencies/runtime/environment can change behavior despite equal IL. No target execution or automatic publication."};
29
+ }
30
+ public static int Main(string[] args){try{if(args.Length!=1||!Path.IsPathFullyQualified(args[0])||new FileInfo(args[0]).Length>16384)throw new InvalidOperationException("A bounded absolute private plan is required");var p=JsonSerializer.Deserialize<Plan>(File.ReadAllText(args[0]),new JsonSerializerOptions{PropertyNameCaseInsensitive=true})??throw new InvalidOperationException("Missing plan");if(p.Schema!=1||!Path.IsPathFullyQualified(p.Input)||new FileInfo(p.Input).Length>64*1024*1024||p.Limit<1||p.Limit>1000||p.Offset<0)throw new InvalidOperationException("Invalid metadata query bounds");var options=new ModuleCreationOptions{TryToLoadPdbFromDisk=false,Context=new ModuleContext(new NoAssemblyResolution())};using var input=ModuleDefMD.Load(p.Input,options);object result;if(p.Mode=="query")result=Query(p,input);else if(p.Mode=="compare"&&p.Other is not null&&Path.IsPathFullyQualified(p.Other)&&new FileInfo(p.Other).Length<=64*1024*1024){using var other=ModuleDefMD.Load(p.Other,options);result=Compare(p,input,other);}else throw new InvalidOperationException("Unknown static metadata operation");Console.WriteLine(JsonSerializer.Serialize(result,Json));return 0;}catch(Exception error){Console.WriteLine(JsonSerializer.Serialize(new{state="failed",error=error.Message.Length>4096?error.Message[..4096]:error.Message},Json));return 70;}}
31
+ }
@@ -0,0 +1,16 @@
1
+ # First-party managed metadata capability
2
+
3
+ This internal helper is not a standalone application or a separately installed tool.
4
+ It runs under an existing private .NET 10 runtime. dnlib 4.5.0 is packaged with its full
5
+ MIT license, exact NuGet URL/SHA and locked dependency metadata. Original library source:
6
+ https://github.com/0xd4d/dnlib/tree/v4.5.0
7
+
8
+ `build-managed-helper.mjs` requires maintainer SDK 10.0.303, builds twice from independent
9
+ temporary directories, compares all four shipped artifacts and records source/binary
10
+ hashes. Consumers require no SDK/compiler. PDB loading is disabled; target assemblies
11
+ are parsed as metadata and are never loaded for execution. Comparisons use static
12
+ structure, not semantic equivalence, and retain tokens scoped to each exact input.
13
+
14
+ Method selection supports a case-insensitive short managed-name substring, independent of
15
+ namespace, declaring type and signature. The existing full-name filter remains case-sensitive.
16
+ Both filters apply before pagination; an overview/type query rejects a method-name filter.
@@ -0,0 +1,13 @@
1
+ {
2
+ "version": 1,
3
+ "dependencies": {
4
+ "net10.0": {
5
+ "dnlib": {
6
+ "type": "Direct",
7
+ "requested": "[4.5.0, )",
8
+ "resolved": "4.5.0",
9
+ "contentHash": "YkwstIbjyiJ12uGIAN8oSmImgVFkPHit7MJXPHvJqeKV1DMNqxZWszjHfykgiSs4Y/XmjnZts7pI2/AYme5/uA=="
10
+ }
11
+ }
12
+ }
13
+ }
@@ -0,0 +1,40 @@
1
+ {
2
+ "schema": 1,
3
+ "sdk": "10.0.303",
4
+ "target": "net10.0",
5
+ "sourceLicense": "MIT",
6
+ "inputs": {
7
+ "Program.cs": "3cdfd46473dac5920cd23335cd3ae2c877ddf534714a22537e02a0af85618080",
8
+ "Insight.Managed.csproj": "7b7e0c1c36b99fe97920f5ad8fa760b37061e7ebb7ea53dfd3ef9db74b10eeb8",
9
+ "NuGet.Config": "7a77c63a438cdf0524dc336da4bf2191d3f259645de430f5a4c61b3edd52fa9f",
10
+ "packages.lock.json": "e01c42d403cd2dfaa4fead9496fb339c1c33e24c6c509a658d3ea7a8b4cba82e"
11
+ },
12
+ "files": {
13
+ "Insight.Managed.dll": {
14
+ "sha256": "5952a9a181d451954a380558dc1c988737e6246285f1f96f658425b32c967fec",
15
+ "size": 55808
16
+ },
17
+ "Insight.Managed.deps.json": {
18
+ "sha256": "d7fccba042e3b7b676a5dd392c480b4c509c6d5e222573b307907b4dee45bc88",
19
+ "size": 940
20
+ },
21
+ "Insight.Managed.runtimeconfig.json": {
22
+ "sha256": "9950d4583cfc9a106857c0d5b8a75b53e8774852b57b80bc3823a74d44a4d87f",
23
+ "size": 330
24
+ },
25
+ "dnlib.dll": {
26
+ "sha256": "3b88e0948e2a6c49e5372c7e7d27817f5d2fb7ffed949b40cc98a2e5037b73ef",
27
+ "size": 1182720
28
+ }
29
+ },
30
+ "reproducible": true,
31
+ "targetExecution": false,
32
+ "dependencies": {
33
+ "dnlib": {
34
+ "version": "4.5.0",
35
+ "nupkgSha256": "63bc2f9579568204cc8b30fa9f6700a231bcf868a8032e09118887af3eafee58",
36
+ "url": "https://api.nuget.org/v3-flatcontainer/dnlib/4.5.0/dnlib.4.5.0.nupkg",
37
+ "license": "MIT"
38
+ }
39
+ }
40
+ }
@@ -0,0 +1,22 @@
1
+ # Packaged structured binary helper
2
+
3
+ First-party MIT C++ facade linked statically against unmodified LIEF 1.0.0 (Apache-2.0)
4
+ and its published dependencies. Consumer installation needs no compiler or SDK. Only
5
+ system libc++/libSystem are linked dynamically. Native host profile: macOS14+ ARM64.
6
+
7
+ The maintainer builder consumes the exact hash-bound SDK and original full source
8
+ archive, extracts its bundled JSON header and builds twice in independent temporary
9
+ directories with Apple clang 17.0.0/SDK26.0, reproducible linking and canonical source
10
+ paths. Output hashes must match; source, original notices and binary hashes are checked
11
+ before packaging. The library/source mirror URLs and original URLs are both recorded.
12
+
13
+ All original available vendored notices are retained, including an explicit build/test
14
+ superset. JSON's missing archive license is retained from its exact upstream version.
15
+ The span source's original attribution/declaration and the official Boost license it
16
+ references are retained; its old short source revision no longer resolves upstream.
17
+ The full original header remains available in the mirrored LIEF source archive.
18
+
19
+ Queries cover parsed structures and selected native linkage; malformed/omitted tables
20
+ are never proof of global absence. The only edit assigns the original two-byte PE
21
+ subsystem field on a new copy, verifies LIEF readback and proves every other byte equal.
22
+ It never executes target code, repairs signatures or rewrites arbitrary binary data.
@@ -0,0 +1,166 @@
1
+ {
2
+ "schema": 1,
3
+ "library": {
4
+ "name": "LIEF",
5
+ "version": "1.0.0",
6
+ "sdk": {
7
+ "name": "LIEF-1.0.0-Darwin-arm64.tar.gz",
8
+ "sha256": "c7bedf2e2acab9bced1c8701b06261fc6f4eba1957f80cbf86323a3f5e172167",
9
+ "url": "https://github.com/lief-project/LIEF/releases/download/1.0.0/LIEF-1.0.0-Darwin-arm64.tar.gz",
10
+ "mirror": "https://github.com/iXab3r/insight-cli/releases/download/tool-lief-1.0.0-r1/LIEF-1.0.0-Darwin-arm64.tar.gz"
11
+ },
12
+ "source": {
13
+ "name": "lief-1.0.0-source.tar.gz",
14
+ "sha256": "2cf412695ff739d82e129db441e5c2025f3bb4873a3d3a1d3dd4cf300b682abd",
15
+ "url": "https://codeload.github.com/lief-project/LIEF/tar.gz/refs/tags/1.0.0",
16
+ "mirror": "https://github.com/iXab3r/insight-cli/releases/download/tool-lief-1.0.0-r1/lief-1.0.0-source.tar.gz"
17
+ },
18
+ "license": "Apache-2.0"
19
+ },
20
+ "thirdPartySources": [
21
+ {
22
+ "name": "Catch2-3.12.0.zip",
23
+ "sha256": "e1e1592dbc971d9196b379aef1882f7d427ceaf0ecf6cae40b575d580dd83648",
24
+ "scope": "Published source/build/test superset; not a claim that every component is compiled"
25
+ },
26
+ {
27
+ "name": "Melkor_ELF_Fuzzer-ac2495b.zip",
28
+ "sha256": "8cccc4ca5e05e305215cc74761413746b660b76f5869a563f52cec1f23d79f2e",
29
+ "scope": "Published source/build/test superset; not a claim that every component is compiled"
30
+ },
31
+ {
32
+ "name": "expected-1.3.1.zip",
33
+ "sha256": "68bbfd81a6d312c4518b5a1831f465fa03811355af9aa9c7403348545d1d2a56",
34
+ "scope": "Published source/build/test superset; not a claim that every component is compiled"
35
+ },
36
+ {
37
+ "name": "frozen-61dce5a.zip",
38
+ "sha256": "c94ba33d5369749e8d8ba12fb87d60de02ddac981051383a8d321968abb6a314",
39
+ "scope": "Published source/build/test superset; not a claim that every component is compiled"
40
+ },
41
+ {
42
+ "name": "json-3.12.0.zip",
43
+ "sha256": "6a2249e5d61c2a8351abfac218e08e9a43426dddb493950d30f3b8acfbbc648d",
44
+ "scope": "Published source/build/test superset; not a claim that every component is compiled"
45
+ },
46
+ {
47
+ "name": "mbedtls-4.0.0.r0.gec4044008d.zip",
48
+ "sha256": "01aec4471547dec5308853ff0d797611a68a521a10496898b626035dfdc07183",
49
+ "scope": "Published source/build/test superset; not a claim that every component is compiled"
50
+ },
51
+ {
52
+ "name": "nanobind-2.13.0.r18.g4db9ed3f.zip",
53
+ "sha256": "e5a4617f3d0df623c84cdc7d56361ccc61e73d83029a1e006a82e283caf57c01",
54
+ "scope": "Published source/build/test superset; not a claim that every component is compiled"
55
+ },
56
+ {
57
+ "name": "spdlog-1.17.0.zip",
58
+ "sha256": "b11912a82d149792fef33fabd0503b13d54aeac25c1464755461d4108ea71fc2",
59
+ "scope": "Published source/build/test superset; not a claim that every component is compiled"
60
+ },
61
+ {
62
+ "name": "tcb-span-b70b0ff.zip",
63
+ "sha256": "f3d47ed83507fce94245a9f3cf97bc433cd1116f94d11ac0dca1a6f53bbeb239",
64
+ "scope": "Published source/build/test superset; not a claim that every component is compiled"
65
+ },
66
+ {
67
+ "name": "utfcpp-4.0.9.zip",
68
+ "sha256": "73802895d0cf7b000cdf8e6ee5d69b963a829d4ea419562afd8f190adef87d5f",
69
+ "scope": "Published source/build/test superset; not a claim that every component is compiled"
70
+ }
71
+ ],
72
+ "notices": [
73
+ {
74
+ "path": "notices/LIEF-LICENSE.txt",
75
+ "sha256": "998dc6a9d251b4d9d4274d8a7e121fe20c33b1dfd4300bca276e87da23dc582e",
76
+ "origin": "LIEF-1.0.0/LICENSE"
77
+ },
78
+ {
79
+ "path": "notices/LIEF-attribution.txt",
80
+ "sha256": "14353f94305648fa88cf28a78fe92ea24420e7851802b8f01930b3f09eee2656",
81
+ "origin": "Original LIEF version header copyright and Apache license declaration"
82
+ },
83
+ {
84
+ "path": "notices/Catch2-3.12.0--Catch2-3.12.0__LICENSE.txt",
85
+ "sha256": "c9bff75738922193e67fa726fa225535870d2aa1059f91452c411736284ad566",
86
+ "origin": "LIEF third-party/Catch2-3.12.0.zip:Catch2-3.12.0/LICENSE.txt"
87
+ },
88
+ {
89
+ "path": "notices/Melkor_ELF_Fuzzer-ac2495b--elf_fuzzer-master__LICENSE.txt",
90
+ "sha256": "8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903",
91
+ "origin": "LIEF third-party/Melkor_ELF_Fuzzer-ac2495b.zip:elf_fuzzer-master/LICENSE.txt"
92
+ },
93
+ {
94
+ "path": "notices/expected-1.3.1--expected-1.3.1__COPYING",
95
+ "sha256": "a2010f343487d3f7618affe54f789f5487602331c0a8d03f49e9a7c547cf0499",
96
+ "origin": "LIEF third-party/expected-1.3.1.zip:expected-1.3.1/COPYING"
97
+ },
98
+ {
99
+ "path": "notices/frozen-61dce5a--frozen-61dce5ae18ca59931e27675c468e64118aba8744__AUTHORS",
100
+ "sha256": "e87cb6aaac199b412d4a0c85b3507891dfa5054a5b80169b07e39142a9226264",
101
+ "origin": "LIEF third-party/frozen-61dce5a.zip:frozen-61dce5ae18ca59931e27675c468e64118aba8744/AUTHORS"
102
+ },
103
+ {
104
+ "path": "notices/frozen-61dce5a--frozen-61dce5ae18ca59931e27675c468e64118aba8744__LICENSE",
105
+ "sha256": "f6099ed23682840ae60a76fce378faae9b5c75f7d162188883e13b790ca18b98",
106
+ "origin": "LIEF third-party/frozen-61dce5a.zip:frozen-61dce5ae18ca59931e27675c468e64118aba8744/LICENSE"
107
+ },
108
+ {
109
+ "path": "notices/mbedtls-4.0.0.r0.gec4044008d--LICENSE",
110
+ "sha256": "9b405ef4c89342f5eae1dd828882f931747f71001cfba7d114801039b52ad09b",
111
+ "origin": "LIEF third-party/mbedtls-4.0.0.r0.gec4044008d.zip:LICENSE"
112
+ },
113
+ {
114
+ "path": "notices/mbedtls-4.0.0.r0.gec4044008d--framework__LICENSE",
115
+ "sha256": "11402351e38392230bb8934ba1095c0c0049a296c0f8821f76e4672dff54b490",
116
+ "origin": "LIEF third-party/mbedtls-4.0.0.r0.gec4044008d.zip:framework/LICENSE"
117
+ },
118
+ {
119
+ "path": "notices/mbedtls-4.0.0.r0.gec4044008d--tf-psa-crypto__framework__LICENSE",
120
+ "sha256": "11402351e38392230bb8934ba1095c0c0049a296c0f8821f76e4672dff54b490",
121
+ "origin": "LIEF third-party/mbedtls-4.0.0.r0.gec4044008d.zip:tf-psa-crypto/framework/LICENSE"
122
+ },
123
+ {
124
+ "path": "notices/mbedtls-4.0.0.r0.gec4044008d--tf-psa-crypto__LICENSE",
125
+ "sha256": "da8c58f05f135a9d15e9ffad4ecf854cfcc1f014c8abfd75ba05f62630ccc118",
126
+ "origin": "LIEF third-party/mbedtls-4.0.0.r0.gec4044008d.zip:tf-psa-crypto/LICENSE"
127
+ },
128
+ {
129
+ "path": "notices/nanobind-2.13.0.r18.g4db9ed3f--LICENSE",
130
+ "sha256": "f305091a4e57805870b217a28ea4b1f16610eece8457d2370f822a9696b75836",
131
+ "origin": "LIEF third-party/nanobind-2.13.0.r18.g4db9ed3f.zip:LICENSE"
132
+ },
133
+ {
134
+ "path": "notices/nanobind-2.13.0.r18.g4db9ed3f--ext__robin_map__LICENSE",
135
+ "sha256": "11f2c685ba565a31aef1219f63a7a8845602c97bff70016b9e3278dfe51a2ec5",
136
+ "origin": "LIEF third-party/nanobind-2.13.0.r18.g4db9ed3f.zip:ext/robin_map/LICENSE"
137
+ },
138
+ {
139
+ "path": "notices/spdlog-1.17.0--spdlog-1.17.0__LICENSE",
140
+ "sha256": "d678c20826e1392578508e1c78649a1e3c31bda05ef4388d967dbd654461b140",
141
+ "origin": "LIEF third-party/spdlog-1.17.0.zip:spdlog-1.17.0/LICENSE"
142
+ },
143
+ {
144
+ "path": "notices/span-attribution.txt",
145
+ "sha256": "2bb98c5155725644491fe894aa468d0b76f17b90d378d0990d723b36e17cab85",
146
+ "origin": "LIEF third-party/tcb-span-b70b0ff.zip:span.hpp original attribution and license declaration"
147
+ },
148
+ {
149
+ "path": "notices/utfcpp-4.0.9--utfcpp-4.0.9__LICENSE",
150
+ "sha256": "c9bff75738922193e67fa726fa225535870d2aa1059f91452c411736284ad566",
151
+ "origin": "LIEF third-party/utfcpp-4.0.9.zip:utfcpp-4.0.9/LICENSE"
152
+ },
153
+ {
154
+ "path": "notices/json-LICENSE.MIT",
155
+ "sha256": "46a65cffd1ea955132d95a8dd921640714a8d6b537d2e4e482d31145ae95b603",
156
+ "origin": "https://raw.githubusercontent.com/nlohmann/json/v3.12.0/LICENSE.MIT"
157
+ },
158
+ {
159
+ "path": "notices/span-LICENSE_1_0.txt",
160
+ "sha256": "c9bff75738922193e67fa726fa225535870d2aa1059f91452c411736284ad566",
161
+ "origin": "https://www.boost.org/LICENSE_1_0.txt (license reference supplied by original span header)"
162
+ }
163
+ ],
164
+ "extendedFeatures": false,
165
+ "unmodifiedLibrary": true
166
+ }
@@ -0,0 +1,44 @@
1
+ // MIT first-party facade over the unmodified Apache-2.0 LIEF library.
2
+ #include <LIEF/LIEF.hpp>
3
+ #include "json.hpp"
4
+ #include <fstream>
5
+ #include <iostream>
6
+ #include <sstream>
7
+ #include <filesystem>
8
+ #include <limits>
9
+ using Json=nlohmann::json;
10
+ static std::string hex(uint64_t value){std::ostringstream out;out<<"0x"<<std::hex<<value;return out.str();}
11
+ static std::string label(const std::string& name){if(name.size()>4096)throw std::runtime_error("Binary metadata string exceeds 4096 bytes");return name;}
12
+ static std::string format(const LIEF::Binary& binary){switch(binary.format()){case LIEF::Binary::PE:return "PE";case LIEF::Binary::ELF:return "ELF";case LIEF::Binary::MACHO:return "MachO";default:throw std::runtime_error("Only PE, ELF and thin Mach-O are admitted");}}
13
+ static uint64_t absolute(uint64_t base,uint64_t rva){if(rva>std::numeric_limits<uint64_t>::max()-base)throw std::runtime_error("PE address overflow");return base+rva;}
14
+ static Json query(const Json& plan,LIEF::Binary& binary){
15
+ const auto view=plan.value("view",std::string("overview"));const auto filter=plan.value("filter",std::string(""));const size_t limit=plan.value("limit",50),offset=plan.value("offset",0);Json rows=Json::array();size_t scanned=0,matching=0;bool complete=true;
16
+ auto add=[&](const std::string& name,Json row){if(++scanned>100000){complete=false;return false;}if(!filter.empty()&&name.find(filter)==std::string::npos)return true;if(matching++>=offset&&rows.size()<limit)rows.push_back(std::move(row));return true;};
17
+ Json result={{"state","completed"},{"complete",true},{"format",format(binary)},{"view",view},{"scope","Static parsed LIEF metadata; no target execution. Warnings or omitted/malformed tables do not prove absence. Addresses belong to this exact input and declared format; Mach-O universal containers require explicit slice extraction."}};
18
+ if(view=="overview"){
19
+ auto header=binary.header();Json data={{"architecture",LIEF::to_string(header.architecture())},{"objectType",LIEF::to_string(header.object_type())},{"entryPoint",hex(binary.entrypoint())},{"imageBase",hex(binary.imagebase())},{"sections",binary.sections().size()},{"libraries",binary.imported_libraries().size()},{"importedFunctions",binary.imported_functions().size()},{"exportedFunctions",binary.exported_functions().size()}};
20
+ if(auto* pe=dynamic_cast<LIEF::PE::Binary*>(&binary)){data["subsystem"]=static_cast<unsigned>(pe->optional_header().subsystem());data["hasAuthenticode"]=pe->has_signatures();}
21
+ result["data"]=data;return result;
22
+ }
23
+ if(view=="sections"){for(const auto& section:binary.sections())if(!add(section.name(),{{"name",label(section.name())},{"fileOffset",hex(section.offset())},{"fileSize",std::to_string(section.size())},{"virtualAddress",hex(section.virtual_address())}}))break;}
24
+ else if(view=="libraries"){for(const auto& library:binary.imported_libraries())if(!add(library,{{"name",label(library)}}))break;}
25
+ else if(view=="exports"){
26
+ if(auto* pe=dynamic_cast<LIEF::PE::Binary*>(&binary)){if(const auto* table=pe->get_export())for(const auto& symbol:table->entries()){Json row={{"name",label(symbol.name())},{"ordinal",symbol.ordinal()},{"rva",hex(symbol.address())},{"forwarded",symbol.is_forwarded()}};if(symbol.is_forwarded()){const auto forward=symbol.forward_information();row["forward"]={{"library",label(forward.library)},{"function",label(forward.function)}};}else row["virtualAddress"]=hex(absolute(binary.imagebase(),symbol.address()));if(!add(symbol.name(),row))break;}}
27
+ else for(const auto& symbol:binary.exported_functions())if(!add(symbol.name(),{{"name",label(symbol.name())},{"virtualAddress",hex(symbol.address())},{"forwarded",false}}))break;
28
+ }
29
+ else if(view=="imports"){
30
+ if(auto* pe=dynamic_cast<LIEF::PE::Binary*>(&binary)){bool stop=false;for(const auto& library:pe->imports()){for(const auto& entry:library.entries()){Json row={{"library",label(library.name())},{"byOrdinal",entry.is_ordinal()}};if(entry.is_ordinal())row["ordinal"]=entry.ordinal();else row["name"]=label(entry.name());if(!add(library.name()+"!"+entry.name(),row)){stop=true;break;}}if(stop)break;}}
31
+ else for(const auto& symbol:binary.imported_functions())if(!add(symbol.name(),{{"name",label(symbol.name())},{"virtualAddress",hex(symbol.address())},{"libraryKnown",false}}))break;
32
+ }
33
+ else throw std::runtime_error("Unknown structured binary view");
34
+ result["state"]=complete?"completed":"partial";result["complete"]=complete;if(!complete)result["reason"]="metadata_scan_bound";result["items"]=rows;result["matchingInScannedPrefix"]=matching;result["scannedRecords"]=std::min(scanned,size_t(100000));result["limit"]=limit;result["offset"]=offset;result["truncated"]=offset+limit<matching;return result;
35
+ }
36
+ static Json edit(const Json& plan,LIEF::Binary& binary){
37
+ auto* pe=dynamic_cast<LIEF::PE::Binary*>(&binary);if(!pe)throw std::runtime_error("Subsystem edit requires a PE input");const auto expected=plan.at("expectedSubsystem").get<unsigned>(),value=plan.at("subsystem").get<unsigned>();if((expected!=2&&expected!=3)||(value!=2&&value!=3)||expected==value)throw std::runtime_error("Select an actual guarded console/GUI subsystem change");if(static_cast<unsigned>(pe->optional_header().subsystem())!=expected)throw std::runtime_error("PE subsystem differs from the explicit expectation");
38
+ const uint64_t offset=uint64_t(pe->dos_header().addressof_new_exeheader())+4+20+68;const auto input=plan.at("input").get<std::string>(),output=plan.at("output").get<std::string>();std::ifstream in(input,std::ios::binary);std::vector<uint8_t> bytes((std::istreambuf_iterator<char>(in)),{});if(pe->header().sizeof_optional_header()<70||offset+2>bytes.size()||unsigned(bytes[offset]|(bytes[offset+1]<<8))!=expected)throw std::runtime_error("PE optional-header field binding failed");
39
+ if(std::filesystem::exists(output))throw std::runtime_error("Internal edit output already exists");bytes[offset]=static_cast<uint8_t>(value);bytes[offset+1]=0;std::ofstream out(output,std::ios::binary);out.write(reinterpret_cast<const char*>(bytes.data()),bytes.size());out.close();if(!out)throw std::runtime_error("New PE copy could not be completed");auto readback=LIEF::PE::Parser::parse(output);if(!readback||static_cast<unsigned>(readback->optional_header().subsystem())!=value)throw std::runtime_error("Independent LIEF readback rejected the new subsystem");
40
+ return {{"state","completed"},{"complete",true},{"format","PE"},{"changedField","optionalHeader.subsystem"},{"before",expected},{"after",value},{"fieldOffset",hex(offset)},{"byteRangeLength",2},{"scope","New copy, original preserved; exactly the existing two-byte subsystem field is assigned. Existing PE checksum/Authenticode signatures are not recomputed and may be invalidated. Header readback is not execution compatibility proof."}};
41
+ }
42
+ int main(int argc,char** argv){try{
43
+ if(argc!=2||!std::filesystem::path(argv[1]).is_absolute()||std::filesystem::file_size(argv[1])>16384)throw std::runtime_error("A bounded absolute private plan is required");std::ifstream file(argv[1]);const Json plan=Json::parse(file);const auto input=plan.at("input").get<std::string>();if(plan.at("schema")!=1||!std::filesystem::path(input).is_absolute()||std::filesystem::file_size(input)>64*1024*1024)throw std::runtime_error("Unsupported input size or identity");if(LIEF::MachO::is_fat(input))throw std::runtime_error("Select an explicit thin Mach-O slice; universal selection is not implicit");const auto limit=plan.value("limit",50),offset=plan.value("offset",0);if(limit<1||limit>500||offset<0||offset>1000000)throw std::runtime_error("Invalid query page bounds");auto binary=LIEF::Parser::parse(input);if(!binary)throw std::runtime_error("Input is not a parsed supported executable");const auto mode=plan.at("mode").get<std::string>();Json result;if(mode=="query")result=query(plan,*binary);else if(mode=="edit-subsystem")result=edit(plan,*binary);else throw std::runtime_error("Unknown binary operation");std::cout<<result.dump()<<'\n';return 0;
44
+ }catch(const std::exception& error){std::cout<<Json({{"state","failed"},{"error",std::string(error.what()).substr(0,4096)}}).dump()<<'\n';return 70;}}
@@ -0,0 +1,23 @@
1
+ Boost Software License - Version 1.0 - August 17th, 2003
2
+
3
+ Permission is hereby granted, free of charge, to any person or organization
4
+ obtaining a copy of the software and accompanying documentation covered by
5
+ this license (the "Software") to use, reproduce, display, distribute,
6
+ execute, and transmit the Software, and to prepare derivative works of the
7
+ Software, and to permit third-parties to whom the Software is furnished to
8
+ do so, all subject to the following:
9
+
10
+ The copyright notices in the Software and this entire statement, including
11
+ the above license grant, this restriction and the following disclaimer,
12
+ must be included in all copies of the Software, in whole or in part, and
13
+ all derivative works of the Software, unless such copies or derivative
14
+ works are solely in the form of machine-executable object code generated by
15
+ a source language processor.
16
+
17
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19
+ FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
20
+ SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
21
+ FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
22
+ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23
+ DEALINGS IN THE SOFTWARE.