Add setup bootstrapper (setup.ps1) and SETUP.md dependency guide - #3
Open
memoryforensics1 wants to merge 1 commit into
Open
Add setup bootstrapper (setup.ps1) and SETUP.md dependency guide#3memoryforensics1 wants to merge 1 commit into
memoryforensics1 wants to merge 1 commit into
Conversation
Automate every prerequisite that can be automated on a fresh machine, and clearly report the ones that cannot be bundled. scripts/setup.ps1 (idempotent, non-destructive; -CheckOnly for diagnose-only): - Verifies the .NET 8 SDK and restores + builds the server (NuGet is the only truly bundled dependency). - Installs frida-tools on the host via pip (the frida/frida-ps CLIs umd_frida* shells out to). - Downloads the version-matched frida-server.exe for the guest into guest-tools\ and decompresses the .xz via Python's lzma. - Detects vmrun (VMware), cdb.exe (WDK debuggers), and reminds about guest-side dbgsrv/TTD; creates appsettings.json from the example. - Ends with a doctor summary table; non-zero exit only on blocking prereqs. SETUP.md documents what's bundled vs. what the user must provide, host vs. guest components, and the script's flags. README gains a setup pointer. guest-tools/ is git-ignored (downloaded binaries). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Answers the recurring "does installing on a new machine pull in Frida and everything?" question: no — only the NuGet layer is self-installing. This PR automates everything that can be automated and documents the rest.
New:
scripts/setup.ps1A one-shot, idempotent, non-destructive bootstrapper / health-check.
-CheckOnlydiagnoses without changing anything.dotnet build -c Release, which restores the NuGet packages (the only truly bundled dependency).pip install --user frida-tools(thefrida/frida-psCLIsumd_frida*shells out to).frida-server.exefrom GitHub releases intoguest-tools\and decompresses the.xzusing Python'slzma. Transfer it toC:\Tools\frida-server.exein the VM withguest_transfer_to_vm.New:
SETUP.mdFull breakdown of bundled vs. bring-your-own, host vs. guest components (with the exact guest paths the server expects), and every
setup.ps1flag.Other
README.md: setup pointer above Clone & Build..gitignore: ignoreguest-tools/(downloaded binaries).What is not bundled (and can't be)
VMware
vmrun, WDKcdb.exe, and the guest-side agents (frida-server.exe,dbgsrv.exe,TTD.exe) are third-party / must live inside the VM. The script installs frida-tools + stages frida-server, and reports the rest with actionable hints.Testing
Verified on this machine (Win11, .NET 8, Python 3.12, frida 16.5.9):
setup.ps1 -CheckOnly— parses and reports correctly.setup.ps1 -SkipBuild— installed/confirmed frida-tools and downloaded + decompressedfrida-server.exe(66 MB) intoguest-tools\; createdappsettings.json; summary reported "All checks passed."🤖 Generated with Claude Code