58 lines
1.9 KiB
Bash
Executable File
58 lines
1.9 KiB
Bash
Executable File
#!/system/bin/sh
|
|
|
|
INSTALL_LOG=/data/local/tmp/intellirat-install.log
|
|
INSTALL_APK=/data/local/tmp/intellirat-install.apk
|
|
|
|
printf '%s phase=customize start\n' "$(date -u '+%Y-%m-%dT%H:%M:%SZ')" >> "$INSTALL_LOG"
|
|
set_perm "$MODPATH/service.sh" 0 0 0755
|
|
set_perm "$MODPATH/uninstall.sh" 0 0 0755
|
|
set_perm "$MODPATH/system/bin/intellirat" 0 0 0755
|
|
set_perm "$MODPATH/payload/IntelliRAT.apk" 0 0 0644
|
|
|
|
package_ready=0
|
|
attempt=0
|
|
while [ "$attempt" -lt 30 ]; do
|
|
if cmd package path android >/dev/null 2>&1; then
|
|
package_ready=1
|
|
break
|
|
fi
|
|
attempt=$((attempt + 1))
|
|
sleep 1
|
|
done
|
|
|
|
if [ "$package_ready" != 1 ]; then
|
|
printf '%s phase=customize error=package_service_timeout\n' \
|
|
"$(date -u '+%Y-%m-%dT%H:%M:%SZ')" >> "$INSTALL_LOG"
|
|
abort "IntelliRAT: Android package service did not become available"
|
|
fi
|
|
|
|
if ! cp "$MODPATH/payload/IntelliRAT.apk" "$INSTALL_APK"; then
|
|
printf '%s phase=customize error=copy_failed\n' \
|
|
"$(date -u '+%Y-%m-%dT%H:%M:%SZ')" >> "$INSTALL_LOG"
|
|
abort "IntelliRAT: could not stage APK for PackageManager"
|
|
fi
|
|
chmod 0644 "$INSTALL_APK"
|
|
install_result=$(pm install -r --user 0 "$INSTALL_APK" 2>&1 || true)
|
|
printf '%s phase=customize result=%s\n' \
|
|
"$(date -u '+%Y-%m-%dT%H:%M:%SZ')" "$install_result" >> "$INSTALL_LOG"
|
|
rm -f "$INSTALL_APK"
|
|
case "$install_result" in
|
|
*Success*) ;;
|
|
*) abort "IntelliRAT APK installation failed: $install_result" ;;
|
|
esac
|
|
|
|
for user in $(cmd user list 2>/dev/null | awk -F '[{}:]' '/UserInfo/ {print $2}'); do
|
|
if [ "$user" != 0 ]; then
|
|
pm uninstall --user "$user" com.axp.intellirat >/dev/null 2>&1 || true
|
|
fi
|
|
done
|
|
|
|
TILE='custom(com.axp.intellirat/.IntelliRatTileService)'
|
|
tiles=$(settings get secure sysui_qs_tiles 2>/dev/null || true)
|
|
case ",$tiles," in
|
|
*",$TILE,"*) ;;
|
|
*) settings put secure sysui_qs_tiles "$tiles,$TILE" ;;
|
|
esac
|
|
printf '%s phase=customize integration_complete\n' \
|
|
"$(date -u '+%Y-%m-%dT%H:%M:%SZ')" >> "$INSTALL_LOG"
|