Install `libxcb-cursor0` in REMnux, as otherwise IDA >=9.2 fails with:
```
remnux@remnux:~$ /home/remnux/ida-pro-9.3/ida
qt.qpa.plugin: From 6.5.0, xcb-cursor0 or libxcb-cursor0 is needed to load the Qt xcb platform plugin.
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
```
* added mailing list CTA
* added mailto: link to simplify subscribing to mailing list
* fixed missing bracket in mailing list hyperlink
---------
Co-authored-by: Matt Haigh <[email protected]>
Add note about IDA Pro installer (and optionally license file) needing to be on Desktop before running install script in order for `idapro.vm` to successfully install.
A new window will automatically check for preinstall checks, which
will allow the user to continue if the checks are not mandatory.
Two new global variables `$mandatoryChecksPassed` and `$checksPassed` are created
to determine if any of the mandatory or optional checks are passed or not.
If the mandatory checks are not passed the installation will display a message that
cannot continue..
New functions have been created for each of the preinstall checks.
Each function contains a try/catch to capture exceptions
Both in cli or gui mode the same functions must be invoked.
Install gui window is displayed inmediatelly before Boxstarter is installed
Preload gui controls of the custom configuration window
Add a checkbox in case some non-mandatory checks are not successful
Add a second checkbox to confirm a snapshot has been taken
Only display the first checkbox if some checks were not succesful
Support that the `vbox-clean-snapshots` binary is in the same directory
as the script (not necessarily in the current directory). This supports
downloading a ZIP with `vbox-clean-snapshots` and ` install.sh`, unzip
it in a directory, and executing `install.sh` without entering the
directory.
When running as a PyInstaller bundle, the bootloader sets the
`LD_LIBRARY_PATH` environment variable to point to its temporary
directory. This can force `VBoxManage` to use the wrong libraries,
causing it to fail.
This change creates a clean environment for the `VBoxManage` subprocess.
It restores the original `LD_LIBRARY_PATH` (if available) or removes
it, ensuring `VBoxManage` can find and use the correct system libraries.
This commit introduces a new GitHub Actions workflow (`build-vbox.yaml`)
to automate the building and releasing of the VirtualBox helper scripts.
The workflow triggers automatically when a new tag prefixed with `vbox-`
is pushed, and can also be triggered manually for testing. It builds
standalone Linux executables for `vbox-adapter-check.py` and
`vbox-clean-snapshots.py` using PyInstaller. As `vbox-adapter-check.py`
uses GObject Introspection, the `vbox-adapter-check` executable is only
compatible with Linux desktop environments using the GTK toolkit, such
as GNOME. The generated binaries are then bundled into a `vbox.zip`
archive and attached to the corresponding GitHub release. An explanatory
message is included in the release body to prevent FLARE-VM users from
confusing these script releases with main FLARE-VM project releases.
Run `sync` to ensure files are written to persistent storage as the
script shut down the VM abruptly and causes issues like broken shortcuts
and incomplete cleanups. `sync` is installed by sysinternals.