游戏邦在:
杂志专栏:
gamerboom.com订阅到鲜果订阅到抓虾google reader订阅到有道订阅到QQ邮箱订阅到帮看

Android的DRM数字版权管理遭破解,盗版应用APP变简单

发布时间:2010-08-27 15:44:38 Tags:,,

仅仅亮相一个月,谷歌为保护Android市场已有应用而设的授权系统便遭破解。谷 歌这一“Android专用授权服务”(Licensing Service for Android)于七月末发布,可运行在1.5及以上版本的所有谷歌Android手机操作系统之上,旨在保护付费Android应用免遭盗版。基本上, 这个系统好比为Android应用而设的某种形式的数字版权管理(DRM)保护系统,保证用户手机上的应用是正确购买并付费的。

android

android

现在,Justin Case在Android Police发表的一篇详细的操作指南中,不仅谷歌的授权系统被破解,更糟的是,破解过程相当之容易。

是怎样被黑的呢?

这年月,保护系统被黑或被破解一点儿都不奇怪。事实上,只要有足够的红牛和一个有恒心有毅力的黑客,世上便没有牢不可破的代码。这次破解真正的麻烦之处在于——太简单了!

这起事件中,使破解成为可能的是授权系统使用了Java代码。据Case所说,当前绝大部分Android应用都是Java代码写的。由于Java的跨平台需求,已有大量可反编译和反汇编Java代码的软件套件出现,使得Java代码很容易成为逆向工程的目标。

反编译代码后,破解授权系统就很简单了,只要找到谷歌授权系统关联的文件,往里面包含进一套不同的指令集就行。黑客可能只需要改变定义应用在授权验证完成后应如何动作的那几个字节的代码。

通常,使用谷歌保护系统的应用要与谷歌市场服务器通信以确认自身是否被正确授权。如果未被授权,应用会被告知“不要运行”。黑它只是将指示“不要运行”的指令集改为“放心大胆地运行吧”。当然,那只是个基本的,非技术性的解释。有开发背景的人士应该看一下具体步骤。

此破解除了本来就容易实现,还可以用脚本使之自动化。Case警告说:这意味着,大多数Android应用都能从授权系统中剥离出来,在市场之外被分发运用,也就是被盗版。

android_licensing_hack

android_licensing_hack

破解事件对Android而言情况有多糟呢?

虽 然对Android生态系统自身而言未必就如阿基里斯之踵一般致命——它的势头就现在而言还太遥远——但至少,这应引起关注了。不似苹果那严密控制的应用 仓库环境,谷歌Android操作系统默认是更开放的,用户仅仅改变一个设置就可以安装在官方市场之外的应用。与此同时,iPhone用户则需要在每个苹 果软件更新后等待几周时间,等专注的iPhone黑客队伍发布新的“越狱”——一个终端用户工具,用于抹去设备对未授权第三方应用安装的限制。

谷歌的开放性,从另一方面讲,对开发者和用户是一种福利。对开发者而言,不用再为了在官方应用仓库发布应用而遵从那复杂又多变的开发者协议。对用户而言,则是拥有了不用破解自己手机就能随意安装应用的自由。

然而,Android的开放性伴随着一个易破解的保护系统,这意味着:现在,不想掏腰包的终端用户同样可以在他们的手机上部署付费应用,而且,部署操作难以置信地容易。

这对开发者社区来说可称不上是一件高兴的事儿——特别是考虑到先前的消息:iPhone用户更愿意为应用付费,57%的Android应用是免费的,而同时只有28%的iPhone应用免费。

值得指出的是:并非所有Android应用使用谷歌授权服务,但此保护系统是个受欢迎的选择,因为它很容易实现,能将应用与谷歌帐户关联起来,使用户在升级到新手机时仍然保留原有应用。

The licensing system Google implemented to protect the applications found in its Android Market has been cracked, only a month after it debuted. Google’s “Licensing Service for Android,” designed to protect against unauthorized use of paid Android applications, was released late July  for all versions of the Google Android mobile operating system, 1.5 or higher. In basic terms, the system functions as sort of a DRM protection mechanism for Android applications, ensuring that the apps on a user’s phone have been properly purchased and paid for.

Now, in a detailed how-to guide posted by Justin Case on Android Police, not only has Google’s licensing system been cracked, doing so was a fairly easy process.
How Was This Hacked?

It’s not surprising to hear that a protection system was hacked or cracked these days. There is virtually no unbreakable code, given enough Red Bull and a dedicated hacker. What’s somewhat disturbing about this particular crack, however, was how simple it was to accomplish.

In this case, the crack was made possible due to the licensing system’s use of Java code. According to Case, Java code is what most Android applications are currently written in. Because of Java’s cross-platform compatibility needs, there are already a number of software suites that can decompile and disassemble Java code, making it an easy target for reverse engineering.

After decompiling the code, cracking the licensing system is as simple as finding the file that references Google’s licensing service and changing it to include a different set of instructions. A hacker would just need to change of couple of bytes of code that detail how an application should behave after verification of its license is complete.

Typically, an application using Google’s protection mechanism would communicate with a Google’s Marketplace server to confirm whether or not it’s properly licensed. If it was not licensed, the app would be told not to run. This hack just changes the instruction set that means “don’t run” into one that means “sure, go ahead and run.” That’s a basic, non-technical explanation, of course. Those with a development background should read the detailed steps laid out here instead.

In addition to the hack being easy to accomplish, it can also be automated using scripts. That means most Android applications could be stripped of their licensing protection and made available in off-Market, pirated distributions, Case warns.

How Bad is this for Android?

While not necessarily an Achilles’ heel for the Android ecosystem itself – its momentum is too far along for that now – at the least, it’s a cause for concern. Unlike Apple’s carefully controlled App Store environment, Google Android operating system is more open by default, allowing users to install apps from outside the official marketplace just by changing a single setting on their phone. iPhone users, meanwhile, have to wait for weeks on end after every Apple software update for a team of dedicated iPhone hackers to release a new “jailbreak” – an end-user tool of some sort that removes the restrictions placed on the device which prevent the installation of unapproved, third party apps.

Google’s openness is, on the one hand, a benefit to its developers and users, the former who no longer have to comply with complex and ever-changing developer agreements just to release an app in the official app store, and the latter having the freedom to install any applications they choose without having to hack their phone to do so.

However, Android’s openness combined with an easy-to-crack protection system means that it’s now also incredibly easy for paid applications to be distributed to end users who don’t want to pay for them.

That’s not something that will make the developer community happy – especially given the earlier news that iPhone users are more willing to pay for apps and that 57% of Android apps are free, when only 28% of iPhone apps are.

It should be noted that not all Android applications use Google’s Licensing Service, but the system is a popular choice because it’s easy to implement and it associates applications to a Google account, allowing users to take applications with them when they upgrade to a new handset. (source:read write web/rwwchina)


上一篇:

下一篇: