Open jeivarmarr opened 6 years ago
@lars18th any idea?
Hi @jeivarmarr ,
And other values different than "Mac Address" are hooked?
In this case, it's possible that a change is done in Android 7.x or 7.1. We will check! However, please comment about if the problem is specific to this value only.
Regards.
Hi @bigsinger ,
You need to update the code for hooking the "WifiMac" value at: https://github.com/bigsinger/AndroidIdChanger/blob/master/src/HookerPhone.java#L165
From Android 6.0 and up the function "getMacAddress()" has changed from the class "WifiInfo" to the function "getWifiMacAddress()" from "Device PolicyManager". So I feel you need to add a check if the SDK >= 23 and then hook also the function "getWifiMacAddress()" (I'm not sure, but I feel that you need to hook both values).
See here:
Regards.
android.app.admin.DevicePolicyManager getWifiMacAddress
added in API level 24
@lars18th please review:
modValue = getHookValue("WifiMac"); if (TextUtils.isEmpty(modValue)) { XposedLog.logd("no hook WifiMac, it's null"); } else { final String hookValue = modValue; if (Build.VERSION.SDK_INT < 24){ //ref: https://developer.android.com/reference/android/net/wifi/WifiInfo.html#getMacAddress() try { findAndHookMethod(WifiInfo.class.getName(), param.classLoader, "getMacAddress", new Object[]{new XC_MethodHook() { protected void afterHookedMethod(XC_MethodHook.MethodHookParam hookParam) throws Throwable { hookParam.setResult(hookValue); super.afterHookedMethod(hookParam); } } }); XposedLog.logd("hooked WifiMac with " + hookValue); } catch (Exception e) { XposedLog.loge("error hooking WifiMac"); } }else{ //ref: https://developer.android.com/reference/android/app/admin/DevicePolicyManager.html#getWifiMacAddress(android.content.ComponentName) try { findAndHookMethod("android.app.admin.DevicePolicyManager", param.classLoader, "getWifiMacAddress", new Object[]{new XC_MethodHook() { protected void afterHookedMethod(XC_MethodHook.MethodHookParam hookParam) throws Throwable { hookParam.setResult(hookValue); super.afterHookedMethod(hookParam); } } }); XposedLog.logd("hooked WifiMac with " + hookValue); } catch (Exception e) { XposedLog.loge("error hooking WifiMac"); } } }
Hi @bigsinger ,
I feel you need to also hook "getMacAddress()" when SDK >= 24. As the function continues to be valid.
More correct code should be:
final String hookValue = modValue;
/// Hook getMacAddress()
...
/// Hook getWifiMacAddress()
if (Build.VERSION.SDK_INT >= 24){
...
}
You agree? Regards.
Note: Remember to update the source file, please! :smile:
:+1:
Hi @jeivarmarr ,
Check v1.19, please!
Hello @lars18th the two MAC variables (WIFI and BLUETOOTH), the others work normal.
v1.19 still does not work keeps calling the mac 02: 00: 00: 00: 00 for the wifi and BLUETOOTH)
v1.19 Error, thank you very much for your help
Log:
java.lang.NoSuchMethodError: android.app.admin.DevicePolicyManager#getWifiMacAddress()#exact 11-14 14:08:19.614 E/Xposed (15222): at de.robv.android.xposed.XposedHelpers.findMethodExact(XposedHelpers.java:341) 11-14 14:08:19.614 E/Xposed (15222): at de.robv.android.xposed.XposedHelpers.findAndHookMethod(XposedHelpers.java:182) 11-14 14:08:19.614 E/Xposed (15222): at de.robv.android.xposed.XposedHelpers.findAndHookMethod(XposedHelpers.java:257) 11-14 14:08:19.614 E/Xposed (15222): at com.bigsing.changer.b.b.a(SourceFile:194) 11-14 14:08:19.614 E/Xposed (15222): at com.bigsing.changer.MainHook.handleLoadPackage(SourceFile:79) 11-14 14:08:19.614 E/Xposed (15222): at de.robv.android.xposed.IXposedHookLoadPackage$Wrapper.handleLoadPackage(IXposedHookLoadPackage.java:34) 11-14 14:08:19.614 E/Xposed (15222): at de.robv.android.xposed.callbacks.XC_LoadPackage.call(XC_LoadPackage.java:61) 11-14 14:08:19.614 E/Xposed (15222): at de.robv.android.xposed.callbacks.XCallback.callAll(XCallback.java:106) 11-14 14:08:19.614 E/Xposed (15222): at de.robv.android.xposed.XposedInit$2.beforeHookedMethod(XposedInit.java:116) 11-14 14:08:19.614 E/Xposed (15222): at de.robv.android.xposed.XposedBridge.handleHookedMethod(XposedBridge.java:314) 11-14 14:08:19.614 E/Xposed (15222): at android.app.ActivityThread.handleBindApplication(Unknown Source) 11-14 14:08:19.614 E/Xposed (15222): at android.app.ActivityThread.-wrap2(ActivityThread.java) 11-14 14:08:19.614 E/Xposed (15222): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1576) 11-14 14:08:19.614 E/Xposed (15222): at android.os.Handler.dispatchMessage(Handler.java:102) 11-14 14:08:19.614 E/Xposed (15222): at android.os.Looper.loop(Looper.java:241) 11-14 14:08:19.614 E/Xposed (15222): at android.app.ActivityThread.main(ActivityThread.java:6274) 11-14 14:08:19.614 E/Xposed (15222): at java.lang.reflect.Method.invoke(Native Method) 11-14 14:08:19.614 E/Xposed (15222): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886) 11-14 14:08:19.614 E/Xposed (15222): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776) 11-14 14:08:19.614 E/Xposed (15222): at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:102) 11-14 14:09:07.346 I/Xposed (15456): CHANGER: All App(PackageName Without [android.])Hooked, You Can Turn Off On [Settings] And Add App By [Specific App].
Hi @jeivarmarr ,
First, what you see in this screenshot it's the MAC that you like to use. Change it to your prefered value.
Second, you can't show the hooked values in the logs as the LOG system is faulty in last releases. It will be fixed soon! See #25. Checnk new v1.20.
Regards.
Not change MAC
Log v1.20:
11-15 06:41:47.991 E/Xposed ( 3671): java.lang.NoSuchMethodError: android.app.admin.DevicePolicyManager#getWifiMacAddress()#exact
11-15 06:41:47.991 E/Xposed ( 3671): at de.robv.android.xposed.XposedHelpers.findMethodExact(XposedHelpers.java:341)
11-15 06:41:47.991 E/Xposed ( 3671): at de.robv.android.xposed.XposedHelpers.findAndHookMethod(XposedHelpers.java:182)
11-15 06:41:47.991 E/Xposed ( 3671): at de.robv.android.xposed.XposedHelpers.findAndHookMethod(XposedHelpers.java:257)
11-15 06:41:47.991 E/Xposed ( 3671): at com.bigsing.changer.b.b.a(SourceFile:193)
11-15 06:41:47.991 E/Xposed ( 3671): at com.bigsing.changer.MainHook.handleLoadPackage(SourceFile:79)
11-15 06:41:47.991 E/Xposed ( 3671): at de.robv.android.xposed.IXposedHookLoadPackage$Wrapper.handleLoadPackage(IXposedHookLoadPackage.java:34)
11-15 06:41:47.991 E/Xposed ( 3671): at de.robv.android.xposed.callbacks.XC_LoadPackage.call(XC_LoadPackage.java:61)
11-15 06:41:47.991 E/Xposed ( 3671): at de.robv.android.xposed.callbacks.XCallback.callAll(XCallback.java:106)
11-15 06:41:47.991 E/Xposed ( 3671): at de.robv.android.xposed.XposedInit$2.beforeHookedMethod(XposedInit.java:116)
11-15 06:41:47.991 E/Xposed ( 3671): at de.robv.android.xposed.XposedBridge.handleHookedMethod(XposedBridge.java:314)
11-15 06:41:47.991 E/Xposed ( 3671): at android.app.ActivityThread.handleBindApplication(Unknown Source)
11-15 06:41:47.991 E/Xposed ( 3671): at android.app.ActivityThread.-wrap2(ActivityThread.java)
11-15 06:41:47.991 E/Xposed ( 3671): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1576)
11-15 06:41:47.991 E/Xposed ( 3671): at android.os.Handler.dispatchMessage(Handler.java:102)
11-15 06:41:47.991 E/Xposed ( 3671): at android.os.Looper.loop(Looper.java:241)
11-15 06:41:47.991 E/Xposed ( 3671): at android.app.ActivityThread.main(ActivityThread.java:6274)
11-15 06:41:47.991 E/Xposed ( 3671): at java.lang.reflect.Method.invoke(Native Method)
11-15 06:41:47.991 E/Xposed ( 3671): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
11-15 06:41:47.991 E/Xposed ( 3671): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
11-15 06:41:47.991 E/Xposed ( 3671): at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:102)
11-15 06:41:48.216 I/Xposed ( 3761): CHANGER: All App(PackageName Without [android.])Hooked, You Can Turn Off On [Settings] And Add App By [Specific App].
11-15 06:41:48.381 I/Xposed ( 3720): CHANGER: All App(PackageName Without [android.])Hooked, You Can Turn Off On [Settings] And Add App By [Specific App].
11-15 06:41:49.006 I/Xposed ( 3959): CHANGER: All App(PackageName Without [android.])Hooked, You Can Turn Off On [Settings] And Add App By [Specific App].
11-15 06:41:49.012 I/Xposed ( 3947): CHANGER: All App(PackageName Without [android.])Hooked, You Can Turn Off On [Settings] And Add App By [Specific App].
11-15 06:41:49.012 I/Xposed ( 3947): CHANGER: hooking package [com.quicinc.cne.CNEService] BEGIN
11-15 06:41:49.070 E/Xposed ( 3947): java.lang.NoSuchMethodError: android.app.admin.DevicePolicyManager#getWifiMacAddress()#exact
11-15 06:41:49.070 E/Xposed ( 3947): at de.robv.android.xposed.XposedHelpers.findMethodExact(XposedHelpers.java:341)
11-15 06:41:49.070 E/Xposed ( 3947): at de.robv.android.xposed.XposedHelpers.findAndHookMethod(XposedHelpers.java:182)
11-15 06:41:49.070 E/Xposed ( 3947): at de.robv.android.xposed.XposedHelpers.findAndHookMethod(XposedHelpers.java:257)
11-15 06:41:49.070 E/Xposed ( 3947): at com.bigsing.changer.b.b.a(SourceFile:193)
11-15 06:41:49.070 E/Xposed ( 3947): at com.bigsing.changer.MainHook.handleLoadPackage(SourceFile:79)
11-15 06:41:49.070 E/Xposed ( 3947): at de.robv.android.xposed.IXposedHookLoadPackage$Wrapper.handleLoadPackage(IXposedHookLoadPackage.java:34)
11-15 06:41:49.070 E/Xposed ( 3947): at de.robv.android.xposed.callbacks.XC_LoadPackage.call(XC_LoadPackage.java:61)
11-15 06:41:49.070 E/Xposed ( 3947): at de.robv.android.xposed.callbacks.XCallback.callAll(XCallback.java:106)
11-15 06:41:49.070 E/Xposed ( 3947): at de.robv.android.xposed.XposedInit$2.beforeHookedMethod(XposedInit.java:116)
11-15 06:41:49.070 E/Xposed ( 3947): at de.robv.android.xposed.XposedBridge.handleHookedMethod(XposedBridge.java:314)
11-15 06:41:49.070 E/Xposed ( 3947): at android.app.ActivityThread.handleBindApplication(Unknown Source)
11-15 06:41:49.070 E/Xposed ( 3947): at android.app.ActivityThread.-wrap2(ActivityThread.java)
11-15 06:41:49.070 E/Xposed ( 3947): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1576)
11-15 06:41:49.070 E/Xposed ( 3947): at android.os.Handler.dispatchMessage(Handler.java:102)
11-15 06:41:49.070 E/Xposed ( 3947): at android.os.Looper.loop(Looper.java:241)
11-15 06:41:49.070 E/Xposed ( 3947): at android.app.ActivityThread.main(ActivityThread.java:6274)
11-15 06:41:49.070 E/Xposed ( 3947): at java.lang.reflect.Method.invoke(Native Method)
11-15 06:41:49.070 E/Xposed ( 3947): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
11-15 06:41:49.070 E/Xposed ( 3947): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
11-15 06:41:49.070 E/Xposed ( 3947): at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:102)
11-15 06:41:49.165 I/Xposed ( 3959): CHANGER: All App(PackageName Without [android.])Hooked, You Can Turn Off On [Settings] And Add App By [Specific App].
11-15 06:41:49.308 I/Xposed ( 4059): CHANGER: All App(PackageName Without [android.])Hooked, You Can Turn Off On [Settings] And Add App By [Specific App].
11-15 06:41:49.308 I/Xposed ( 4059): CHANGER: hooking package [com.qualcomm.qcrilmsgtunnel] BEGIN
11-15 06:41:49.347 E/Xposed ( 4059): java.lang.NoSuchMethodError: android.app.admin.DevicePolicyManager#getWifiMacAddress()#exact
11-15 06:41:49.347 E/Xposed ( 4059): at de.robv.android.xposed.XposedHelpers.findMethodExact(XposedHelpers.java:341)
11-15 06:41:49.347 E/Xposed ( 4059): at de.robv.android.xposed.XposedHelpers.findAndHookMethod(XposedHelpers.java:182)
11-15 06:41:49.347 E/Xposed ( 4059): at de.robv.android.xposed.XposedHelpers.findAndHookMethod(XposedHelpers.java:257)
11-15 06:41:49.347 E/Xposed ( 4059): at com.bigsing.changer.b.b.a(SourceFile:193)
11-15 06:41:49.347 E/Xposed ( 4059): at com.bigsing.changer.MainHook.handleLoadPackage(SourceFile:79)
11-15 06:41:49.347 E/Xposed ( 4059): at de.robv.android.xposed.IXposedHookLoadPackage$Wrapper.handleLoadPackage(IXposedHookLoadPackage.java:34)
11-15 06:41:49.347 E/Xposed ( 4059): at de.robv.android.xposed.callbacks.XC_LoadPackage.call(XC_LoadPackage.java:61)
11-15 06:41:49.347 E/Xposed ( 4059): at de.robv.android.xposed.callbacks.XCallback.callAll(XCallback.java:106)
11-15 06:41:49.347 E/Xposed ( 4059): at de.robv.android.xposed.XposedInit$2.beforeHookedMethod(XposedInit.java:116)
11-15 06:41:49.347 E/Xposed ( 4059): at de.robv.android.xposed.XposedBridge.handleHookedMethod(XposedBridge.java:314)
11-15 06:41:49.347 E/Xposed ( 4059): at android.app.ActivityThread.handleBindApplication(Unknown Source)
11-15 06:41:49.347 E/Xposed ( 4059): at android.app.ActivityThread.-wrap2(ActivityThread.java)
11-15 06:41:49.347 E/Xposed ( 4059): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1576)
11-15 06:41:49.347 E/Xposed ( 4059): at android.os.Handler.dispatchMessage(Handler.java:102)
11-15 06:41:49.347 E/Xposed ( 4059): at android.os.Looper.loop(Looper.java:241)
11-15 06:41:49.347 E/Xposed ( 4059): at android.app.ActivityThread.main(ActivityThread.java:6274)
11-15 06:41:49.347 E/Xposed ( 4059): at java.lang.reflect.Method.invoke(Native Method)
11-15 06:41:49.347 E/Xposed ( 4059): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
11-15 06:41:49.347 E/Xposed ( 4059): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
11-15 06:41:49.347 E/Xposed ( 4059): at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:102)
11-15 06:41:49.671 I/Xposed ( 4149): CHANGER: All App(PackageName Without [android.])Hooked, You Can Turn Off On [Settings] And Add App By [Specific App].
11-15 06:41:50.026 I/Xposed ( 4149): CHANGER: All App(PackageName Without [android.])Hooked, You Can Turn Off On [Settings] And Add App By [Specific App].
11-15 06:41:50.811 I/Xposed ( 4314): CHANGER: All App(PackageName Without [android.])Hooked, You Can Turn Off On [Settings] And Add App By [Specific App].
11-15 06:41:50.889 I/Xposed ( 4333): CHANGER: All App(PackageName Without [android.])Hooked, You Can Turn Off On [Settings] And Add App By [Specific App].
11-15 06:41:50.890 I/Xposed ( 4333): CHANGER: hooking package [org.codeaurora.ims] BEGIN
11-15 06:41:51.018 E/Xposed ( 4333): java.lang.NoSuchMethodError: android.app.admin.DevicePolicyManager#getWifiMacAddress()#exact
11-15 06:41:51.018 E/Xposed ( 4333): at de.robv.android.xposed.XposedHelpers.findMethodExact(XposedHelpers.java:341)
11-15 06:41:51.018 E/Xposed ( 4333): at de.robv.android.xposed.XposedHelpers.findAndHookMethod(XposedHelpers.java:182)
11-15 06:41:51.018 E/Xposed ( 4333): at de.robv.android.xposed.XposedHelpers.findAndHookMethod(XposedHelpers.java:257)
11-15 06:41:51.018 E/Xposed ( 4333): at com.bigsing.changer.b.b.a(SourceFile:193)
11-15 06:41:51.018 E/Xposed ( 4333): at com.bigsing.changer.MainHook.handleLoadPackage(SourceFile:79)
11-15 06:41:51.018 E/Xposed ( 4333): at de.robv.android.xposed.IXposedHookLoadPackage$Wrapper.handleLoadPackage(IXposedHookLoadPackage.java:34)
11-15 06:41:51.018 E/Xposed ( 4333): at de.robv.android.xposed.callbacks.XC_LoadPackage.call(XC_LoadPackage.java:61)
11-15 06:41:51.018 E/Xposed ( 4333): at de.robv.android.xposed.callbacks.XCallback.callAll(XCallback.java:106)
11-15 06:41:51.018 E/Xposed ( 4333): at de.robv.android.xposed.XposedInit$2.beforeHookedMethod(XposedInit.java:116)
11-15 06:41:51.018 E/Xposed ( 4333): at de.robv.android.xposed.XposedBridge.handleHookedMethod(XposedBridge.java:314)
11-15 06:41:51.018 E/Xposed ( 4333): at android.app.ActivityThread.handleBindApplication(Unknown Source)
11-15 06:41:51.018 E/Xposed ( 4333): at android.app.ActivityThread.-wrap2(ActivityThread.java)
11-15 06:41:51.018 E/Xposed ( 4333): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1576)
11-15 06:41:51.018 E/Xposed ( 4333): at android.os.Handler.dispatchMessage(Handler.java:102)
11-15 06:41:51.018 E/Xposed ( 4333): at android.os.Looper.loop(Looper.java:241)
11-15 06:41:51.018 E/Xposed ( 4333): at android.app.ActivityThread.main(ActivityThread.java:6274)
11-15 06:41:51.018 E/Xposed ( 4333): at java.lang.reflect.Method.invoke(Native Method)
11-15 06:41:51.018 E/Xposed ( 4333): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
11-15 06:41:51.018 E/Xposed ( 4333): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
11-15 06:41:51.018 E/Xposed ( 4333): at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:102)
11-15 06:41:52.369 I/Xposed ( 4489): CHANGER: All App(PackageName Without [android.])Hooked, You Can Turn Off On [Settings] And Add App By [Specific App].
11-15 06:41:52.459 I/Xposed ( 3959): CHANGER: All App(PackageName Without [android.])Hooked, You Can Turn Off On [Settings] And Add App By [Specific App].
11-15 06:41:52.459 I/Xposed ( 3959): CHANGER: hooking package [org.codeaurora.ims] BEGIN
11-15 06:41:52.481 E/Xposed ( 3959): java.lang.NoSuchMethodError: android.app.admin.DevicePolicyManager#getWifiMacAddress()#exact
11-15 06:41:52.481 E/Xposed ( 3959): at de.robv.android.xposed.XposedHelpers.findMethodExact(XposedHelpers.java:341)
11-15 06:41:52.481 E/Xposed ( 3959): at de.robv.android.xposed.XposedHelpers.findAndHookMethod(XposedHelpers.java:182)
11-15 06:41:52.481 E/Xposed ( 3959): at de.robv.android.xposed.XposedHelpers.findAndHookMethod(XposedHelpers.java:257)
11-15 06:41:52.481 E/Xposed ( 3959): at com.bigsing.changer.b.b.a(SourceFile:193)
11-15 06:41:52.481 E/Xposed ( 3959): at com.bigsing.changer.MainHook.handleLoadPackage(SourceFile:79)
11-15 06:41:52.481 E/Xposed ( 3959): at de.robv.android.xposed.IXposedHookLoadPackage$Wrapper.handleLoadPackage(IXposedHookLoadPackage.java:34)
11-15 06:41:52.481 E/Xposed ( 3959): at de.robv.android.xposed.callbacks.XC_LoadPackage.call(XC_LoadPackage.java:61)
11-15 06:41:52.481 E/Xposed ( 3959): at de.robv.android.xposed.callbacks.XCallback.callAll(XCallback.java:106)
11-15 06:41:52.481 E/Xposed ( 3959): at de.robv.android.xposed.XposedInit$5.afterHookedMethod(XposedInit.java:195)
11-15 06:41:52.481 E/Xposed ( 3959): at de.robv.android.xposed.XposedBridge.handleHookedMethod(XposedBridge.java:348)
11-15 06:41:52.481 E/Xposed ( 3959): at android.app.LoadedApk.
Hi @bigsinger ,
In the log from @jeivarmarr you can see:
java.lang.NoSuchMethodError: android.app.admin.DevicePolicyManager#getWifiMacAddress()#exact
So the problem is that the method you want to hook doesn't exists. But this does not have sense as:
You understand it?
Hi @jeivarmarr ,
In the logs it seems that you have enabled System Wide Hooks. Please, disable it in preferences. Then select to only Hook the APP that you need, reboot and check if the hook is done. If not, review the LOGs another time.
We will investigate it.
Note: We recomend to use the App "DevCheck" (https://play.google.com/store/apps/details?id=flar2.devcheck) for checking if the hooks are working.
Hi @jeivarmarr ,
So, It works for other values (like IMEI) and not for "Wifi MAC Address" and "Bluetooth MAC Address".
When, respond to this:
We will investigate about how to correctly hook these values.
You are hooking System Wide? Yes Which Android version you use? Android 7.1.1
Hi @jeivarmarr ,
You are hooking System Wide? Yes
Disabled it, and select only the APP you like to hook.
Which Android version you use? Android 7.1.1
I'm using 7.0, so differencies can come.
Which App are you using for checking the values?
Please, comment it. I'll install the same App.
maybe v1.22 resolved @jeivarmarr @lars18th
On Android 7.1.2 (LineageOS 14.1) wifi mac is correct. Bluetooth has not changed, it's 02:00:00:00:00:00.
I couldn't find a direct answer, but does this module support system wide mac spoof on Android 9?
I have tried everything and I can not make it read and change the mac address of the ANDROID device 7.1.1 AND XPOSED 87