Open Vavun opened 5 years ago
hey,
i'll look into this when i can but i can tell you it's very likely it's a permission issue and the patcher code is ok.
Thanks
I faced this long time ago, I tried even place FAKE_PACKAGE_SIGNATURE in framework-res.apk of patched rom and everytime I see this.
This how it looks with dangerous
protection level.
https://youtu.be/301QUwWh6lY
This is lineageOS 14.1
Same thing when placing FAKE_PACKAGE_SIGNATURE in framerork-res Signature spoofing permitted even signature spoofing permission is not granted
I would also like to see per app based granting permissions. Otherwise everything work just fine on my phone.
EDIT: This is the patches set used when building services framework: https://github.com/microg/android_packages_apps_GmsCore/tree/master/patches
I've modified the patches to make it more similar to MicroG's approach: https://github.com/teowoz/haystack/compare/050d6319ad2f7b4a0558d8d61ce158d12a83e99c...teowoz:e845eb3e72bae2d20ac9c9907f566289cf53b5ef
It won't work in Android 4.0 and below, but the MicroG patches are for >=4.4 anyway.
You also need to set the permission's protectionLevel
to dangerous
(with normal
it is granted automatically). It probably could be done by patching /system/framework/framework-res.apk
but repacking it looks complicated and I failed to do it correctly. However NanoDroid approach with additional apk ( https://gitlab.com/Nanolx/NanoDroid/-/issues/53 ) also works. The source code for it is currently unavailable (404) but I unpacked the apk, modified (protectionLevel
was normal
in it), repacked and signed it (the signature apparently isn't verified, but it must exist).
The effect is that signature spoofing permission works similar to MicroG source code patch: signature spoofing is allowed only if the permission is explicitly granted by the user.
Tested using NanoDroid patcher on LineageOS 17.1 (lineage-17.1-20200808-nightly-bardockpro-signed.zip
)
Hi @Lanchon
For first sorry for bad english
Suggestion: Modify and improve patches for android 6+ (if it is possible) to make them check if
android.permission.FAKE_PACKAGE_SIGNATURE
declared in ROM then behave accordingly to system features.I made small fake app for @Nanolx NanoDroid patcher that add info about signatire spoofing and declares FAKE_PACKAGE_SIGNATURE permission.
That is what I'm talking about https://gitlab.com/Nanolx/NanoDroid/issues/53
So, if we change
android:protectionLevel
in AndroidManifest.xml fromnormal
todangerous
it became possible to ask, grant, deny and manage this permission, but patched system ignores this and grant this permission by default to all apps. (Anyway, we can still see ask permission dialog for this permission if protectionLevel isdangerous
)It would be great if patched system will check if fake pachage signature permission is allready declared in system (and managable) and grant this permission according to settings to each app like other
dangerous
permissions and grant by default to all if not declared or declared asnormal
and so on.If it possible it will be FULL signsture spoofing support patch with managing :)
Thanks