如何将Android应用程序保护到设备?

use*_*117 5 security android

对于在Android设备上安装和运输的工业应用程序,我希望保护该应用程序免遭未经授权的复制到其他设备.我的理解是有很多应用程序(一些在Android设备上运行,一些在桌面PC上运行)可以将应用程序复制为APK文件并将其安装在其他Android设备上.(其中一些作为备份软件销售)

什么是Android的授权模式?是否依赖于拥有Google帐户或使用Android电子市场?(这些设备没有与之关联的Google帐户,并且使用它们的工业环境通常没有WiFi访问权限).

如何编写我的应用程序以仅在我们安装它的设备上运行?

Com*_*are 4

Android的授权模式是什么?

这取决于您认为“授权模型”是什么以及您在什么上下文中询问。APK 本身没有“授权模型”,就像文本文件、肥皂、砖块、高尔夫球等一样。

如果“授权模型”是指“如何验证该应用程序是从 Android Market 获取的”,则可以使用许可证验证库(LVL)。但是,这似乎与您的用例(“在 Android 设备上安装和发布的工业应用程序”)无关。

如何编写我的应用程序以仅在我们安装它的设备上运行?

通过滚动您自己的自定义固件、使您的应用程序成为主屏幕、从固件中删除不必要的其他应用程序等,防止设备用户运行其他任何内容。这可能会限制您设备的实用性,如果您是尝试使您的应用程序可用于任意设备等。

或者,制定类似于 LVL 的您自己的许可证管理方案,并希望对盗版应用程序感兴趣的人都拥有足够的技能来对您的代码进行逆向工程并剪掉许可证管理内容。根据您的客户群,您可能会幸运地采用这种方法。这与具有许可证密钥等的传统企业软件没有显着不同。因此,为桌面应用程序提供许可管理内容的公司完全有可能拥有可供许可的商业 Android 解决方案。

“许可证管理方案”可以像“将 WiFi NIC 的 MAC 地址刻录到 APK 文件中并在运行时进行比较”一样简单,但同样,这种保护很容易被逆向工程和删除。