@eyeauras/insight-cli 0.1.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.
- package/.cli-package-build.json +1 -1
- package/README.md +33 -2
- package/SKILL.md +38 -51
- package/dist/src/administration-results.js +1 -1
- package/dist/src/administration.d.ts +1 -1
- package/dist/src/administration.js +16 -2
- package/dist/src/binary.d.ts +3 -0
- package/dist/src/binary.js +74 -0
- package/dist/src/capture.d.ts +3 -0
- package/dist/src/capture.js +220 -0
- package/dist/src/cli.js +91 -14
- package/dist/src/contexts.d.ts +5 -0
- package/dist/src/contexts.js +54 -18
- package/dist/src/debugger-caller.d.ts +17 -0
- package/dist/src/debugger-caller.js +129 -0
- package/dist/src/debugger-launch.d.ts +2 -0
- package/dist/src/debugger-launch.js +17 -0
- package/dist/src/debugger-results.d.ts +1 -0
- package/dist/src/debugger-results.js +8 -0
- package/dist/src/debugger-supervisor.js +56 -13
- package/dist/src/debugger.js +16 -7
- package/dist/src/die.d.ts +12 -0
- package/dist/src/die.js +127 -0
- package/dist/src/dnspy-runtime.d.ts +8 -0
- package/dist/src/dnspy-runtime.js +46 -0
- package/dist/src/dnspy.d.ts +22 -0
- package/dist/src/dnspy.js +160 -0
- package/dist/src/dotnet-diagnostics.d.ts +13 -0
- package/dist/src/dotnet-diagnostics.js +101 -0
- package/dist/src/frida-worker.d.ts +1 -0
- package/dist/src/frida-worker.js +125 -0
- package/dist/src/frida.d.ts +16 -0
- package/dist/src/frida.js +125 -0
- package/dist/src/ghidra-debugger-runtime.d.ts +7 -0
- package/dist/src/ghidra-debugger-runtime.js +31 -0
- package/dist/src/ghidra-processes.d.ts +6 -0
- package/dist/src/ghidra-processes.js +121 -0
- package/dist/src/ghidra.js +6 -6
- package/dist/src/ilspy.d.ts +7 -0
- package/dist/src/ilspy.js +122 -0
- package/dist/src/lifecycle.d.ts +1 -1
- package/dist/src/lifecycle.js +8 -2
- package/dist/src/lldb.d.ts +10 -0
- package/dist/src/lldb.js +99 -0
- package/dist/src/llvm.d.ts +6 -0
- package/dist/src/llvm.js +133 -0
- package/dist/src/managed-heap.d.ts +4 -0
- package/dist/src/managed-heap.js +73 -0
- package/dist/src/managed-metadata.d.ts +11 -0
- package/dist/src/managed-metadata.js +66 -0
- package/dist/src/mitmproxy.d.ts +55 -0
- package/dist/src/mitmproxy.js +172 -0
- package/dist/src/native-inputs.d.ts +3 -2
- package/dist/src/native-inputs.js +21 -5
- package/dist/src/package-version.d.ts +1 -0
- package/dist/src/package-version.js +3 -0
- package/dist/src/procmon-config.d.ts +2 -0
- package/dist/src/procmon-config.js +15 -0
- package/dist/src/procmon-events.d.ts +13 -0
- package/dist/src/procmon-events.js +82 -0
- package/dist/src/procmon.d.ts +4 -0
- package/dist/src/procmon.js +107 -0
- package/dist/src/research.d.ts +11 -2
- package/dist/src/research.js +5 -3
- package/dist/src/runtime-catalog.d.ts +13 -0
- package/dist/src/runtime-catalog.js +26 -0
- package/dist/src/runtime-manager.d.ts +125 -0
- package/dist/src/runtime-manager.js +385 -0
- package/dist/src/runtime-selection.d.ts +13 -0
- package/dist/src/runtime-selection.js +42 -0
- package/dist/src/server.d.ts +15 -0
- package/dist/src/server.js +77 -96
- package/dist/src/sevenzip.d.ts +15 -0
- package/dist/src/sevenzip.js +119 -0
- package/dist/src/strace.d.ts +10 -0
- package/dist/src/strace.js +71 -0
- package/dist/src/text-window.d.ts +11 -0
- package/dist/src/text-window.js +6 -0
- package/dist/src/tool-runtime/archives.d.ts +10 -0
- package/dist/src/tool-runtime/archives.js +194 -0
- package/dist/src/tool-runtime/catalog.d.ts +3 -0
- package/dist/src/tool-runtime/catalog.js +13 -0
- package/dist/src/tool-runtime/commands.d.ts +9 -0
- package/dist/src/tool-runtime/commands.js +39 -0
- package/dist/src/tool-runtime/deadline.d.ts +11 -0
- package/dist/src/tool-runtime/deadline.js +32 -0
- package/dist/src/tool-runtime/definition.d.ts +73 -0
- package/dist/src/tool-runtime/definition.js +49 -0
- package/dist/src/tool-runtime/dotnet.d.ts +4 -0
- package/dist/src/tool-runtime/dotnet.js +22 -0
- package/dist/src/tool-runtime/identity.d.ts +6 -0
- package/dist/src/tool-runtime/identity.js +50 -0
- package/dist/src/tool-runtime/installer.d.ts +101 -0
- package/dist/src/tool-runtime/installer.js +180 -0
- package/dist/src/tool-runtime/launch-worker.d.ts +1 -0
- package/dist/src/tool-runtime/launch-worker.js +58 -0
- package/dist/src/tool-runtime/run.d.ts +51 -0
- package/dist/src/tool-runtime/run.js +159 -0
- package/dist/src/tool-runtime/store.d.ts +15 -0
- package/dist/src/tool-runtime/store.js +219 -0
- package/dist/src/tool-runtime/supervisor.d.ts +57 -0
- package/dist/src/tool-runtime/supervisor.js +266 -0
- package/dist/src/tool-runtime/windows-job.d.ts +22 -0
- package/dist/src/tool-runtime/windows-job.js +43 -0
- package/dist/src/toolbox.d.ts +84 -0
- package/dist/src/toolbox.js +35 -0
- package/dist/src/tshark.d.ts +23 -0
- package/dist/src/tshark.js +174 -0
- package/dist/src/windbg.d.ts +14 -0
- package/dist/src/windbg.js +119 -0
- package/dist/src/workspace.d.ts +1 -0
- package/dist/src/workspace.js +6 -0
- package/package.json +7 -4
- package/references/administration.md +2 -1
- package/references/agent-execution.md +36 -0
- package/references/agent-setup.md +61 -0
- package/references/artifacts.md +5 -0
- package/references/debugger.md +22 -0
- package/references/ilspy.md +33 -0
- package/references/managed-runtime.md +157 -0
- package/references/native/InsightPythonWheels.java +283 -2
- package/references/native/InsightRuntimeDoctor.java +33 -0
- package/references/native/InsightTraceState.java +28 -13
- package/references/setup.md +6 -3
- package/runtime/managed/insight-heap/Azure.Core.dll +0 -0
- package/runtime/managed/insight-heap/Azure.Identity.dll +0 -0
- package/runtime/managed/insight-heap/Insight.Heap.csproj +1 -0
- package/runtime/managed/insight-heap/Insight.Heap.deps.json +391 -0
- package/runtime/managed/insight-heap/Insight.Heap.dll +0 -0
- package/runtime/managed/insight-heap/Insight.Heap.runtimeconfig.json +13 -0
- package/runtime/managed/insight-heap/Microsoft.Bcl.AsyncInterfaces.dll +0 -0
- package/runtime/managed/insight-heap/Microsoft.Diagnostics.NETCore.Client.dll +0 -0
- package/runtime/managed/insight-heap/Microsoft.Diagnostics.Runtime.dll +0 -0
- package/runtime/managed/insight-heap/Microsoft.Extensions.Configuration.Abstractions.dll +0 -0
- package/runtime/managed/insight-heap/Microsoft.Extensions.DependencyInjection.Abstractions.dll +0 -0
- package/runtime/managed/insight-heap/Microsoft.Extensions.Diagnostics.Abstractions.dll +0 -0
- package/runtime/managed/insight-heap/Microsoft.Extensions.FileProviders.Abstractions.dll +0 -0
- package/runtime/managed/insight-heap/Microsoft.Extensions.Hosting.Abstractions.dll +0 -0
- package/runtime/managed/insight-heap/Microsoft.Extensions.Logging.Abstractions.dll +0 -0
- package/runtime/managed/insight-heap/Microsoft.Extensions.Options.dll +0 -0
- package/runtime/managed/insight-heap/Microsoft.Extensions.Primitives.dll +0 -0
- package/runtime/managed/insight-heap/Microsoft.Identity.Client.Extensions.Msal.dll +0 -0
- package/runtime/managed/insight-heap/Microsoft.Identity.Client.dll +0 -0
- package/runtime/managed/insight-heap/Microsoft.IdentityModel.Abstractions.dll +0 -0
- package/runtime/managed/insight-heap/Microsoft.Security.AntiSSRF.dll +0 -0
- package/runtime/managed/insight-heap/NuGet.Config +1 -0
- package/runtime/managed/insight-heap/Program.cs +20 -0
- package/runtime/managed/insight-heap/README.md +16 -0
- package/runtime/managed/insight-heap/System.ClientModel.dll +0 -0
- package/runtime/managed/insight-heap/System.Memory.Data.dll +0 -0
- package/runtime/managed/insight-heap/System.Security.Cryptography.ProtectedData.dll +0 -0
- package/runtime/managed/insight-heap/dependencies.json +436 -0
- package/runtime/managed/insight-heap/notices/Azure.Core-LICENSE.txt +21 -0
- package/runtime/managed/insight-heap/notices/Azure.Identity-LICENSE.txt +21 -0
- package/runtime/managed/insight-heap/notices/Microsoft.Bcl.AsyncInterfaces-LICENSE.txt +23 -0
- package/runtime/managed/insight-heap/notices/Microsoft.Bcl.AsyncInterfaces-THIRD-PARTY-NOTICES.TXT +1418 -0
- package/runtime/managed/insight-heap/notices/Microsoft.Diagnostics.NETCore.Client-LICENSE.txt +23 -0
- package/runtime/managed/insight-heap/notices/Microsoft.Diagnostics.Runtime-LICENSE.txt +23 -0
- package/runtime/managed/insight-heap/notices/Microsoft.Extensions.Configuration.Abstractions-LICENSE.txt +23 -0
- package/runtime/managed/insight-heap/notices/Microsoft.Extensions.Configuration.Abstractions-THIRD-PARTY-NOTICES.TXT +1418 -0
- package/runtime/managed/insight-heap/notices/Microsoft.Extensions.DependencyInjection.Abstractions-LICENSE.txt +23 -0
- package/runtime/managed/insight-heap/notices/Microsoft.Extensions.DependencyInjection.Abstractions-THIRD-PARTY-NOTICES.TXT +1418 -0
- package/runtime/managed/insight-heap/notices/Microsoft.Extensions.Diagnostics.Abstractions-LICENSE.txt +23 -0
- package/runtime/managed/insight-heap/notices/Microsoft.Extensions.Diagnostics.Abstractions-THIRD-PARTY-NOTICES.TXT +1418 -0
- package/runtime/managed/insight-heap/notices/Microsoft.Extensions.FileProviders.Abstractions-LICENSE.txt +23 -0
- package/runtime/managed/insight-heap/notices/Microsoft.Extensions.FileProviders.Abstractions-THIRD-PARTY-NOTICES.TXT +1418 -0
- package/runtime/managed/insight-heap/notices/Microsoft.Extensions.Hosting.Abstractions-LICENSE.txt +23 -0
- package/runtime/managed/insight-heap/notices/Microsoft.Extensions.Hosting.Abstractions-THIRD-PARTY-NOTICES.TXT +1418 -0
- package/runtime/managed/insight-heap/notices/Microsoft.Extensions.Logging.Abstractions-LICENSE.txt +23 -0
- package/runtime/managed/insight-heap/notices/Microsoft.Extensions.Logging.Abstractions-THIRD-PARTY-NOTICES.TXT +1418 -0
- package/runtime/managed/insight-heap/notices/Microsoft.Extensions.Options-LICENSE.txt +23 -0
- package/runtime/managed/insight-heap/notices/Microsoft.Extensions.Options-THIRD-PARTY-NOTICES.TXT +1418 -0
- package/runtime/managed/insight-heap/notices/Microsoft.Extensions.Primitives-LICENSE.txt +23 -0
- package/runtime/managed/insight-heap/notices/Microsoft.Extensions.Primitives-THIRD-PARTY-NOTICES.TXT +1418 -0
- package/runtime/managed/insight-heap/notices/Microsoft.Identity.Client-LICENSE.txt +21 -0
- package/runtime/managed/insight-heap/notices/Microsoft.Identity.Client.Extensions.Msal-LICENSE.txt +21 -0
- package/runtime/managed/insight-heap/notices/Microsoft.IdentityModel.Abstractions-LICENSE.txt +21 -0
- package/runtime/managed/insight-heap/notices/Microsoft.Security.AntiSSRF-LICENSE.txt +21 -0
- package/runtime/managed/insight-heap/notices/System.ClientModel-LICENSE.txt +21 -0
- package/runtime/managed/insight-heap/notices/System.Memory.Data-LICENSE.txt +23 -0
- package/runtime/managed/insight-heap/notices/System.Memory.Data-THIRD-PARTY-NOTICES.TXT +1418 -0
- package/runtime/managed/insight-heap/notices/System.Security.Cryptography.ProtectedData-LICENSE.TXT +23 -0
- package/runtime/managed/insight-heap/notices/System.Security.Cryptography.ProtectedData-THIRD-PARTY-NOTICES.TXT +309 -0
- package/runtime/managed/insight-heap/packages.lock.json +165 -0
- package/runtime/managed/insight-heap/provenance.json +146 -0
- package/runtime/managed/insight-heap/runtimes/win/lib/netstandard2.0/System.Security.Cryptography.ProtectedData.dll +0 -0
- package/runtime/managed/insight-managed/Insight.Managed.csproj +4 -0
- package/runtime/managed/insight-managed/Insight.Managed.deps.json +41 -0
- package/runtime/managed/insight-managed/Insight.Managed.dll +0 -0
- package/runtime/managed/insight-managed/Insight.Managed.runtimeconfig.json +13 -0
- package/runtime/managed/insight-managed/LICENSE.dnlib.txt +20 -0
- package/runtime/managed/insight-managed/NuGet.Config +1 -0
- package/runtime/managed/insight-managed/Program.cs +31 -0
- package/runtime/managed/insight-managed/README.md +16 -0
- package/runtime/managed/insight-managed/dnlib.dll +0 -0
- package/runtime/managed/insight-managed/packages.lock.json +13 -0
- package/runtime/managed/insight-managed/provenance.json +40 -0
- package/runtime/native/binary/README.md +22 -0
- package/runtime/native/binary/dependencies.json +166 -0
- package/runtime/native/binary/helper.cpp +44 -0
- package/runtime/native/binary/insight-binary-darwin-arm64 +0 -0
- package/runtime/native/binary/notices/Catch2-3.12.0--Catch2-3.12.0__LICENSE.txt +23 -0
- package/runtime/native/binary/notices/LIEF-LICENSE.txt +202 -0
- package/runtime/native/binary/notices/LIEF-attribution.txt +37 -0
- package/runtime/native/binary/notices/Melkor_ELF_Fuzzer-ac2495b--elf_fuzzer-master__LICENSE.txt +674 -0
- package/runtime/native/binary/notices/expected-1.3.1--expected-1.3.1__COPYING +121 -0
- package/runtime/native/binary/notices/frozen-61dce5a--frozen-61dce5ae18ca59931e27675c468e64118aba8744__AUTHORS +3 -0
- package/runtime/native/binary/notices/frozen-61dce5a--frozen-61dce5ae18ca59931e27675c468e64118aba8744__LICENSE +202 -0
- package/runtime/native/binary/notices/json-LICENSE.MIT +21 -0
- package/runtime/native/binary/notices/mbedtls-4.0.0.r0.gec4044008d--LICENSE +553 -0
- package/runtime/native/binary/notices/mbedtls-4.0.0.r0.gec4044008d--framework__LICENSE +553 -0
- package/runtime/native/binary/notices/mbedtls-4.0.0.r0.gec4044008d--tf-psa-crypto__LICENSE +552 -0
- package/runtime/native/binary/notices/mbedtls-4.0.0.r0.gec4044008d--tf-psa-crypto__framework__LICENSE +553 -0
- package/runtime/native/binary/notices/nanobind-2.13.0.r18.g4db9ed3f--LICENSE +26 -0
- package/runtime/native/binary/notices/nanobind-2.13.0.r18.g4db9ed3f--ext__robin_map__LICENSE +21 -0
- package/runtime/native/binary/notices/span-LICENSE_1_0.txt +23 -0
- package/runtime/native/binary/notices/span-attribution.txt +11 -0
- package/runtime/native/binary/notices/spdlog-1.17.0--spdlog-1.17.0__LICENSE +25 -0
- package/runtime/native/binary/notices/utfcpp-4.0.9--utfcpp-4.0.9__LICENSE +23 -0
- package/runtime/native/binary/provenance.json +48 -0
- package/runtime/native/child-deadline-linux-x64 +0 -0
- package/runtime/native/child-deadline-linux.c +24 -0
- package/runtime/native/child-deadline-linux.provenance.json +17 -0
- package/runtime/native/deadline-alarm-darwin-universal.dylib +0 -0
- package/runtime/native/deadline-alarm.c +33 -0
- package/runtime/native/deadline-alarm.provenance.json +22 -0
- package/runtime/native/deadline-exec-darwin-arm64 +0 -0
- package/runtime/native/deadline-exec.c +24 -0
- package/runtime/native/deadline-exec.provenance.json +17 -0
- package/runtime/native/dnspy-extension/Bridge.cs +58 -0
- package/runtime/native/dnspy-extension/Insight.DnSpy.csproj +13 -0
- package/runtime/native/dnspy-extension/Insight.DnSpy.x.dll +0 -0
- package/runtime/native/dnspy-extension/NuGet.Config +1 -0
- package/runtime/native/dnspy-extension/UNICODE-LOADER.md +26 -0
- package/runtime/native/dnspy-extension/packages.lock.json +6 -0
- package/runtime/native/dnspy-extension/provenance.json +27 -0
- package/runtime/native/dnspy-extension/upstream-public-build.snk +0 -0
- package/runtime/native/dnspy-extension/vendor-files.json +4341 -0
- package/runtime/native/file-version.ps1 +7 -0
- package/runtime/native/insight-registry-win-x64.dll +0 -0
- package/runtime/native/mitmproxy/bridge.py +180 -0
- package/runtime/native/mitmproxy/notices.json +476 -0
- package/runtime/native/sources/detours-LICENSE.md +23 -0
- package/runtime/native/sources/detours-e4bfd6b.tar.gz +0 -0
- package/runtime/native/sources/detours-provenance.json +10 -0
- package/runtime/native/tshark-layout.json +2247 -0
- package/runtime/native/windows-job/DirectoryAlias.cs +24 -0
- package/runtime/native/windows-job/Insight.WindowsJob.csproj +1 -0
- package/runtime/native/windows-job/Insight.WindowsJob.dll +0 -0
- package/runtime/native/windows-job/NuGet.Config +1 -0
- package/runtime/native/windows-job/OwnedJob.cs +79 -0
- package/runtime/native/windows-job/RegistryRedirect.cs +45 -0
- package/runtime/native/windows-job/packages.lock.json +21 -0
- package/runtime/native/windows-job/provenance.json +16 -0
- package/runtime/native/windows-job/windows-job.ps1 +8 -0
- package/runtime/native/windows-registry.c +21 -0
- package/runtime/native/windows-registry.def +3 -0
- package/runtime/native/windows-registry.provenance.json +14 -0
- package/runtime/notices/diagnostics-10.0.750501.txt +23 -0
- package/runtime/tool-catalog.json +290 -0
- package/runtime/toolbox.json +1401 -0
- package/skill-bundle/insight-artifacts/SKILL.md +30 -0
- package/skill-bundle/insight-artifacts/references/agent-execution.md +36 -0
- package/skill-bundle/insight-artifacts/references/artifacts.md +52 -0
- package/skill-bundle/insight-binary/SKILL.md +46 -0
- package/skill-bundle/insight-binary/references/agent-execution.md +36 -0
- package/skill-bundle/insight-capture/SKILL.md +56 -0
- package/skill-bundle/insight-capture/references/agent-execution.md +36 -0
- package/skill-bundle/insight-cli/SKILL.md +42 -0
- package/skill-bundle/insight-cli/references/agent-execution.md +36 -0
- package/skill-bundle/insight-cli/references/agent-setup.md +61 -0
- package/skill-bundle/insight-die/SKILL.md +49 -0
- package/skill-bundle/insight-die/references/agent-execution.md +36 -0
- package/skill-bundle/insight-dnspy/SKILL.md +65 -0
- package/skill-bundle/insight-dnspy/references/agent-execution.md +36 -0
- package/skill-bundle/insight-dotnet-dump/SKILL.md +46 -0
- package/skill-bundle/insight-dotnet-dump/references/agent-execution.md +36 -0
- package/skill-bundle/insight-dotnet-stack/SKILL.md +39 -0
- package/skill-bundle/insight-dotnet-stack/references/agent-execution.md +36 -0
- package/skill-bundle/insight-dotnet-trace/SKILL.md +45 -0
- package/skill-bundle/insight-dotnet-trace/references/agent-execution.md +36 -0
- package/skill-bundle/insight-frida/SKILL.md +67 -0
- package/skill-bundle/insight-frida/references/agent-execution.md +36 -0
- package/skill-bundle/insight-ghidra/SKILL.md +91 -0
- package/skill-bundle/insight-ghidra/references/administration.md +34 -0
- package/skill-bundle/insight-ghidra/references/agent-execution.md +36 -0
- package/skill-bundle/insight-ghidra/references/archive.md +32 -0
- package/skill-bundle/insight-ghidra/references/artifacts.md +52 -0
- package/skill-bundle/insight-ghidra/references/debugger.md +62 -0
- package/skill-bundle/insight-ghidra/references/extensions-and-sync.md +124 -0
- package/skill-bundle/insight-ghidra/references/managed-runtime.md +157 -0
- package/skill-bundle/insight-ghidra/references/native-workflows.md +112 -0
- package/skill-bundle/insight-ghidra/references/query-semantics.md +96 -0
- package/skill-bundle/insight-ghidra/references/recovery.md +53 -0
- package/skill-bundle/insight-ghidra/references/research.md +101 -0
- package/skill-bundle/insight-ghidra/references/setup.md +50 -0
- package/skill-bundle/insight-ilspy/SKILL.md +45 -0
- package/skill-bundle/insight-ilspy/references/agent-execution.md +36 -0
- package/skill-bundle/insight-ilspy/references/ilspy.md +33 -0
- package/skill-bundle/insight-interop/SKILL.md +54 -0
- package/skill-bundle/insight-interop/references/agent-execution.md +36 -0
- package/skill-bundle/insight-lldb/SKILL.md +54 -0
- package/skill-bundle/insight-lldb/references/agent-execution.md +36 -0
- package/skill-bundle/insight-llvm/SKILL.md +56 -0
- package/skill-bundle/insight-llvm/references/agent-execution.md +36 -0
- package/skill-bundle/insight-managed-heap/SKILL.md +43 -0
- package/skill-bundle/insight-managed-heap/references/agent-execution.md +36 -0
- package/skill-bundle/insight-managed-metadata/SKILL.md +52 -0
- package/skill-bundle/insight-managed-metadata/references/agent-execution.md +36 -0
- package/skill-bundle/insight-mitmproxy/SKILL.md +62 -0
- package/skill-bundle/insight-mitmproxy/references/agent-execution.md +36 -0
- package/skill-bundle/insight-overview/SKILL.md +79 -0
- package/skill-bundle/insight-overview/references/agent-execution.md +36 -0
- package/skill-bundle/insight-procmon/SKILL.md +49 -0
- package/skill-bundle/insight-procmon/references/agent-execution.md +36 -0
- package/skill-bundle/insight-re/SKILL.md +121 -0
- package/skill-bundle/insight-re/references/agent-execution.md +36 -0
- package/skill-bundle/insight-re/references/artifacts.md +52 -0
- package/skill-bundle/insight-re/references/recovery.md +53 -0
- package/skill-bundle/insight-sevenzip/SKILL.md +42 -0
- package/skill-bundle/insight-sevenzip/references/agent-execution.md +36 -0
- package/skill-bundle/insight-strace/SKILL.md +46 -0
- package/skill-bundle/insight-strace/references/agent-execution.md +36 -0
- package/skill-bundle/insight-tshark/SKILL.md +49 -0
- package/skill-bundle/insight-tshark/references/agent-execution.md +36 -0
- package/skill-bundle/insight-windbg/SKILL.md +46 -0
- package/skill-bundle/insight-windbg/references/agent-execution.md +36 -0
- package/skill-bundle/manifest.json +32 -0
- package/skills/insight-artifacts/SKILL.md +30 -0
- package/skills/insight-artifacts/references/agent-execution.md +36 -0
- package/skills/insight-artifacts/references/artifacts.md +52 -0
- package/skills/insight-binary/SKILL.md +46 -0
- package/skills/insight-binary/references/agent-execution.md +36 -0
- package/skills/insight-capture/SKILL.md +56 -0
- package/skills/insight-capture/references/agent-execution.md +36 -0
- package/skills/insight-die/SKILL.md +49 -0
- package/skills/insight-die/references/agent-execution.md +36 -0
- package/skills/insight-dnspy/SKILL.md +65 -0
- package/skills/insight-dnspy/references/agent-execution.md +36 -0
- package/skills/insight-dotnet-dump/SKILL.md +46 -0
- package/skills/insight-dotnet-dump/references/agent-execution.md +36 -0
- package/skills/insight-dotnet-stack/SKILL.md +39 -0
- package/skills/insight-dotnet-stack/references/agent-execution.md +36 -0
- package/skills/insight-dotnet-trace/SKILL.md +45 -0
- package/skills/insight-dotnet-trace/references/agent-execution.md +36 -0
- package/skills/insight-frida/SKILL.md +67 -0
- package/skills/insight-frida/references/agent-execution.md +36 -0
- package/skills/insight-ghidra/SKILL.md +91 -0
- package/skills/insight-ghidra/references/administration.md +34 -0
- package/skills/insight-ghidra/references/agent-execution.md +36 -0
- package/skills/insight-ghidra/references/archive.md +32 -0
- package/skills/insight-ghidra/references/artifacts.md +52 -0
- package/skills/insight-ghidra/references/debugger.md +62 -0
- package/skills/insight-ghidra/references/extensions-and-sync.md +124 -0
- package/skills/insight-ghidra/references/managed-runtime.md +157 -0
- package/skills/insight-ghidra/references/native-workflows.md +112 -0
- package/skills/insight-ghidra/references/query-semantics.md +96 -0
- package/skills/insight-ghidra/references/recovery.md +53 -0
- package/skills/insight-ghidra/references/research.md +101 -0
- package/skills/insight-ghidra/references/setup.md +50 -0
- package/skills/insight-ilspy/SKILL.md +45 -0
- package/skills/insight-ilspy/references/agent-execution.md +36 -0
- package/skills/insight-ilspy/references/ilspy.md +33 -0
- package/skills/insight-interop/SKILL.md +54 -0
- package/skills/insight-interop/references/agent-execution.md +36 -0
- package/skills/insight-lldb/SKILL.md +54 -0
- package/skills/insight-lldb/references/agent-execution.md +36 -0
- package/skills/insight-llvm/SKILL.md +56 -0
- package/skills/insight-llvm/references/agent-execution.md +36 -0
- package/skills/insight-managed-heap/SKILL.md +43 -0
- package/skills/insight-managed-heap/references/agent-execution.md +36 -0
- package/skills/insight-managed-metadata/SKILL.md +52 -0
- package/skills/insight-managed-metadata/references/agent-execution.md +36 -0
- package/skills/insight-mitmproxy/SKILL.md +62 -0
- package/skills/insight-mitmproxy/references/agent-execution.md +36 -0
- package/skills/insight-overview/SKILL.md +79 -0
- package/skills/insight-overview/references/agent-execution.md +36 -0
- package/skills/insight-procmon/SKILL.md +49 -0
- package/skills/insight-procmon/references/agent-execution.md +36 -0
- package/skills/insight-re/SKILL.md +22 -9
- package/skills/insight-re/references/agent-execution.md +36 -0
- package/skills/insight-re/references/artifacts.md +52 -0
- package/skills/insight-re/references/recovery.md +53 -0
- package/skills/insight-sevenzip/SKILL.md +42 -0
- package/skills/insight-sevenzip/references/agent-execution.md +36 -0
- package/skills/insight-strace/SKILL.md +46 -0
- package/skills/insight-strace/references/agent-execution.md +36 -0
- package/skills/insight-tshark/SKILL.md +49 -0
- package/skills/insight-tshark/references/agent-execution.md +36 -0
- package/skills/insight-windbg/SKILL.md +46 -0
- package/skills/insight-windbg/references/agent-execution.md +36 -0
|
@@ -17,6 +17,15 @@ import ghidra.trace.model.memory.TraceMemoryState;
|
|
|
17
17
|
/** Save/restore trace databases independently of the program database and live execution. */
|
|
18
18
|
public class InsightTraceState extends GhidraScript {
|
|
19
19
|
static String string(JsonObject p,String key){return p.get(key).getAsString();}
|
|
20
|
+
static void activateAndWait(DebuggerTraceManagerService manager,ghidra.debug.api.tracemgr.DebuggerCoordinates coordinates)throws Exception{
|
|
21
|
+
var pending=new java.util.concurrent.atomic.AtomicReference<java.util.concurrent.CompletableFuture<Void>>();
|
|
22
|
+
Runnable activate=()->pending.set(manager.activateAndNotify(coordinates,DebuggerTraceManagerService.ActivationCause.USER));
|
|
23
|
+
if(SwingUtilities.isEventDispatchThread()){
|
|
24
|
+
activate.run();if(!pending.get().isDone())throw new IllegalStateException("Asynchronous trace navigation requires a background script");pending.get().join();
|
|
25
|
+
}else{SwingUtilities.invokeAndWait(activate);pending.get().get(30,java.util.concurrent.TimeUnit.SECONDS);}
|
|
26
|
+
if(manager.getCurrentTrace()!=coordinates.getTrace())throw new IllegalStateException("Trace selection did not settle");
|
|
27
|
+
}
|
|
28
|
+
|
|
20
29
|
static void bind(Trace trace,JsonObject p,boolean create){
|
|
21
30
|
var options=trace.getOptions("Insight");String target=options.getString("Target",null),context=options.getString("Context",null);
|
|
22
31
|
if(target==null&&context==null&&create){int tx=trace.startTransaction("Bind owned trace");try{
|
|
@@ -82,31 +91,31 @@ public class InsightTraceState extends GhidraScript {
|
|
|
82
91
|
var thread=manager.getCurrentThread();var object=thread==null?null:thread.getObject();
|
|
83
92
|
if(object==null){var candidates=manager.getCurrentTrace().getObjectManager().getAllObjects().filter(item->item.getSchema().getName().toString().equals("Process")).toList();
|
|
84
93
|
if(candidates.size()!=1)throw new IllegalStateException("Debugger process selection is ambiguous");object=candidates.get(0);}
|
|
85
|
-
|
|
86
|
-
if(SwingUtilities.isEventDispatchThread())focus.run();else SwingUtilities.invokeAndWait(focus);
|
|
94
|
+
activateAndWait(manager,manager.resolveObject(object));
|
|
87
95
|
println("INSIGHT_TRACE_STATE "+new Gson().toJson(Map.of("state","focused")));return;
|
|
88
96
|
}
|
|
89
97
|
if(operation.equals("restore")){
|
|
90
98
|
var folder=data.getRootFolder().getFolder("__insight_traces");if(folder==null)folder=data.getRootFolder().createFolder("__insight_traces");
|
|
91
99
|
for(var entry:p.getAsJsonArray("traces")){
|
|
92
100
|
var saved=entry.getAsJsonObject();String id=string(saved,"id");if(!id.matches("trace_[a-f0-9-]{36}"))throw new IllegalArgumentException();
|
|
93
|
-
|
|
94
|
-
if(
|
|
95
|
-
|
|
96
|
-
Trace trace=manager.openTrace(file,-1);bind(trace,p,false);
|
|
97
|
-
if(!id.equals(trace.getOptions("Insight").getString("Trace ID",null)))throw new IllegalArgumentException("Restored trace identity changed");
|
|
101
|
+
Trace trace=null;for(var existing:manager.getOpenTraces())if(id.equals(existing.getOptions("Insight").getString("Trace ID",null)))trace=existing;
|
|
102
|
+
if(trace==null){var file=folder.getFile(id);if(file==null)file=folder.createFile(id,Path.of(string(saved,"input")).toFile(),monitor);trace=manager.openTrace(file,-1);}
|
|
103
|
+
bind(trace,p,false);if(!id.equals(trace.getOptions("Insight").getString("Trace ID",null)))throw new IllegalArgumentException("Restored trace identity changed");
|
|
98
104
|
relocateMappings(trace,selected);
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
105
|
+
var coordinates=manager.resolveTrace(trace).snap(Long.parseLong(string(saved,"snap")));
|
|
106
|
+
if(saved.has("thread")){var thread=trace.getThreadManager().getThread(Long.parseLong(string(saved,"thread")));if(thread!=null)coordinates=coordinates.thread(thread);}
|
|
107
|
+
activateAndWait(manager,coordinates);
|
|
108
|
+
if(manager.getCurrentSnap()!=Long.parseLong(string(saved,"snap")))throw new IllegalStateException("Saved trace snap did not restore");
|
|
109
|
+
}
|
|
110
|
+
if(p.has("active"))for(var trace:manager.getOpenTraces())if(string(p,"active").equals(trace.getOptions("Insight").getString("Trace ID",null))){
|
|
111
|
+
activateAndWait(manager,manager.resolveTrace(trace));
|
|
103
112
|
}
|
|
104
113
|
println("INSIGHT_TRACE_STATE "+new Gson().toJson(Map.of("state","restored")));return;
|
|
105
114
|
}
|
|
106
115
|
if(operation.equals("select")){
|
|
107
116
|
String id=string(p,"id");for(var trace:manager.getOpenTraces()){
|
|
108
|
-
bind(trace,p,false);if(id.equals(trace.getOptions("Insight").getString("Trace ID",null))){
|
|
109
|
-
|
|
117
|
+
bind(trace,p,false);if(id.equals(trace.getOptions("Insight").getString("Trace ID",null))){
|
|
118
|
+
activateAndWait(manager,manager.resolveTrace(trace));
|
|
110
119
|
println("INSIGHT_TRACE_STATE "+new Gson().toJson(Map.of("state","selected","id",id)));return;}
|
|
111
120
|
}
|
|
112
121
|
throw new IllegalArgumentException("Trace not found");
|
|
@@ -114,15 +123,21 @@ public class InsightTraceState extends GhidraScript {
|
|
|
114
123
|
if(!operation.equals("checkpoint"))throw new IllegalArgumentException();
|
|
115
124
|
Path root=Path.of(string(p,"output")).toRealPath();List<Object> traces=new ArrayList<>();String active=null;
|
|
116
125
|
if(manager.getOpenTraces().size()>64)throw new IllegalArgumentException("Trace count exceeds 64");
|
|
126
|
+
long lockDeadline=System.nanoTime()+java.util.concurrent.TimeUnit.SECONDS.toNanos(10);
|
|
117
127
|
for(var trace:manager.getOpenTraces()){
|
|
118
128
|
bind(trace,p,false);String id=trace.getOptions("Insight").getString("Trace ID",null);if(id==null||!id.matches("trace_[a-f0-9-]{36}"))throw new IllegalArgumentException();
|
|
119
129
|
Path output=root.resolve(id+".gzf");if(Files.exists(output))throw new IllegalArgumentException();
|
|
130
|
+
while(!trace.lock("Insight consistent trace checkpoint")){
|
|
131
|
+
monitor.checkCancelled();if(System.nanoTime()>=lockDeadline)throw new IllegalStateException("Trace transaction did not release for checkpoint");Thread.sleep(25);
|
|
132
|
+
}
|
|
133
|
+
try{
|
|
120
134
|
var coordinates=manager.getCurrentFor(trace);trace.saveToPackedFile(output.toFile(),monitor);
|
|
121
135
|
Map<String,Object> row=new LinkedHashMap<>();row.put("id",id);row.put("name",trace.getName());row.put("snap",Long.toString(coordinates.getSnap()));
|
|
122
136
|
row.put("modules",trace.getModuleManager().getAllModules().size());row.put("threads",trace.getThreadManager().getAllThreads().size());
|
|
123
137
|
if(coordinates.getThread()!=null)row.put("thread",Long.toString(coordinates.getThread().getKey()));
|
|
124
138
|
var targets=selected.getService(DebuggerTargetService.class);var live=targets==null?null:targets.getTarget(trace);row.put("connected",live!=null&&live.isValid());
|
|
125
139
|
traces.add(row);if(manager.getCurrentTrace()==trace)active=id;
|
|
140
|
+
}finally{trace.unlock();}
|
|
126
141
|
}
|
|
127
142
|
Map<String,Object> result=new LinkedHashMap<>();result.put("traces",traces);if(active!=null)result.put("active",active);
|
|
128
143
|
println("INSIGHT_TRACE_STATE "+new Gson().toJson(result));
|
package/references/setup.md
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
# Setup
|
|
2
2
|
|
|
3
|
-
Use Node 24
|
|
4
|
-
|
|
3
|
+
Use Node 24+ and `ghidra install` to deliver Ghidra 12.1.2, JDK 21, native components and
|
|
4
|
+
server support. See [managed runtime](managed-runtime.md) for download/install/offline archives,
|
|
5
|
+
external executable paths, status/doctor and safe removal. Existing Factory profile `java` and
|
|
6
|
+
`ghidraHome` paths remain supported when no managed/external selection exists.
|
|
5
7
|
The package contains the verified GhidraMCP 7.0.0 bridge, its Apache-2.0 license/notice and
|
|
6
8
|
artifact provenance. Its pinned functionality catalog is from source
|
|
7
9
|
`57e37a8bf388b1279cff46378f85be1554548f61`, with SHA256
|
|
@@ -38,7 +40,8 @@ Native acceptance separates macOS GUI/LLDB workflows from selected headless Wind
|
|
|
38
40
|
SDK, Version Tracking and FID/BSim workflows. Native Windows/Linux debugger/GUI acceptance
|
|
39
41
|
remains deferred. The ordinary CI lane stays offline; disposable native CI is explicit.
|
|
40
42
|
|
|
41
|
-
|
|
43
|
+
On macOS 15+ ARM64, `ghidra install` delivers an owned LLDB/Python debugger backend;
|
|
44
|
+
OS debugger authorization remains required. Other host profiles need their supported debugger. Its
|
|
42
45
|
Ghidra Python dependencies are prepared from the installed SDK wheels into owned GUI storage.
|
|
43
46
|
`debuggerPython` optionally configures a Python-backed offer; `windbgDir` configures the Windows
|
|
44
47
|
debugger runtime directory when relevant. These are runtime profile settings, not research scope.
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<Project Sdk="Microsoft.NET.Sdk"><PropertyGroup><TargetFramework>net10.0</TargetFramework><OutputType>Exe</OutputType><UseAppHost>false</UseAppHost><AssemblyName>Insight.Heap</AssemblyName><Nullable>enable</Nullable><ImplicitUsings>enable</ImplicitUsings><Deterministic>true</Deterministic><DebugType>none</DebugType><RestorePackagesWithLockFile>true</RestorePackagesWithLockFile></PropertyGroup><ItemGroup><PackageReference Include="Microsoft.Diagnostics.Runtime" Version="4.2.751201" /></ItemGroup></Project>
|
|
@@ -0,0 +1,391 @@
|
|
|
1
|
+
{
|
|
2
|
+
"runtimeTarget": {
|
|
3
|
+
"name": ".NETCoreApp,Version=v10.0",
|
|
4
|
+
"signature": ""
|
|
5
|
+
},
|
|
6
|
+
"compilationOptions": {},
|
|
7
|
+
"targets": {
|
|
8
|
+
".NETCoreApp,Version=v10.0": {
|
|
9
|
+
"Insight.Heap/1.0.0": {
|
|
10
|
+
"dependencies": {
|
|
11
|
+
"Microsoft.Diagnostics.Runtime": "4.2.751201"
|
|
12
|
+
},
|
|
13
|
+
"runtime": {
|
|
14
|
+
"Insight.Heap.dll": {}
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
"Azure.Core/1.53.0": {
|
|
18
|
+
"dependencies": {
|
|
19
|
+
"Microsoft.Bcl.AsyncInterfaces": "10.0.3",
|
|
20
|
+
"Microsoft.Extensions.Configuration.Abstractions": "10.0.3",
|
|
21
|
+
"Microsoft.Extensions.Hosting.Abstractions": "10.0.3",
|
|
22
|
+
"Microsoft.Identity.Client": "4.83.1",
|
|
23
|
+
"Microsoft.Identity.Client.Extensions.Msal": "4.83.1",
|
|
24
|
+
"System.ClientModel": "1.10.0",
|
|
25
|
+
"System.Memory.Data": "10.0.3"
|
|
26
|
+
},
|
|
27
|
+
"runtime": {
|
|
28
|
+
"lib/net10.0/Azure.Core.dll": {
|
|
29
|
+
"assemblyVersion": "1.53.0.0",
|
|
30
|
+
"fileVersion": "1.5300.26.21006"
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
"Azure.Identity/1.21.0": {
|
|
35
|
+
"dependencies": {
|
|
36
|
+
"Azure.Core": "1.53.0"
|
|
37
|
+
},
|
|
38
|
+
"runtime": {
|
|
39
|
+
"lib/net10.0/Azure.Identity.dll": {
|
|
40
|
+
"assemblyVersion": "1.21.0.0",
|
|
41
|
+
"fileVersion": "1.2100.26.21009"
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
"Microsoft.Bcl.AsyncInterfaces/10.0.3": {
|
|
46
|
+
"runtime": {
|
|
47
|
+
"lib/netstandard2.1/Microsoft.Bcl.AsyncInterfaces.dll": {
|
|
48
|
+
"assemblyVersion": "10.0.0.3",
|
|
49
|
+
"fileVersion": "10.0.326.7603"
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
"Microsoft.Diagnostics.NETCore.Client/0.2.661903": {
|
|
54
|
+
"dependencies": {
|
|
55
|
+
"Microsoft.Extensions.Logging.Abstractions": "10.0.3"
|
|
56
|
+
},
|
|
57
|
+
"runtime": {
|
|
58
|
+
"lib/net8.0/Microsoft.Diagnostics.NETCore.Client.dll": {
|
|
59
|
+
"assemblyVersion": "0.2.13.11903",
|
|
60
|
+
"fileVersion": "0.2.13.11903"
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
"Microsoft.Diagnostics.Runtime/4.2.751201": {
|
|
65
|
+
"dependencies": {
|
|
66
|
+
"Azure.Identity": "1.21.0",
|
|
67
|
+
"Microsoft.Diagnostics.NETCore.Client": "0.2.661903",
|
|
68
|
+
"Microsoft.Security.AntiSSRF": "1.0.0"
|
|
69
|
+
},
|
|
70
|
+
"runtime": {
|
|
71
|
+
"lib/net10.0/Microsoft.Diagnostics.Runtime.dll": {
|
|
72
|
+
"assemblyVersion": "4.2.15.1201",
|
|
73
|
+
"fileVersion": "4.2.15.1201"
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
},
|
|
77
|
+
"Microsoft.Extensions.Configuration.Abstractions/10.0.3": {
|
|
78
|
+
"dependencies": {
|
|
79
|
+
"Microsoft.Extensions.Primitives": "10.0.3"
|
|
80
|
+
},
|
|
81
|
+
"runtime": {
|
|
82
|
+
"lib/net10.0/Microsoft.Extensions.Configuration.Abstractions.dll": {
|
|
83
|
+
"assemblyVersion": "10.0.0.0",
|
|
84
|
+
"fileVersion": "10.0.326.7603"
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
},
|
|
88
|
+
"Microsoft.Extensions.DependencyInjection.Abstractions/10.0.3": {
|
|
89
|
+
"runtime": {
|
|
90
|
+
"lib/net10.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {
|
|
91
|
+
"assemblyVersion": "10.0.0.0",
|
|
92
|
+
"fileVersion": "10.0.326.7603"
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
},
|
|
96
|
+
"Microsoft.Extensions.Diagnostics.Abstractions/10.0.3": {
|
|
97
|
+
"dependencies": {
|
|
98
|
+
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.3",
|
|
99
|
+
"Microsoft.Extensions.Options": "10.0.3"
|
|
100
|
+
},
|
|
101
|
+
"runtime": {
|
|
102
|
+
"lib/net10.0/Microsoft.Extensions.Diagnostics.Abstractions.dll": {
|
|
103
|
+
"assemblyVersion": "10.0.0.0",
|
|
104
|
+
"fileVersion": "10.0.326.7603"
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
},
|
|
108
|
+
"Microsoft.Extensions.FileProviders.Abstractions/10.0.3": {
|
|
109
|
+
"dependencies": {
|
|
110
|
+
"Microsoft.Extensions.Primitives": "10.0.3"
|
|
111
|
+
},
|
|
112
|
+
"runtime": {
|
|
113
|
+
"lib/net10.0/Microsoft.Extensions.FileProviders.Abstractions.dll": {
|
|
114
|
+
"assemblyVersion": "10.0.0.0",
|
|
115
|
+
"fileVersion": "10.0.326.7603"
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
},
|
|
119
|
+
"Microsoft.Extensions.Hosting.Abstractions/10.0.3": {
|
|
120
|
+
"dependencies": {
|
|
121
|
+
"Microsoft.Extensions.Configuration.Abstractions": "10.0.3",
|
|
122
|
+
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.3",
|
|
123
|
+
"Microsoft.Extensions.Diagnostics.Abstractions": "10.0.3",
|
|
124
|
+
"Microsoft.Extensions.FileProviders.Abstractions": "10.0.3",
|
|
125
|
+
"Microsoft.Extensions.Logging.Abstractions": "10.0.3"
|
|
126
|
+
},
|
|
127
|
+
"runtime": {
|
|
128
|
+
"lib/net10.0/Microsoft.Extensions.Hosting.Abstractions.dll": {
|
|
129
|
+
"assemblyVersion": "10.0.0.0",
|
|
130
|
+
"fileVersion": "10.0.326.7603"
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
},
|
|
134
|
+
"Microsoft.Extensions.Logging.Abstractions/10.0.3": {
|
|
135
|
+
"dependencies": {
|
|
136
|
+
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.3"
|
|
137
|
+
},
|
|
138
|
+
"runtime": {
|
|
139
|
+
"lib/net10.0/Microsoft.Extensions.Logging.Abstractions.dll": {
|
|
140
|
+
"assemblyVersion": "10.0.0.0",
|
|
141
|
+
"fileVersion": "10.0.326.7603"
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
},
|
|
145
|
+
"Microsoft.Extensions.Options/10.0.3": {
|
|
146
|
+
"dependencies": {
|
|
147
|
+
"Microsoft.Extensions.DependencyInjection.Abstractions": "10.0.3",
|
|
148
|
+
"Microsoft.Extensions.Primitives": "10.0.3"
|
|
149
|
+
},
|
|
150
|
+
"runtime": {
|
|
151
|
+
"lib/net10.0/Microsoft.Extensions.Options.dll": {
|
|
152
|
+
"assemblyVersion": "10.0.0.0",
|
|
153
|
+
"fileVersion": "10.0.326.7603"
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
},
|
|
157
|
+
"Microsoft.Extensions.Primitives/10.0.3": {
|
|
158
|
+
"runtime": {
|
|
159
|
+
"lib/net10.0/Microsoft.Extensions.Primitives.dll": {
|
|
160
|
+
"assemblyVersion": "10.0.0.0",
|
|
161
|
+
"fileVersion": "10.0.326.7603"
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
},
|
|
165
|
+
"Microsoft.Identity.Client/4.83.1": {
|
|
166
|
+
"dependencies": {
|
|
167
|
+
"Microsoft.IdentityModel.Abstractions": "8.14.0"
|
|
168
|
+
},
|
|
169
|
+
"runtime": {
|
|
170
|
+
"lib/net8.0/Microsoft.Identity.Client.dll": {
|
|
171
|
+
"assemblyVersion": "4.83.1.0",
|
|
172
|
+
"fileVersion": "4.83.1.0"
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
},
|
|
176
|
+
"Microsoft.Identity.Client.Extensions.Msal/4.83.1": {
|
|
177
|
+
"dependencies": {
|
|
178
|
+
"Microsoft.Identity.Client": "4.83.1",
|
|
179
|
+
"System.Security.Cryptography.ProtectedData": "4.5.0"
|
|
180
|
+
},
|
|
181
|
+
"runtime": {
|
|
182
|
+
"lib/net8.0/Microsoft.Identity.Client.Extensions.Msal.dll": {
|
|
183
|
+
"assemblyVersion": "4.83.1.0",
|
|
184
|
+
"fileVersion": "4.83.1.0"
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
},
|
|
188
|
+
"Microsoft.IdentityModel.Abstractions/8.14.0": {
|
|
189
|
+
"runtime": {
|
|
190
|
+
"lib/net9.0/Microsoft.IdentityModel.Abstractions.dll": {
|
|
191
|
+
"assemblyVersion": "8.14.0.0",
|
|
192
|
+
"fileVersion": "8.14.0.60815"
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
},
|
|
196
|
+
"Microsoft.Security.AntiSSRF/1.0.0": {
|
|
197
|
+
"runtime": {
|
|
198
|
+
"lib/net8.0/Microsoft.Security.AntiSSRF.dll": {
|
|
199
|
+
"assemblyVersion": "1.0.0.0",
|
|
200
|
+
"fileVersion": "1.0.0.0"
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
},
|
|
204
|
+
"System.ClientModel/1.10.0": {
|
|
205
|
+
"dependencies": {
|
|
206
|
+
"Microsoft.Extensions.Configuration.Abstractions": "10.0.3",
|
|
207
|
+
"Microsoft.Extensions.Hosting.Abstractions": "10.0.3",
|
|
208
|
+
"Microsoft.Extensions.Logging.Abstractions": "10.0.3",
|
|
209
|
+
"System.Memory.Data": "10.0.3"
|
|
210
|
+
},
|
|
211
|
+
"runtime": {
|
|
212
|
+
"lib/net10.0/System.ClientModel.dll": {
|
|
213
|
+
"assemblyVersion": "1.10.0.0",
|
|
214
|
+
"fileVersion": "1.1000.26.16607"
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
},
|
|
218
|
+
"System.Memory.Data/10.0.3": {
|
|
219
|
+
"runtime": {
|
|
220
|
+
"lib/net10.0/System.Memory.Data.dll": {
|
|
221
|
+
"assemblyVersion": "10.0.0.3",
|
|
222
|
+
"fileVersion": "10.0.326.7603"
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
},
|
|
226
|
+
"System.Security.Cryptography.ProtectedData/4.5.0": {
|
|
227
|
+
"runtime": {
|
|
228
|
+
"lib/netstandard2.0/System.Security.Cryptography.ProtectedData.dll": {
|
|
229
|
+
"assemblyVersion": "4.0.3.0",
|
|
230
|
+
"fileVersion": "4.6.26515.6"
|
|
231
|
+
}
|
|
232
|
+
},
|
|
233
|
+
"runtimeTargets": {
|
|
234
|
+
"runtimes/win/lib/netstandard2.0/System.Security.Cryptography.ProtectedData.dll": {
|
|
235
|
+
"rid": "win",
|
|
236
|
+
"assetType": "runtime",
|
|
237
|
+
"assemblyVersion": "4.0.3.0",
|
|
238
|
+
"fileVersion": "4.6.26515.6"
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
},
|
|
244
|
+
"libraries": {
|
|
245
|
+
"Insight.Heap/1.0.0": {
|
|
246
|
+
"type": "project",
|
|
247
|
+
"serviceable": false,
|
|
248
|
+
"sha512": ""
|
|
249
|
+
},
|
|
250
|
+
"Azure.Core/1.53.0": {
|
|
251
|
+
"type": "package",
|
|
252
|
+
"serviceable": true,
|
|
253
|
+
"sha512": "sha512-x9c/toFMOtRrlTdFuE7rlGCVAduQzWVfKmLz5juj41zJAXEhYD5hluiUyyAEzJ6OxpBnKtiaBztzwpZITAVjtg==",
|
|
254
|
+
"path": "azure.core/1.53.0",
|
|
255
|
+
"hashPath": "azure.core.1.53.0.nupkg.sha512"
|
|
256
|
+
},
|
|
257
|
+
"Azure.Identity/1.21.0": {
|
|
258
|
+
"type": "package",
|
|
259
|
+
"serviceable": true,
|
|
260
|
+
"sha512": "sha512-GeFv8sGwRKvDKwI2WFy8r0mhmlxEVZg24Sit2NogTjiSO8RVjllWM65OT6e1sKjOvG8V74y7hAbaELUUPjZQSw==",
|
|
261
|
+
"path": "azure.identity/1.21.0",
|
|
262
|
+
"hashPath": "azure.identity.1.21.0.nupkg.sha512"
|
|
263
|
+
},
|
|
264
|
+
"Microsoft.Bcl.AsyncInterfaces/10.0.3": {
|
|
265
|
+
"type": "package",
|
|
266
|
+
"serviceable": true,
|
|
267
|
+
"sha512": "sha512-TV62UsrJZPX6gbt3c4WrtXh7bmaDIcMqf9uft1cc4L6gJXOU07hDGEh+bFQh/L2Az0R1WVOkiT66lFqS6G2NmA==",
|
|
268
|
+
"path": "microsoft.bcl.asyncinterfaces/10.0.3",
|
|
269
|
+
"hashPath": "microsoft.bcl.asyncinterfaces.10.0.3.nupkg.sha512"
|
|
270
|
+
},
|
|
271
|
+
"Microsoft.Diagnostics.NETCore.Client/0.2.661903": {
|
|
272
|
+
"type": "package",
|
|
273
|
+
"serviceable": true,
|
|
274
|
+
"sha512": "sha512-3ISv5jXar4dHBt/7Rz3YdnR3VpnC94BhSdSvuq8ZuKgCOcVuTdmgRnq0hUzJyL/z8Ge4VekFjhui2aufUXPdvg==",
|
|
275
|
+
"path": "microsoft.diagnostics.netcore.client/0.2.661903",
|
|
276
|
+
"hashPath": "microsoft.diagnostics.netcore.client.0.2.661903.nupkg.sha512"
|
|
277
|
+
},
|
|
278
|
+
"Microsoft.Diagnostics.Runtime/4.2.751201": {
|
|
279
|
+
"type": "package",
|
|
280
|
+
"serviceable": true,
|
|
281
|
+
"sha512": "sha512-9rg4pJnc46e7QvUYC8Pxu5VqPJhKEO2ILGEZy1LOKrwurLC8iSAAzamDVLd/cYPb3zGbM9RE4Zo41Tis8OxCyA==",
|
|
282
|
+
"path": "microsoft.diagnostics.runtime/4.2.751201",
|
|
283
|
+
"hashPath": "microsoft.diagnostics.runtime.4.2.751201.nupkg.sha512"
|
|
284
|
+
},
|
|
285
|
+
"Microsoft.Extensions.Configuration.Abstractions/10.0.3": {
|
|
286
|
+
"type": "package",
|
|
287
|
+
"serviceable": true,
|
|
288
|
+
"sha512": "sha512-xVDHL0+SIgemfh95fTO9cGLe17TWv/ZP0n7m01z8X6pzt2DmQpucioWR/mYZA1sRlkWnkXzfl0JweLNWmE9WMg==",
|
|
289
|
+
"path": "microsoft.extensions.configuration.abstractions/10.0.3",
|
|
290
|
+
"hashPath": "microsoft.extensions.configuration.abstractions.10.0.3.nupkg.sha512"
|
|
291
|
+
},
|
|
292
|
+
"Microsoft.Extensions.DependencyInjection.Abstractions/10.0.3": {
|
|
293
|
+
"type": "package",
|
|
294
|
+
"serviceable": true,
|
|
295
|
+
"sha512": "sha512-bwGMrRcAMWx2s/RDgja97p27rxSz2pEQW0+rX5cWAUWVETVJ/eyxGfjAl8vuG5a+lckWmPIE+vcuaZNVB5YDdw==",
|
|
296
|
+
"path": "microsoft.extensions.dependencyinjection.abstractions/10.0.3",
|
|
297
|
+
"hashPath": "microsoft.extensions.dependencyinjection.abstractions.10.0.3.nupkg.sha512"
|
|
298
|
+
},
|
|
299
|
+
"Microsoft.Extensions.Diagnostics.Abstractions/10.0.3": {
|
|
300
|
+
"type": "package",
|
|
301
|
+
"serviceable": true,
|
|
302
|
+
"sha512": "sha512-mQiTzAj7PIJ2A9YXR5QhgulS1fTWhmQc3ckd1Mrf3hKW07d03fBDqx8vVaFw+cRTebDOeB6pNqdWdnRxsi1hBA==",
|
|
303
|
+
"path": "microsoft.extensions.diagnostics.abstractions/10.0.3",
|
|
304
|
+
"hashPath": "microsoft.extensions.diagnostics.abstractions.10.0.3.nupkg.sha512"
|
|
305
|
+
},
|
|
306
|
+
"Microsoft.Extensions.FileProviders.Abstractions/10.0.3": {
|
|
307
|
+
"type": "package",
|
|
308
|
+
"serviceable": true,
|
|
309
|
+
"sha512": "sha512-4TD9AXDRsipTmaemwnjt/DM5Ri0de2JzHQhvZ4woBTjUtL4XrPNsMrOk5oiLJAx1gTrE6pOIhxv+lEde5F6CZA==",
|
|
310
|
+
"path": "microsoft.extensions.fileproviders.abstractions/10.0.3",
|
|
311
|
+
"hashPath": "microsoft.extensions.fileproviders.abstractions.10.0.3.nupkg.sha512"
|
|
312
|
+
},
|
|
313
|
+
"Microsoft.Extensions.Hosting.Abstractions/10.0.3": {
|
|
314
|
+
"type": "package",
|
|
315
|
+
"serviceable": true,
|
|
316
|
+
"sha512": "sha512-GdMpC10Jf6poxSvUJ4lgYpJ5F/kJeaAoJmrPufjBoPYyCTKKY5Dyl0rZA+LBNvFqTq1cZa/lhlptlUhNvU6xrg==",
|
|
317
|
+
"path": "microsoft.extensions.hosting.abstractions/10.0.3",
|
|
318
|
+
"hashPath": "microsoft.extensions.hosting.abstractions.10.0.3.nupkg.sha512"
|
|
319
|
+
},
|
|
320
|
+
"Microsoft.Extensions.Logging.Abstractions/10.0.3": {
|
|
321
|
+
"type": "package",
|
|
322
|
+
"serviceable": true,
|
|
323
|
+
"sha512": "sha512-lxl0WLk7ROgBFAsjcOYjQ8/DVK+VMszxGBzUhgtQmAsTNldLL5pk9NG/cWTsXHq0lUhUEAtZkEE7jOGOA8bGKQ==",
|
|
324
|
+
"path": "microsoft.extensions.logging.abstractions/10.0.3",
|
|
325
|
+
"hashPath": "microsoft.extensions.logging.abstractions.10.0.3.nupkg.sha512"
|
|
326
|
+
},
|
|
327
|
+
"Microsoft.Extensions.Options/10.0.3": {
|
|
328
|
+
"type": "package",
|
|
329
|
+
"serviceable": true,
|
|
330
|
+
"sha512": "sha512-hU6WzGTPvPoLA2ng1ILvWQb3g0qORdlHNsxI8IcPLumJb3suimYUl+bbDzdo1V4KFsvVhnMWzysHpKbZaoDQPQ==",
|
|
331
|
+
"path": "microsoft.extensions.options/10.0.3",
|
|
332
|
+
"hashPath": "microsoft.extensions.options.10.0.3.nupkg.sha512"
|
|
333
|
+
},
|
|
334
|
+
"Microsoft.Extensions.Primitives/10.0.3": {
|
|
335
|
+
"type": "package",
|
|
336
|
+
"serviceable": true,
|
|
337
|
+
"sha512": "sha512-GEcpTwo7sUoLGGNTqV1FZEuL+tTD9m81NX/mh099dqGNna07/UGZShKQNZRw4hv6nlliSUwYQgSYc7OR99Jufg==",
|
|
338
|
+
"path": "microsoft.extensions.primitives/10.0.3",
|
|
339
|
+
"hashPath": "microsoft.extensions.primitives.10.0.3.nupkg.sha512"
|
|
340
|
+
},
|
|
341
|
+
"Microsoft.Identity.Client/4.83.1": {
|
|
342
|
+
"type": "package",
|
|
343
|
+
"serviceable": true,
|
|
344
|
+
"sha512": "sha512-jOLIrZ3cynoqHLLO1cXplFFabrhrMEYs/EuKHvmCyrOm1axqiVFT6nCSnHxk7w5+d2BeQfCdM12Yf/0X7OeS1g==",
|
|
345
|
+
"path": "microsoft.identity.client/4.83.1",
|
|
346
|
+
"hashPath": "microsoft.identity.client.4.83.1.nupkg.sha512"
|
|
347
|
+
},
|
|
348
|
+
"Microsoft.Identity.Client.Extensions.Msal/4.83.1": {
|
|
349
|
+
"type": "package",
|
|
350
|
+
"serviceable": true,
|
|
351
|
+
"sha512": "sha512-I3k4J4Hj4KbLEFanjeUzzDOVecukETaTgEkJ7h2pP/Yazs6SLp6TVUTo/Eo+ptPXMwvc+iX7rBFtMSUrA7R+Mg==",
|
|
352
|
+
"path": "microsoft.identity.client.extensions.msal/4.83.1",
|
|
353
|
+
"hashPath": "microsoft.identity.client.extensions.msal.4.83.1.nupkg.sha512"
|
|
354
|
+
},
|
|
355
|
+
"Microsoft.IdentityModel.Abstractions/8.14.0": {
|
|
356
|
+
"type": "package",
|
|
357
|
+
"serviceable": true,
|
|
358
|
+
"sha512": "sha512-iwbCpSjD3ehfTwBhtSNEtKPK0ICun6ov7Ibx6ISNA9bfwIyzI2Siwyi9eJFCJBwxowK9xcA1mj+jBWiigeqgcQ==",
|
|
359
|
+
"path": "microsoft.identitymodel.abstractions/8.14.0",
|
|
360
|
+
"hashPath": "microsoft.identitymodel.abstractions.8.14.0.nupkg.sha512"
|
|
361
|
+
},
|
|
362
|
+
"Microsoft.Security.AntiSSRF/1.0.0": {
|
|
363
|
+
"type": "package",
|
|
364
|
+
"serviceable": true,
|
|
365
|
+
"sha512": "sha512-V0AJQt8FC5HXkvFhBqB0WgMADVL+vG+qiMK9p39OHdqfNwYOh1durk8j9rKPklWasBxpk8ifVdzoJmEgUWVoeg==",
|
|
366
|
+
"path": "microsoft.security.antissrf/1.0.0",
|
|
367
|
+
"hashPath": "microsoft.security.antissrf.1.0.0.nupkg.sha512"
|
|
368
|
+
},
|
|
369
|
+
"System.ClientModel/1.10.0": {
|
|
370
|
+
"type": "package",
|
|
371
|
+
"serviceable": true,
|
|
372
|
+
"sha512": "sha512-lBEWs54F5Y5pZ9hC+8z4S/X76957ex+DPk7WecRHlbIHtrPfbRMMlOgI3iDn4Jpb3bSxvBnKaaHoD59auFjlBA==",
|
|
373
|
+
"path": "system.clientmodel/1.10.0",
|
|
374
|
+
"hashPath": "system.clientmodel.1.10.0.nupkg.sha512"
|
|
375
|
+
},
|
|
376
|
+
"System.Memory.Data/10.0.3": {
|
|
377
|
+
"type": "package",
|
|
378
|
+
"serviceable": true,
|
|
379
|
+
"sha512": "sha512-MaGhRfGunmrj/nHjtsi9XkhlYJ/ERGWrbA+BiSKNtGnAjc9XlG5EhAvak6VRcX5LYzPF6pBO8nJ613dTgzabig==",
|
|
380
|
+
"path": "system.memory.data/10.0.3",
|
|
381
|
+
"hashPath": "system.memory.data.10.0.3.nupkg.sha512"
|
|
382
|
+
},
|
|
383
|
+
"System.Security.Cryptography.ProtectedData/4.5.0": {
|
|
384
|
+
"type": "package",
|
|
385
|
+
"serviceable": true,
|
|
386
|
+
"sha512": "sha512-wLBKzFnDCxP12VL9ANydSYhk59fC4cvOr9ypYQLPnAj48NQIhqnjdD2yhP8yEKyBJEjERWS9DisKL7rX5eU25Q==",
|
|
387
|
+
"path": "system.security.cryptography.protecteddata/4.5.0",
|
|
388
|
+
"hashPath": "system.security.cryptography.protecteddata.4.5.0.nupkg.sha512"
|
|
389
|
+
}
|
|
390
|
+
}
|
|
391
|
+
}
|
|
Binary file
|
|
@@ -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
|
+
}
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/runtime/managed/insight-heap/Microsoft.Extensions.DependencyInjection.Abstractions.dll
ADDED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -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,20 @@
|
|
|
1
|
+
// MIT first-party bounded offline ClrMD queries. No attachment or expression evaluation.
|
|
2
|
+
using Microsoft.Diagnostics.Runtime;
|
|
3
|
+
using System.Collections.Immutable;
|
|
4
|
+
using System.Runtime.InteropServices;
|
|
5
|
+
using System.Text.Json;
|
|
6
|
+
using System.Text.Json.Serialization;
|
|
7
|
+
sealed class Plan {public int Schema{get;set;}public string Input{get;set;}="";public string Dac{get;set;}="";public string View{get;set;}="overview";public string? Type{get;set;}public string? Address{get;set;}public uint? Thread{get;set;}public int Runtime{get;set;}public int Limit{get;set;}=50;public int Offset{get;set;}public int MaxObjects{get;set;}=1000000;}
|
|
8
|
+
sealed class NoFiles:IFileLocator {public string? FindPEImage(string f,int t,int s,bool c)=>null;public string? FindPEImage(string f,SymbolProperties p,ImmutableArray<byte>b,OSPlatform o,bool c)=>null;}
|
|
9
|
+
static class Program {
|
|
10
|
+
static readonly JsonSerializerOptions Json=new(){PropertyNamingPolicy=JsonNamingPolicy.CamelCase,DefaultIgnoreCondition=JsonIgnoreCondition.WhenWritingNull};
|
|
11
|
+
static string Address(ulong address)=>"0x"+address.ToString("x");
|
|
12
|
+
static object Field(ClrObject obj,ClrInstanceField field){try{object? value=field.ElementType switch{ClrElementType.Boolean=>obj.ReadField<bool>(field),ClrElementType.Char=>obj.ReadField<char>(field).ToString(),ClrElementType.Int8=>obj.ReadField<sbyte>(field),ClrElementType.UInt8=>obj.ReadField<byte>(field),ClrElementType.Int16=>obj.ReadField<short>(field),ClrElementType.UInt16=>obj.ReadField<ushort>(field),ClrElementType.Int32=>obj.ReadField<int>(field),ClrElementType.UInt32=>obj.ReadField<uint>(field),ClrElementType.Int64=>obj.ReadField<long>(field).ToString(System.Globalization.CultureInfo.InvariantCulture),ClrElementType.UInt64=>obj.ReadField<ulong>(field).ToString(System.Globalization.CultureInfo.InvariantCulture),ClrElementType.Float=>obj.ReadField<float>(field).ToString(System.Globalization.CultureInfo.InvariantCulture),ClrElementType.Double=>obj.ReadField<double>(field).ToString(System.Globalization.CultureInfo.InvariantCulture),ClrElementType.String=>obj.ReadStringField(field,257),_=>field.IsObjectReference?Address(obj.ReadObjectField(field).Address):null};bool truncated=value is string str&&field.ElementType==ClrElementType.String&&str.Length>256;if(truncated)value=((string)value!)[..256];return new{name=field.Name,type=field.Type?.Name,kind=field.ElementType.ToString(),value,available=value is not null,truncated};}catch(Exception error){return new{name=field.Name,type=field.Type?.Name,kind=field.ElementType.ToString(),available=false,error=error.Message};}}
|
|
13
|
+
static object Query(Plan p){using var target=DataTarget.LoadDump(p.Input,new DataTargetOptions{FileLocator=new NoFiles(),SymbolPaths=[]});if(p.Runtime<0||p.Runtime>=target.ClrVersions.Length)throw new InvalidOperationException("No selected CLR runtime in this dump");var info=target.ClrVersions[p.Runtime];using var runtime=info.CreateRuntime(p.Dac,false);var heap=runtime.Heap;object observation;bool complete=true;string? reason=null;
|
|
14
|
+
if(p.View=="overview"){observation=new{architecture=target.DataReader.Architecture.ToString(),pointerSize=target.DataReader.PointerSize,runtime=info.Version.ToString(),flavor=info.Flavor.ToString(),runtimeIndex=p.Runtime,availableRuntimes=target.ClrVersions.Select((c,n)=>new{index=n,version=c.Version.ToString(),flavor=c.Flavor.ToString()}).ToArray(),canWalkHeap=heap.CanWalkHeap,threads=runtime.Threads.Length};}
|
|
15
|
+
else if(p.View=="objects"){if(!heap.CanWalkHeap)throw new InvalidOperationException("Heap cannot be walked in this dump; capture a compatible Heap or Full dump");var items=new List<object>();int scanned=0,matching=0;foreach(var obj in heap.EnumerateObjects()){if(scanned>=p.MaxObjects){complete=false;reason="object_scan_bound";break;}scanned++;if(obj.IsFree||!obj.IsValid||p.Type is not null&&obj.Type?.Name!=p.Type)continue;if(matching>=p.Offset&&items.Count<p.Limit)items.Add(new{address=Address(obj.Address),type=obj.Type?.Name,size=obj.Size.ToString()});matching++;}observation=new{items,scannedObjects=scanned,matchingInScannedPrefix=matching,limit=p.Limit,offset=p.Offset,truncated=p.Offset+p.Limit<matching,maxObjects=p.MaxObjects};}
|
|
16
|
+
else if(p.View=="object"){var obj=heap.GetObject(Convert.ToUInt64(p.Address![2..],16));if(!obj.IsValid||obj.IsFree||obj.Type is null)throw new InvalidOperationException("Address is not a readable managed object in this exact dump");if(p.Type is not null&&p.Type!=obj.Type.Name)throw new InvalidOperationException("Object type differs from the explicit expected type");observation=new{address=Address(obj.Address),type=obj.Type.Name,size=obj.Size.ToString(),fields=obj.Type.Fields.Skip(p.Offset).Take(p.Limit).Select(f=>Field(obj,f)).ToArray(),totalFields=obj.Type.Fields.Length,limit=p.Limit,offset=p.Offset,truncated=p.Offset+p.Limit<obj.Type.Fields.Length};}
|
|
17
|
+
else if(p.View=="stacks"){var threads=runtime.Threads.Where(t=>!p.Thread.HasValue||t.OSThreadId==p.Thread).ToArray();var rows=threads.Skip(p.Offset).Take(p.Limit).Select(t=>{var frames=t.EnumerateStackTrace(false,129).ToArray();if(frames.Length>128){complete=false;reason="stack_frame_bound";}return new{osThreadId=t.OSThreadId,managedThreadId=t.ManagedThreadId,isAlive=t.IsAlive,frames=frames.Take(128).Select(s=>new{instructionPointer=Address(s.InstructionPointer),stackPointer=Address(s.StackPointer),method=s.Method?.Signature,kind=s.Kind.ToString()}).ToArray(),truncated=frames.Length>128};}).ToArray();if(p.Thread.HasValue&&threads.Length==0)throw new InvalidOperationException("Selected OS thread was not found");observation=new{items=rows,total=threads.Length,limit=p.Limit,offset=p.Offset,truncated=p.Offset+p.Limit<threads.Length};}
|
|
18
|
+
else throw new InvalidOperationException("Unknown offline dump view");return new{state=complete?"completed":"partial",complete,reason,view=p.View,observation,scope="One immutable dump and explicitly selected matching native DAC. No live attachment, automatic file/symbol download or expression evaluation. Unreadable fields remain unknown; addresses belong only to this dump. A bounded prefix cannot establish global absence."};}
|
|
19
|
+
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)||!Path.IsPathFullyQualified(p.Dac)||p.Limit<1||p.Limit>500||p.Offset<0||p.MaxObjects<1||p.MaxObjects>1000000)throw new InvalidOperationException("Invalid dump query bounds");Console.WriteLine(JsonSerializer.Serialize(Query(p),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;}}
|
|
20
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# First-party structured managed heap capability
|
|
2
|
+
|
|
3
|
+
ClrMD 4.2.751201 and its locked dependency closure are implementation libraries behind
|
|
4
|
+
`dotnet-dump query`, not new applications. Consumers reuse a private .NET 10 runtime and
|
|
5
|
+
an explicitly matching native CoreCLR DAC; no SDK is required. No live attachment,
|
|
6
|
+
expression evaluation, automatic file lookup or symbol server is enabled.
|
|
7
|
+
|
|
8
|
+
`dependencies.json` records all exact original package SHA256/content hashes, source
|
|
9
|
+
commits and full retained license notices. Microsoft authentication libraries are
|
|
10
|
+
upstream transitive dependencies; this helper never creates credentials or symbol
|
|
11
|
+
server clients. The no-files locator returns no external image or downloaded symbol.
|
|
12
|
+
|
|
13
|
+
The maintainer builder compiles twice in independent temporary directories with SDK
|
|
14
|
+
10.0.303, locked restore and canonical source paths, compares every shipped output,
|
|
15
|
+
and records source, notices and binary hashes. Parsing runs under the common owned
|
|
16
|
+
process deadline. Heap scan, field, string, stack and output bounds remain explicit.
|
|
Binary file
|
|
Binary file
|