> Obviously apps can tell if they haven't been granted a permission (even if you tried to fake this, they aren't dummies and will know if it's not working),

How can they tell? For the permissions I can think of: location, filesystem, etc. it should be easy to lie/spoof.