Files
CamSwapper/root-module/service.sh
T
2026-05-08 11:45:15 +02:00

45 lines
1007 B
Bash

#!/system/bin/sh
MODDIR="${0%/*}"
HOOK_LIB="$MODDIR/libcamera_hook.so"
MODPROP="$MODDIR/module.prop"
INJECTOR="/data/local/tmp/inject_dlopen"
update_description() {
if [ -f "$MODPROP" ]; then
sed -i "s|^description=.*|description=$1|" "$MODPROP"
fi
}
update_description "Waiting for cameraserver..."
if [ ! -f "$HOOK_LIB" ]; then
update_description "Error - libcamera_hook.so not found"
exit 1
fi
for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15; do
CS_PID=$(pidof cameraserver 2>/dev/null)
if [ -n "$CS_PID" ]; then
break
fi
sleep 1
done
if [ -z "$CS_PID" ]; then
update_description "Error - cameraserver not running"
exit 1
fi
sleep 2
if [ -f "$INJECTOR" ]; then
"$INJECTOR" "$CS_PID" > /dev/kmsg 2>&1
sleep 1
fi
if grep -q "libcamera_hook.so" /proc/"$CS_PID"/maps 2>/dev/null; then
update_description "Active - hook loaded in cameraserver PID $CS_PID"
else
update_description "cameraserver PID $CS_PID - injection attempted"
fi