Last active
March 19, 2025 22:30
-
-
Save beatcracker/2950af91c5a619090134 to your computer and use it in GitHub Desktop.
MTK WiFi MAC address randomizer
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/system/bin/sh | |
# MTK WiFi MAC address randomizer | |
# BLITZ Y2K+14 | |
# REQ: root, busybox, MTK device | |
# HOWTO: copy to /data or /system, use chmod 755 | |
# Uncomment to view debug output | |
# set -xv | |
show_help() | |
{ | |
echo Valid arguments are: | |
echo "-randomize Make backup and randomize WiFi MAC address" | |
echo "-backup Make backup only" | |
echo "-restore Restore backup" | |
} | |
if [ $# -eq 0 ] | |
then | |
echo No arguments specified! | |
show_help | |
exit | |
fi | |
WIFI_MAC_FILE=/data/nvram/APCFG/APRDEB/WIFI | |
BACKUP_FILE=$WIFI_MAC_FILE.bak | |
check_mtk() | |
{ | |
if ! ls $WIFI_MAC_FILE &> /dev/null | |
then | |
echo WiFi MAC file not found, probably not MTK device, exiting | |
exit | |
fi | |
} | |
backup_mac() | |
{ | |
if ! ls $BACKUP_FILE &> /dev/null | |
then | |
echo Created backup | |
busybox cp -p $WIFI_MAC_FILE $BACKUP_FILE | |
else | |
echo Backup already exists | |
fi | |
} | |
get_wifi_status() | |
{ | |
WIFI_STATUS=`getprop wlan.driver.status` | |
if [ x$WIFI_STATUS == "xok" ] | |
then | |
return 0 | |
else | |
return 1 | |
fi | |
} | |
toggle_wifi() | |
{ | |
case "$1" in | |
0) | |
if get_wifi_status | |
then | |
echo Disabling WiFi | |
svc wifi disable | |
RE_ENABLE_WIFI=true | |
else | |
echo WiFi already disabled | |
fi | |
;; | |
1) | |
echo Enabling WiFi | |
svc wifi enable | |
;; | |
esac | |
} | |
case "$1" in | |
'-backup') | |
check_mtk | |
backup_mac | |
echo Exiting | |
exit | |
;; | |
'-restore') | |
if ! ls $BACKUP_FILE &> /dev/null | |
then | |
echo Backup not found, cant restore, exiting | |
exit | |
else | |
toggle_wifi 0 | |
echo Deleting WiFi MAC file | |
rm $WIFI_MAC_FILE | |
echo Restoring WiFi MAC file from backup | |
busybox cp -p $BACKUP_FILE $WIFI_MAC_FILE | |
fi | |
;; | |
'-randomize') | |
check_mtk | |
backup_mac | |
toggle_wifi 0 | |
echo Randomizing MAC | |
busybox dd if=/dev/urandom of=$WIFI_MAC_FILE seek=7 bs=1 count=3 conv=notrunc 2> /dev/null | |
chmod 440 $WIFI_MAC_FILE | |
;; | |
*) | |
echo Unrecognized command, exiting | |
show_help | |
exit | |
;; | |
esac | |
if [ x$RE_ENABLE_WIFI == "xtrue" ] | |
then | |
toggle_wifi 1 | |
fi | |
echo All done, exiting |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment