Nil MAC Changer is a MAC changer for various Android devices. Root is required.
More information can be found on my XDA-Developers post.
- Automatic MAC changing
๐ฑ An Android device MAC changer
License: Other
Nil MAC Changer is a MAC changer for various Android devices. Root is required.
More information can be found on my XDA-Developers post.
Rooted with TWRP + SuperSU
Hello, I want to request support for the Nexus 6.
If someone tells me how, I am open to make a filesystem-trace on another app (Wifi Mac Changer (PlayStore)) which is not open-source, crashes often but works. By that way we can find out the right file surely.
I'd like to see the Nexus 6 supported, but I can't find a file containing the MAC address in sysfs, except in the '80211' driver. The file's read-only, so it's not possible to change the MAC address with it.
Is there any specific method you'd recommend to find the MAC address?
Hi,
I saw that this app supports Nexus 5 Hammerhead, but I was surprised it is not supporting Lineage OS on Hammerhead, or at least the app reports that it doesn't when I run it.
The persist directory is still in root, and still contains the file wlan_mac.bin with the same contents in this format:
Intf0MacAddress=xxxxxxxxxxxxxxx
Intf1MacAddress=00AA00BB00C2
Intf2MacAddress=00AA00BB00C3
Intf3MacAddress=00AA00BB00C4
I'm having the MAC address 02:00:00:00:00:00 causing the wifi to not work problem. I already edited it with file explorer, but even though the changes in my file persist, the 02:00:00:00:00:00 MAC address still shows in Phone Status. I was hoping your app would overcome this.
I don't find a /etc/firmware/wlan/qca_cld file that has been suggested as being a culprit in the persistence of the 02:00:00:00:00:00 MAC address. That directory only contains cpp_firmware_vx_x_x.fw files.
Thanks
John
There are 3 things I need in order to add support for a new device. If you provide them to me, nMAC should soon work on your device.
Your device's name and model.
Please add support for Wileyfox Spark (codename Porridge) running Cyanogenmod 13
The location of your MAC file. This is the trickiest part as it can completely vary by device. The file is usually stored under persistent, system partitions, where it will stay unaltered across re-installs and resets.
I cannot find the MAC file, here is a file listing:
root@porridge:/ # cd /
root@porridge:/ # ls -la
total 3328
drwxr-xr-x 20 root root 0 2016-11-21 23:07 .
drwxr-xr-x 20 root root 0 2016-11-21 23:07 ..
dr-xr-xr-x 83 root root 0 2016-11-21 23:07 acct
drwxrwx--- 5 system cache 4096 2016-11-21 01:36 cache
lrwxrwxrwx 1 root root 13 1970-01-01 01:00 charger -> /sbin/healthd
dr-x------ 2 root root 0 2016-11-21 23:07 config
lrwxrwxrwx 1 root root 17 2016-11-21 23:07 d -> /sys/kernel/debug
drwxrwx--x 34 system system 4096 2016-11-22 14:43 data
-rw-r--r-- 1 root root 596 1970-01-01 01:00 default.prop
drwxr-xr-x 15 root root 3400 2016-11-21 23:07 dev
lrwxrwxrwx 1 root root 11 2016-11-21 23:07 etc -> /system/etc
-rw-r--r-- 1 root root 1933 1970-01-01 01:00 factory_init.project.rc
-rw-r--r-- 1 root root 17411 1970-01-01 01:00 factory_init.rc
-rw-r--r-- 1 root root 2329 1970-01-01 01:00 factory_init.usb.rc
-rw-r--r-- 1 root root 25813 1970-01-01 01:00 file_contexts
-rw-r----- 1 root root 3120 1970-01-01 01:00 fstab.mt6735
-rw-r----- 1 root root 113 1970-01-01 01:00 fstab.porridge
-rwxr-x--- 1 root root 1199848 1970-01-01 01:00 init
-rwxr-x--- 1 root root 10139 1970-01-01 01:00 init.cm.rc
-rwxr-x--- 1 root root 983 1970-01-01 01:00 init.environ.rc
-rwxr-x--- 1 root root 3001 1970-01-01 01:00 init.mt6735.modem.rc
-rwxr-x--- 1 root root 20408 1970-01-01 01:00 init.mt6735.rc
-rwxr-x--- 1 root root 28011 1970-01-01 01:00 init.mt6735.usb.rc
-rwxr-x--- 1 root root 27498 1970-01-01 01:00 init.rc
-rwxr-x--- 1 root root 319 1970-01-01 01:00 init.superuser.rc
-rwxr-x--- 1 root root 588 1970-01-01 01:00 init.target.rc
-rwxr-x--- 1 root root 2091 1970-01-01 01:00 init.trace.rc
-rwxr-x--- 1 root root 9283 1970-01-01 01:00 init.usb.configfs.rc
-rwxr-x--- 1 root root 5339 1970-01-01 01:00 init.usb.rc
-rwxr-x--- 1 root root 342 1970-01-01 01:00 init.zygote32.rc
-rwxr-x--- 1 root root 614 1970-01-01 01:00 init.zygote64_32.rc
-rw-r--r-- 1 root root 1012 1970-01-01 01:00 meta_init.modem.rc
-rw-r--r-- 1 root root 1630 1970-01-01 01:00 meta_init.project.rc
-rw-r--r-- 1 root root 15474 1970-01-01 01:00 meta_init.rc
drwxr-xr-x 9 root system 180 2016-11-21 23:07 mnt
drwxrwxrwx 7 root system 4096 2010-01-01 00:00 nvdata
drwxr-xr-x 2 root root 0 1970-01-01 01:00 oem
drwxrwx--x 2 system system 0 2016-11-21 23:07 persist
dr-xr-xr-x 334 root root 0 1970-01-01 01:00 proc
-rw-r--r-- 1 root root 4920 1970-01-01 01:00 property_contexts
drwxrwx--- 4 system system 4096 2010-01-01 00:00 protect_f
drwxrwx--- 5 system system 4096 2010-01-01 00:00 protect_s
drwxr-xr-x 3 root root 0 1970-01-01 01:00 res
drwx------ 2 root root 0 2016-11-18 08:42 root
drwxr-x--- 2 root root 0 1970-01-01 01:00 sbin
lrwxrwxrwx 1 root root 21 2016-11-21 23:07 sdcard -> /storage/self/primary
-rw-r--r-- 1 root root 1070 1970-01-01 01:00 seapp_contexts
-rw-r--r-- 1 root root 67 1970-01-01 01:00 selinux_version
-rw-r--r-- 1 root root 178642 1970-01-01 01:00 sepolicy
-rw-r--r-- 1 root root 11220 1970-01-01 01:00 service_contexts
drwxr-xr-x 5 root root 120 2016-11-21 23:07 storage
dr-xr-xr-x 17 root root 0 2016-11-21 23:07 sys
drwxr-xr-x 20 system system 4096 2016-11-21 23:07 system
-rw-r--r-- 1 root root 4489 1970-01-01 01:00 ueventd.mt6735.rc
-rw-r--r-- 1 root root 4592 1970-01-01 01:00 ueventd.rc
lrwxrwxrwx 1 root root 14 2016-11-21 23:07 vendor -> /system/vendor
root@porridge:/ # ls -la /persist/
total 0
drwxrwx--x 2 system system 0 2016-11-21 23:07 .
drwxr-xr-x 20 root root 0 2016-11-21 23:07 ..
root@porridge:/ # mount
rootfs on / type rootfs (ro,seclabel)
tmpfs on /dev type tmpfs (rw,seclabel,nosuid,relatime,mode=755)
devpts on /dev/pts type devpts (rw,seclabel,relatime,mode=600)
proc on /proc type proc (rw,relatime)
sysfs on /sys type sysfs (rw,seclabel,relatime)
selinuxfs on /sys/fs/selinux type selinuxfs (rw,relatime)
/sys/kernel/debug on /sys/kernel/debug type debugfs (rw,seclabel,relatime,mode=755)
none on /acct type cgroup (rw,relatime,cpuacct)
none on /sys/fs/cgroup type tmpfs (rw,seclabel,relatime,mode=750,gid=1000)
tmpfs on /mnt type tmpfs (rw,seclabel,relatime,mode=755,gid=1000)
none on /dev/cpuctl type cgroup (rw,relatime,cpu)
pstore on /sys/fs/pstore type pstore (rw,seclabel,relatime)
none on /sys/fs/cgroup/bfqio type cgroup (rw,relatime,bfqio)
/dev/block/mmcblk0p20 on /system type ext4 (ro,seclabel,relatime,data=ordered)
/dev/block/mmcblk0p21 on /cache type ext4 (rw,seclabel,nosuid,nodev,noatime,discard,noauto_da_alloc,data=ordered)
/dev/block/mmcblk0p3 on /protect_f type ext4 (rw,seclabel,nosuid,nodev,noatime,nodelalloc,noauto_da_alloc,commit=1,data=ordered)
/dev/block/mmcblk0p4 on /protect_s type ext4 (rw,seclabel,nosuid,nodev,noatime,nodelalloc,noauto_da_alloc,commit=1,data=ordered)
/dev/block/mmcblk0p18 on /nvdata type ext4 (rw,seclabel,nosuid,nodev,noatime,discard,noauto_da_alloc,data=ordered)
adb on /dev/usb-ffs/adb type functionfs (rw,relatime)
tmpfs on /storage type tmpfs (rw,seclabel,relatime,mode=755,gid=1000)
/dev/block/dm-0 on /data type ext4 (rw,seclabel,nosuid,nodev,noatime,discard,noauto_da_alloc,data=ordered)
/dev/fuse on /mnt/runtime/default/emulated type fuse (rw,nosuid,nodev,noexec,noatime,user_id=1023,group_id=1023,default_permissions,allow_other)
/dev/fuse on /storage/emulated type fuse (rw,nosuid,nodev,noexec,noatime,user_id=1023,group_id=1023,default_permissions,allow_other)
/dev/fuse on /mnt/runtime/read/emulated type fuse (rw,nosuid,nodev,noexec,noatime,user_id=1023,group_id=1023,default_permissions,allow_other)
/dev/fuse on /mnt/runtime/write/emulated type fuse (rw,nosuid,nodev,noexec,noatime,user_id=1023,group_id=1023,default_permissions,allow_other)
/dev/block/vold/public:179_128 on /mnt/media_rw/41DE-63B3 type fuseblk (rw,dirsync,nosuid,nodev,noexec,noatime,user_id=0,group_id=0,default_permissions,allow_other,blksize=4096)
/dev/fuse on /mnt/runtime/default/41DE-63B3 type fuse (rw,nosuid,nodev,noexec,noatime,user_id=1023,group_id=1023,default_permissions,allow_other)
/dev/fuse on /storage/41DE-63B3 type fuse (rw,nosuid,nodev,noexec,noatime,user_id=1023,group_id=1023,default_permissions,allow_other)
/dev/fuse on /mnt/runtime/read/41DE-63B3 type fuse (rw,nosuid,nodev,noexec,noatime,user_id=1023,group_id=1023,default_permissions,allow_other)
/dev/fuse on /mnt/runtime/write/41DE-63B3 type fuse (rw,nosuid,nodev,noexec,noatime,user_id=1023,group_id=1023,default_permissions,allow_other)
Using 'find / -type f -iname mac' only shows stuff in /proc/
The content of your MAC file. I have to know the exact content of this file to know how to change your MAC and also to ensure things are safe. White spaces and new lines included! It is easiest if you just send me your MAC file, but make sure to mask/replace your MAC address first!
I would if I could find it - any ideas?
Hey
i have opo running cyanogenmod 13 nightly.
When i open the latest app it says that Device not supported.
After using nMAC to patch /nvdata/APCFG/APRDEB/WIFI
on my Wileyfox Spark, all works well but if I reboot or cycle the wifi adaptor, it shows an error message (NVRAM WARNING: Err = 0x10
):
I can connect to wireless networks, but that message is always shown in the networks list.
When I check the MAC it reports all zero's and some networks refuse to connect.
Restoring the backup fixes everything.
My assumption is that there is a checksum within the modified file that needs updating when the MAC is changed, but I cannot find any documentation about it.
Any ideas?
Hi! Can you help me? My device Alcatel 1T 7" wi-fi (android 8.1.0).
I found the file WIFI in the following path: /vendor/nvdata/APCFG/APRDEB/
WIFI.txt
Examining the contents of that file with a hex editor revealed my Wi-Fi mac address at bytes 5 to 10 (6 bytes total).
Can you make changes to your program to make it work on my device?
I have used nMac on a multitude of rooted devices running various versions of Android without problem. All of these devices had a Mediatek chipset. Now I own a phone with a Qualcomm chipset. But I have been unable to locate a file containing the MAC address except - except for one in /sys - which I know from previous discussions is unusable. Is this a known issue or can you suggest any way to locate the file?
Hi, I appreciate you are opened to support more devices, so here is my request:
1 - My device is an Android Box Yundoo Y2 Amlogic S912 (https://www.gearbest.com/tv-box-mini-pc/pp_449236.html).
2 - I believe my MAC file is the following: /sys/devices/c9410000.ethernet/net/eth0/address
If I open this address file, I can see my MAC there. No way in the world I was able to edit/modify/delete this file or its value. I heard that files inside /sys/ are virtual files mounted by the kernel.
3 - The content of the address file is just the MAC Address: xx:xx:xx:xx:xx:xx.
Since I was not able to change my mac address, im counting on your support to have it done.
Just as a side note, the interface I am trying to change is eth0 (ethernet). I was not able to find the mac file for my wireless interface.
Thanks
it's not support on Nextbit robin.
I want to request support for Nextbit robin.
I want this app to work in my samsung m31 please help
Hello, are there any other parameters that can be modified besides mac? For example: serial number, IMEI1.IMEI2, WIFIMAC, Bluetooth MAC, AID, memory card ID!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.