diff --git a/paho-mqtt3as-proxy/hook.cpp b/paho-mqtt3as-proxy/hook.cpp index 3a8f74d..801152a 100644 --- a/paho-mqtt3as-proxy/hook.cpp +++ b/paho-mqtt3as-proxy/hook.cpp @@ -51,6 +51,10 @@ static std::string GetLogPath() return "rmhook.log"; } +static void ClearLog() +{ + std::ofstream file(GetLogPath(), std::ios::trunc); +} static void Log(const std::string& msg) { @@ -304,7 +308,7 @@ static void LoadConfig() Log("[ERROR] Failed to check config existence: " + ec.message()); } - MessageBoxA(NULL, "First launch detected.\nUsing default config (example.com:443).\nYou can edit configuration in %LOCALAPPDATA%\\RMHook\\config.json", "RMHook Configuration", MB_OK | MB_ICONINFORMATION); + MessageBoxA(NULL, "First launch detected.\nUsing default config (example.com:443).\nEdit configuration in %LOCALAPPDATA%\\RMHook\\config.json\nand restart the application to apply changes.", "RMHook Configuration", MB_OK | MB_ICONINFORMATION); std::filesystem::create_directories(configPath.parent_path(), ec); if (ec) @@ -592,6 +596,7 @@ static void* ResolveExport(HMODULE module, const char* symbol) void InstallHooks() { LoadConfig(); + ClearLog(); Log("[*] Initializing MinHook"); diff --git a/scripts/download-and-install.ps1 b/scripts/download-and-install.ps1 index 4c057e1..d9328ca 100644 --- a/scripts/download-and-install.ps1 +++ b/scripts/download-and-install.ps1 @@ -1,19 +1,19 @@ -$DllUrl = "https://github.com/NohamR/RMHook-Win/releases/download/v1.0/paho-mqtt3as.dll" -$ScriptUrl = "https://raw.githubusercontent.com/NohamR/RMHook-Win/main/scripts/install-hook.ps1" +$REPO = "NohamR/RMHook-Win" +$FILE = "paho-mqtt3as.dll" $TempDir = [System.IO.Path]::GetTempPath() -$DestPath = Join-Path $TempDir "paho-mqtt3as.dll" +$DestPath = Join-Path $TempDir $FILE $InstallScriptPath = Join-Path $TempDir "install-hook.ps1" [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 -Write-Host "Downloading DLL from $DllUrl to $DestPath..." -Invoke-WebRequest -Uri $DllUrl -OutFile $DestPath -UseBasicParsing +Write-Host "[INFO] Downloading $FILE..." +Invoke-WebRequest -Uri "https://github.com/$REPO/releases/latest/download/$FILE" -OutFile $DestPath -UseBasicParsing -Write-Host "Downloading install script..." -Invoke-WebRequest -Uri $ScriptUrl -OutFile $InstallScriptPath -UseBasicParsing +Write-Host "[INFO] Downloading install script..." +Invoke-WebRequest -Uri "https://raw.githubusercontent.com/$REPO/refs/heads/main/scripts/install-hook.ps1" -OutFile $InstallScriptPath -UseBasicParsing -Write-Host "Installing hook with downloaded DLL..." +Write-Host "[INFO] Running install script..." # Run the downloaded script, bypassing execution policies powershell.exe -NoProfile -ExecutionPolicy Bypass -File $InstallScriptPath -Action install -SourcePath $DestPath