From 9500882ce2ce9b511f243defb068fe3815059ec4 Mon Sep 17 00:00:00 2001 From: Cooper Quintin Date: Thu, 14 Dec 2023 17:19:13 -0800 Subject: [PATCH 1/3] adding init.d scripts and updating makefile --- make.sh | 4 +- scripts/misc-daemon | 102 ++++++++++++++++++++++++++++++++++++++ scripts/wavehunter_daemon | 26 ++++++++++ 3 files changed, 130 insertions(+), 2 deletions(-) create mode 100644 scripts/misc-daemon create mode 100644 scripts/wavehunter_daemon diff --git a/make.sh b/make.sh index 670d6e2..c01a439 100755 --- a/make.sh +++ b/make.sh @@ -1,2 +1,2 @@ -cross rustc --target armv7-unknown-linux-gnueabihf -- -C target-feature=+crt-static -adb push target/armv7-unknown-linux-gnueabihf/debug/diag /tmp/diag +cargo build +adb push target/armv7-unknown-linux-gnueabihf/debug/wavehunter /tmp/wavehunter diff --git a/scripts/misc-daemon b/scripts/misc-daemon new file mode 100644 index 0000000..4181f5a --- /dev/null +++ b/scripts/misc-daemon @@ -0,0 +1,102 @@ +#!/bin/sh + +set -e + +case "$1" in + start) + echo -n "Starting miscellaneous daemons: " + search_dir="/sys/bus/msm_subsys/devices/" + for entry in `ls $search_dir` + do + subsys_temp=`cat $search_dir/$entry/name` + if [ "$subsys_temp" == "modem" ] + then + break + fi + done + counter=0 + while [ ${counter} -le 10 ] + do + msstate=`cat $search_dir/$entry/state` + if [ "$msstate" == "ONLINE" ] + then + break + fi + counter=$(( $counter + 1 )) + sleep 1 + done + + if [ -f /etc/init.d/init_qcom_audio ] + then + /etc/init.d/init_qcom_audio start + fi + + if [ -f /sbin/reboot-daemon ] + then + /sbin/reboot-daemon & + fi + + if [ -f /etc/init.d/start_atfwd_daemon ] + then + /etc/init.d/start_atfwd_daemon start + fi + + if [ -f /etc/init.d/wavehunter_daemon ] + then + /etc/init.d/wavehunter_daemon start + fi + + if [ -f /etc/init.d/start_stop_qti_ppp_le ] + then + /etc/init.d/start_stop_qti_ppp_le start + fi + + if [ -f /etc/init.d/start_loc_launcher ] + then + /etc/init.d/start_loc_launcher start + fi + + echo -n "Completed starting miscellaneous daemons" + ;; + stop) + echo -n "Stopping miscellaneous daemons: " + + + if [ -f /etc/init.d/start_atfwd_daemon ] + then + /etc/init.d/start_atfwd_daemon stop + fi + + if [ -f /etc/init.d/start_loc_launcher ] + then + /etc/init.d/start_loc_launcher stop + fi + + if [ -f /etc/init.d/wavehunter_daemon ] + then + /etc/init.d/wavehunter_daemon stop + fi + + if [ -f /etc/init.d/init_qcom_audio ] + then + /etc/init.d/init_qcom_audio stop + fi + + if [ -f /etc/init.d/start_stop_qti_ppp_le ] + then + /etc/init.d/start_stop_qti_ppp_le stop + fi + + echo -n "Completed stopping miscellaneous daemons" + ;; + restart) + $0 stop + $0 start + ;; + *) + echo "Usage misc-daemon { start | stop | restart}" >&2 + exit 1 + ;; +esac + +exit 0 diff --git a/scripts/wavehunter_daemon b/scripts/wavehunter_daemon new file mode 100644 index 0000000..92f7d4a --- /dev/null +++ b/scripts/wavehunter_daemon @@ -0,0 +1,26 @@ +#! /bin/sh + +set -e + +case "$1" in +start) + echo -n "Starting wavehunter: " + start-stop-daemon -S -b -a /data/wavehunter + echo "done" + ;; + stop) + echo -n "Stopping wavehunter: " + start-stop-daemon -K -n /data/wavehunter + echo "done" + ;; + restart) + $0 stop + $0 start + ;; + *) + echo "Usage atfwd_daemon{ start | stop | restart }" >&2 + exit 1 + ;; +esac + +exit 0 From 746c41ad7738b9aa452a60dcce5e7144c6f8b1a0 Mon Sep 17 00:00:00 2001 From: Cooper Quintin Date: Fri, 15 Dec 2023 14:38:32 -0800 Subject: [PATCH 2/3] better logging and pid handling --- scripts/wavehunter_daemon | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/scripts/wavehunter_daemon b/scripts/wavehunter_daemon index 92f7d4a..fea85b3 100644 --- a/scripts/wavehunter_daemon +++ b/scripts/wavehunter_daemon @@ -1,16 +1,17 @@ -#! /bin/sh +#! /bin/sshell set -e case "$1" in start) echo -n "Starting wavehunter: " - start-stop-daemon -S -b -a /data/wavehunter + start-stop-daemon -S -b --make-pidfile --pidfile /tmp/wavehunter.pid \ + --startas /bin/bash -- -c "exec /data/wavehunter > /data/wavehunter.log 2>&1" echo "done" ;; stop) echo -n "Stopping wavehunter: " - start-stop-daemon -K -n /data/wavehunter + start-stop-daemon -K -p /tmp/wavehunter.pid echo "done" ;; restart) From 0f6020cc2daa92ba22509e5d05cb6680bd3b4f56 Mon Sep 17 00:00:00 2001 From: Cooper Quintin Date: Fri, 15 Dec 2023 16:40:02 -0800 Subject: [PATCH 3/3] updating files to push to /data/wavehunter directory --- make.sh | 3 ++- scripts/wavehunter_daemon | 2 +- src/bin/wavehunter.rs | 7 +++++-- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/make.sh b/make.sh index c01a439..af6d329 100755 --- a/make.sh +++ b/make.sh @@ -1,2 +1,3 @@ cargo build -adb push target/armv7-unknown-linux-gnueabihf/debug/wavehunter /tmp/wavehunter +adb push target/armv7-unknown-linux-gnueabihf/debug/wavehunter /data/wavehunter/wavehunter +adb push target/armv7-unknown-linux-gnueabihf/debug/wavehunter-reader /data/wavehunter/wavehunter-reader diff --git a/scripts/wavehunter_daemon b/scripts/wavehunter_daemon index fea85b3..da469c4 100644 --- a/scripts/wavehunter_daemon +++ b/scripts/wavehunter_daemon @@ -6,7 +6,7 @@ case "$1" in start) echo -n "Starting wavehunter: " start-stop-daemon -S -b --make-pidfile --pidfile /tmp/wavehunter.pid \ - --startas /bin/bash -- -c "exec /data/wavehunter > /data/wavehunter.log 2>&1" + --startas /bin/bash -- -c "exec /data/wavehunter/wavehunter > /data/wavehunter/wavehunter.log 2>&1" echo "done" ;; stop) diff --git a/src/bin/wavehunter.rs b/src/bin/wavehunter.rs index ed923a8..ec4628c 100644 --- a/src/bin/wavehunter.rs +++ b/src/bin/wavehunter.rs @@ -9,11 +9,14 @@ fn main() -> DiagResult<()> { env_logger::init(); let mut dev = DiagDevice::new()?; - dev.enable_debug_mode("/data/wavehunter-debug")?; + dev.enable_debug_mode("/data/wavehunter/wavehunter-debug")?; dev.config_logs()?; + println!("The orca is hunting for stingrays..."); + let mut gsmtap_parser = GsmtapParser::new(); - let mut pcap_file = PcapFile::new("/data/wavehunter.pcap").unwrap(); + // We are going to want to add a timestamp to this pcap file eventually + let mut pcap_file = PcapFile::new("/data/wavehunter/wavehunter.pcap").unwrap(); pcap_file.write_iface_header().unwrap(); loop {