开发者

When would one use the BRICK permission?

In Android, there used to be a permission with the name BRICK that could be used to potentially disable the device. Other than hearing it as an urban myth, I do not really know if this permiss开发者_StackOverflow中文版ion can really be used to brick a device.

All I can think of are the following reasons:

  • To build a LoJack kind of an application that can remote disable a phone should it discover that the phone was stolen.
  • For enterprises to be able to remote-wipe a phone should the phone get lost somewhere.

Is there any other sane reason why a third-party app would require to use it? And why was it removed (not sure) from GingerBread?

Also, what does it really do anyways? Reset the phone to its factory settings?


Third-party apps cannot get this permission, or various other permissions defined in the SDK, unless perhaps they are signed by the system firmware signing key.

I do not see where the BRICK permission is used anywhere in the OS at present.


It's still there in the android documentation and there is no indication that it is deprecated. http://developer.android.com/reference/android/Manifest.permission.html#BRICK It is a system level permission and so has to be signed with the same signature as the android version build. So an app developer cannot use it. It may be usable on an emulator but I'm not sure.

As to WHY someone would want it? I can only think of the same reasons you mentioned: enterprise remote wipe or similar.

Edit: Great link discussing the matter:

http://androidcommunity.com/execute-android-brick-20110204/

According to that, it's no longer available and when it was, it was only for system builders possibly to prevent people from hacking their phones. Didn't motorola get into controversy with the Droid 2 or something over this?


If the BRICK permission were declared in an app, Android would describe it to the user as follows (source, at or near line 1626, or here):

permanently disable phone/tablet

Allows the app to disable the entire phone/tablet permanently. This is very dangerous.

While this is documented, only system apps signed by the platform key can use this permission, and I am not aware of an app within stock Android that uses this permission. As such, I do not know the actual behavior this permission controls.


You should understand difference between a permission and actual API functionality supported by this permission. So far I do not see any API calls for bricking a device. You should understand also difference between soft bricking and hard bricking. For example damage boot portion of OS will be just soft bricking however physical burning some circuits can be considered as hard bricking. Since use of Android isn't limited to only phones and tablets, I can see some military use of this functionality, for example if you have Android based missiles launcher, using this functionality makes great sense. Another use case for example smart cards, I heard that some TV provider used smart cards which were hacked, so the TV provider just sent a "bricking" signal issued permanent damage of smart cards. I am currently interviewing by a company which deploy Android on smart cards, so certainly I will work with this functionality soon and can give you more details.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜