| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- function trace(tag) {
- Log.e((tag || '') + Java.use('android.util.Log').getStackTraceString(Java.use('java.lang.Throwable').$new()))
- }
- function readFile(path) {
- var FileOutputStream = Java.use('java.io.FileOutputStream')
- var FileInputStream = Java.use('java.io.FileInputStream')
- var File = Java.use('java.io.File')
- var InputStreamReader = Java.use('java.io.InputStreamReader')
- var BufferedReader = Java.use('java.io.BufferedReader')
- var ByteArrayOutputStream = Java.use('java.io.ByteArrayOutputStream')
- var file = File.$new(path)
- var fileInputStream = FileInputStream.$new(file)
- var inputStreamReader = InputStreamReader.$new(Java.cast(fileInputStream, Java.use('java.io.InputStream')))
- var bufferedReader = BufferedReader.$new(inputStreamReader)
- var line
- var content = ''
- while ((line = bufferedReader.readLine()) !== null) {
- content += line + '\n'
- }
- bufferedReader.close()
- inputStreamReader.close()
- fileInputStream.close()
- return content
- }
- setImmediate(() => {
- Java.perform(function () {
- const Log = Java.use('android.util.Log')
- function log(msg) {
- console.log(`\x1b[30m[system_server] ${msg}\x1b[0m`)
- Log.d('frida-system_server', msg)
- }
- const WifiServiceImpl = Java.use('com.android.server.wifi.WifiServiceImpl')
- WifiServiceImpl.getFactoryMacAddresses.overload().implementation = function () {
- const original = this.getFactoryMacAddresses()
- const spoof = ['00:00:00:00:00:00']
- log(`WifiServiceImpl.getFactoryMacAddresses() called, returning: ${spoof}, original: ${original}`)
- return spoof
- }
- })
- })
|