From f03f9fcdae16d876da65bfaf1888c9b7bd4bf323 Mon Sep 17 00:00:00 2001 From: cooperq Date: Fri, 16 May 2025 18:18:30 -0700 Subject: [PATCH] more bugfix --- doc/installing-from-release-windows.md | 142 ++----------------------- installer/install.ps1 | 18 ++-- 2 files changed, 20 insertions(+), 140 deletions(-) diff --git a/doc/installing-from-release-windows.md b/doc/installing-from-release-windows.md index 649ad27..fe9c0f0 100644 --- a/doc/installing-from-release-windows.md +++ b/doc/installing-from-release-windows.md @@ -22,161 +22,39 @@ Windows support in Rayhunter's installer is a work-in-progress. Depending on the # `install.ps1` ```powershell - $global:adb = "./platform-tools-latest-windows/platform-tools/adb.exe" -$global:serial = "./serial-windows-x86_64/serial.exe" - -function _adb_push { - $proc = start-process -passthru -wait $global:adb -argumentlist "push", $args[0], $args[1] - if ($proc.exitcode -ne 0) { - write-host "push exited with exit code $($proc.exitcode)" - } - return $proc.exitcode -} - -function _adb_shell { - $proc = start-process -passthru -wait $global:adb -argumentlist "shell", $args[0] - if ($proc.exitcode -ne 0) { - write-host "shell exited with exit code $($proc.exitcode)" - } - return $proc.exitcode -} - -function _wait_for_adb_shell { - do { - start-sleep -seconds 1 - } until ((_adb_shell "cat /etc/ver.conf") -eq 0) -} - -function _wait_for_atfwd_daemon { - do { - start-sleep -seconds 1 - } until ((_adb_shell "pgrep atfwd_daemon") -eq 0) -} - -function force_debug_mode { - write-host "Using adb at $($global:adb)" - write-host "Forcing a switch into debug mode to enable ADB" - &$global:serial "--root" | Out-Host - write-host "adb enabled, waiting for reboot..." -nonewline - _wait_for_adb_shell - write-host " it's alive!" - write-host "waiting for atfwd_daemon to start ..." -nonewline - _wait_for_atfwd_daemon - write-host " done!" -} - -function setup_rootshell { - _adb_push "rootshell" "/tmp" - write-host "cp..." - &$global:serial "AT+SYSCMD=cp /tmp/rootshell /bin/rootshell" | Out-Host - start-sleep -seconds 1 - write-host "chown..." - &$global:serial "AT+SYSCMD=chown root /bin/rootshell" | Out-Host - start-sleep -seconds 1 - write-host "chmod..." - &$global:serial "AT+SYSCMD=chmod 4755 /bin/rootshell" | Out-Host - start-sleep -seconds 1 - _adb_shell '/bin/rootshell -c id' - write-host "we have root!" -} - -function setup_rayhunter { - &$global:serial "AT+SYSCMD=mkdir -p /data/rayhunter" | Out-Host - _adb_push "config.toml.example" "/tmp/config.toml" - &$global:serial "AT+SYSCMD=mv /tmp/config.toml /data/rayhunter" | Out-Host - _adb_push "rayhunter-daemon-orbic/rayhunter-daemon" "/tmp/rayhunter-daemon" - &$global:serial "AT+SYSCMD=mv /tmp/rayhunter-daemon /data/rayhunter" | Out-Host - _adb_push "scripts/rayhunter_daemon" "/tmp/rayhunter_daemon" - &$global:serial "AT+SYSCMD=mv /tmp/rayhunter_daemon /etc/init.d/rayhunter_daemon" | Out-Host - _adb_push "scripts/misc-daemon" "/tmp/misc-daemon" - &$global:serial "AT+SYSCMD=mv /tmp/misc-daemon /etc/init.d/misc-daemon" | Out-Host - - &$global:serial "AT+SYSCMD=chmod 755 /data/rayhunter/rayhunter-daemon" | Out-Host - &$global:serial "AT+SYSCMD=chmod 755 /etc/init.d/rayhunter_daemon" | Out-Host - &$global:serial "AT+SYSCMD=chmod 755 /etc/init.d/misc-daemon" | Out-Host - - write-host "waiting for reboot..." - &$global:serial "AT+SYSCMD=shutdown -r -t 1 now" | Out-Host - do { - start-sleep -seconds 1 - } until ((_adb_shell "true 2> /dev/null") -ne 0) - - _wait_for_adb_shell - write-host "done!" -} - -function test_rayhunter { - $URL = "http://localhost:8080" - $fproc = start-process $global:adb -argumentlist "forward", "tcp:8080", "tcp:8080" -wait -passthru - if ($fproc.exitcode -ne 0) { - write-host "adb forward tcp:8080 tcp:8080 failed with exit code $($proc.exitcode)" - return - } - write-host "checking for rayhunter server..." -nonewline - $seconds = 0 - do { - $resp = invoke-webrequest -uri $URL - if ($resp.statuscode -eq 200) { - write-host "success!" - write-host "you can access rayhunter at $($URL)" - return - } - start-sleep 1 - $seconds = $seconds + 1 - } until ($seconds -eq 30) - write-host "timeout reached! failed to reach rayhunter url $($URL), something went wrong :(" -} - -function get_android_tools { - write-host "adb not found, downloading local copy" - invoke-webrequest "https://dl.google.com/android/repository/platform-tools-latest-windows.zip" -outfile ./platform-tools-latest-windows.zip - expand-archive -force -path "platform-tools-latest-windows.zip" -} - -if (-not (test-path -path $global:serial)) { - write-error "can't find serial, aborting" - return -} - -if (-not (test-path -path $global:adb)) { - get_android_tools -} - -force_debug_mode -setup_rootshell -setup_rayhunter -test_rayhunter$global:adb = "./platform-tools-latest-windows/platform-tools/adb.exe" $global:serial = ".\installer-windows-x86_64\installer.exe" function _adb_push { - & $global:adb -d push @args + & $global:adb -d push @args | Out-Null $exitCode = $LASTEXITCODE if ($exitCode -ne 0) { write-host "push exited with exit code $($exitCode)" } - return $proc.exitcode + return $exitCode } function _adb_shell { - & $global:adb -d shell @args + & $global:adb -d shell @args | Out-Null $exitCode = $LASTEXITCODE if ($exitCode -ne 0) { write-host "shell exited with exit code $($exitCode)" } - return $proc.exitcode + return $exitCode } function _wait_for_adb_shell { do { start-sleep -seconds 1 - } until ((_adb_shell "uname -a") -eq 0) + $success = _adb_shell "uname -a" + } until ($success -eq 0) } function _wait_for_atfwd_daemon { do { start-sleep -seconds 1 - } until ((_adb_shell "pgrep atfwd_daemon") -eq 0) + $success = _adb_shell "pgrep atfwd_daemon" + } until ($success -eq 0) } function force_debug_mode { @@ -245,10 +123,10 @@ function setup_rayhunter { function test_rayhunter { $URL = "http://localhost:8080" - & $global:adb -d shell forward tcp:8080 tcp:8080 + & $global:adb -d forward tcp:8080 tcp:8080 $exitCode = $LASTEXITCODE if ($exitCode -ne 0) { - write-host "adb forward tcp:8080 tcp:8080 failed with exit code $($proc.exitcode)" + write-host "adb forward tcp:8080 tcp:8080 failed with exit code $($exitCode)" return } write-host "checking for rayhunter server..." -nonewline diff --git a/installer/install.ps1 b/installer/install.ps1 index 2ab9c52..2676846 100644 --- a/installer/install.ps1 +++ b/installer/install.ps1 @@ -2,33 +2,35 @@ $global:adb = "./platform-tools-latest-windows/platform-tools/adb.exe" $global:serial = ".\installer-windows-x86_64\installer.exe" function _adb_push { - & $global:adb -d push @args + & $global:adb -d push @args | Out-Null $exitCode = $LASTEXITCODE if ($exitCode -ne 0) { write-host "push exited with exit code $($exitCode)" } - return $proc.exitcode + return $exitCode } function _adb_shell { - & $global:adb -d shell @args + & $global:adb -d shell @args | Out-Null $exitCode = $LASTEXITCODE if ($exitCode -ne 0) { write-host "shell exited with exit code $($exitCode)" } - return $proc.exitcode + return $exitCode } function _wait_for_adb_shell { do { start-sleep -seconds 1 - } until ((_adb_shell "uname -a") -eq 0) + $success = _adb_shell "uname -a" + } until ($success -eq 0) } function _wait_for_atfwd_daemon { do { start-sleep -seconds 1 - } until ((_adb_shell "pgrep atfwd_daemon") -eq 0) + $success = _adb_shell "pgrep atfwd_daemon" + } until ($success -eq 0) } function force_debug_mode { @@ -97,10 +99,10 @@ function setup_rayhunter { function test_rayhunter { $URL = "http://localhost:8080" - & $global:adb -d shell forward tcp:8080 tcp:8080 + & $global:adb -d forward tcp:8080 tcp:8080 $exitCode = $LASTEXITCODE if ($exitCode -ne 0) { - write-host "adb forward tcp:8080 tcp:8080 failed with exit code $($proc.exitcode)" + write-host "adb forward tcp:8080 tcp:8080 failed with exit code $($exitCode)" return } write-host "checking for rayhunter server..." -nonewline