remove old backstage injection and remove all legacy code
This commit is contained in:
@@ -13,7 +13,6 @@ set "CRATE_DIR=%ROOT%BackstageInjection-Rust"
|
||||
set "OUT_DIR=%ROOT%Overlord-Server\dist-clients"
|
||||
set "TARGET=x86_64-pc-windows-gnu"
|
||||
set "DLL_NAME=BackstageInjection.x64.dll"
|
||||
set "LEGACY_DLL_NAME=BackstageInjection.legacy.x64.dll"
|
||||
|
||||
where cargo >nul 2>&1
|
||||
if %ERRORLEVEL% neq 0 (
|
||||
@@ -24,7 +23,6 @@ if %ERRORLEVEL% neq 0 (
|
||||
if not exist "%OUT_DIR%" mkdir "%OUT_DIR%"
|
||||
|
||||
echo Building randomized BackstageInjection DLL for %TARGET% ...
|
||||
set "BACKSTAGE_LOADER_EXPORT="
|
||||
set "BACKSTAGE_LOADER_SEED=%RANDOM%%RANDOM%%RANDOM%"
|
||||
cargo build --release --target %TARGET% --manifest-path "%CRATE_DIR%\Cargo.toml"
|
||||
if %ERRORLEVEL% neq 0 goto :error
|
||||
@@ -35,20 +33,11 @@ if not exist "%SRC_DLL%" goto :error
|
||||
copy /y "%SRC_DLL%" "%OUT_DIR%\%DLL_NAME%" >nul
|
||||
if %ERRORLEVEL% neq 0 goto :error
|
||||
|
||||
echo Building legacy BackstageInjection DLL for %TARGET% ...
|
||||
set "BACKSTAGE_LOADER_SEED="
|
||||
set "BACKSTAGE_LOADER_EXPORT=ReflectiveLoader"
|
||||
cargo build --release --target %TARGET% --manifest-path "%CRATE_DIR%\Cargo.toml"
|
||||
if %ERRORLEVEL% neq 0 goto :error
|
||||
copy /y "%SRC_DLL%" "%OUT_DIR%\%LEGACY_DLL_NAME%" >nul
|
||||
if %ERRORLEVEL% neq 0 goto :error
|
||||
|
||||
echo.
|
||||
echo Built: %OUT_DIR%\%DLL_NAME%
|
||||
echo Built: %OUT_DIR%\%LEGACY_DLL_NAME%
|
||||
exit /b 0
|
||||
|
||||
:error
|
||||
echo.
|
||||
echo BUILD FAILED
|
||||
exit /b 1
|
||||
exit /b 1
|
||||
@@ -16,7 +16,6 @@ CRATE_DIR="${BACKSTAGE_CRATE_DIR:-BackstageInjection-Rust}"
|
||||
OUT_DIR="${BACKSTAGE_OUT_DIR:-Overlord-Server/dist-clients}"
|
||||
TARGET="x86_64-pc-windows-gnu"
|
||||
DLL_NAME="BackstageInjection.x64.dll"
|
||||
LEGACY_DLL_NAME="BackstageInjection.legacy.x64.dll"
|
||||
|
||||
if ! command -v cargo >/dev/null 2>&1; then
|
||||
echo "ERROR: cargo not found. Install a Rust toolchain (rustup)."
|
||||
@@ -38,7 +37,7 @@ fi
|
||||
mkdir -p "$OUT_DIR"
|
||||
|
||||
echo "Building randomized Rust BackstageInjection DLL ($TARGET) ..."
|
||||
env -u BACKSTAGE_LOADER_EXPORT BACKSTAGE_LOADER_SEED="${BACKSTAGE_FRESH:-$(date +%s%N)}" \
|
||||
BACKSTAGE_LOADER_SEED="${BACKSTAGE_FRESH:-$(date +%s%N)}" \
|
||||
cargo build --release --target "$TARGET" --manifest-path "$CRATE_DIR/Cargo.toml"
|
||||
|
||||
SRC_DLL="$CRATE_DIR/target/$TARGET/release/BackstageInjection.dll"
|
||||
@@ -51,11 +50,4 @@ cp -f "$SRC_DLL" "$OUT_DIR/$DLL_NAME"
|
||||
echo "Built: $OUT_DIR/$DLL_NAME"
|
||||
ls -la "$OUT_DIR/$DLL_NAME"
|
||||
|
||||
echo "Building legacy Rust BackstageInjection DLL ($TARGET) ..."
|
||||
BACKSTAGE_LOADER_EXPORT=ReflectiveLoader \
|
||||
cargo build --release --target "$TARGET" --manifest-path "$CRATE_DIR/Cargo.toml"
|
||||
cp -f "$SRC_DLL" "$OUT_DIR/$LEGACY_DLL_NAME"
|
||||
echo "Built: $OUT_DIR/$LEGACY_DLL_NAME"
|
||||
ls -la "$OUT_DIR/$LEGACY_DLL_NAME"
|
||||
|
||||
echo "Done."
|
||||
echo "Done."
|
||||
@@ -10,6 +10,7 @@ type Contract = {
|
||||
defaultVersion: 1;
|
||||
overrides: Record<string, {
|
||||
latestVersion: number;
|
||||
minVersion?: number;
|
||||
changes: Record<string, {
|
||||
breaking: true;
|
||||
summary: string;
|
||||
@@ -62,6 +63,14 @@ for (const [command, override] of Object.entries(contract.commandVersioning.over
|
||||
if (!Number.isInteger(override.latestVersion) || override.latestVersion < 2) {
|
||||
throw new Error(`latestVersion for ${command} must be at least 2`);
|
||||
}
|
||||
if (
|
||||
override.minVersion !== undefined &&
|
||||
(!Number.isInteger(override.minVersion) ||
|
||||
override.minVersion < 1 ||
|
||||
override.minVersion > override.latestVersion)
|
||||
) {
|
||||
throw new Error(`minVersion for ${command} must be an integer between 1 and latestVersion`);
|
||||
}
|
||||
for (let version = 2; version <= override.latestVersion; version += 1) {
|
||||
const change = override.changes[String(version)];
|
||||
if (
|
||||
@@ -112,7 +121,7 @@ const commandVersionSupport = Object.fromEntries(
|
||||
commands.map((command) => [
|
||||
command,
|
||||
{
|
||||
min: 1,
|
||||
min: contract.commandVersioning.overrides[command]?.minVersion ?? 1,
|
||||
max: contract.commandVersioning.overrides[command]?.latestVersion ?? 1,
|
||||
},
|
||||
]),
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
Generate _OBF_CHR sequences for compile-time string obfuscation (ROT16).
|
||||
|
||||
Usage:
|
||||
python scripts/obfuscate-strings.py ReflectiveLoader
|
||||
python scripts/obfuscate-strings.py "ntdll.dll"
|
||||
python scripts/obfuscate-strings.py "ntdll.dll" "RtlAddFunctionTable"
|
||||
|
||||
Outputs a C array initializer using _OBF_CHR() for each character.
|
||||
@@ -23,7 +23,7 @@ def obfuscate(s):
|
||||
def main():
|
||||
if len(sys.argv) < 2:
|
||||
print("Usage: python obfuscate-strings.py STRING [STRING...]", file=sys.stderr)
|
||||
print("Example: python obfuscate-strings.py ReflectiveLoader", file=sys.stderr)
|
||||
print("Example: python scripts/obfuscate-strings.py \"ntdll.dll\"", file=sys.stderr)
|
||||
sys.exit(1)
|
||||
|
||||
for arg in sys.argv[1:]:
|
||||
|
||||
Reference in New Issue
Block a user