为什么Angry Birds在PC上被破解

前日从网上下载了PC破解版Angry Birds,解压后即看见了"AppUpWrapper.dll"文件,马上便得知该版本是从Intel软件商店AppUp中流出。

那么,黑客如何得手?首先,要从软件商店的授权认证机制谈起。大多数软件商店上的程序都需要一个SDK进行授权管理,开发者在程序开始处调用SDK中授权认证相关的类,并将软件的GUID(由软件商店提供)写在代码中。

通过软件商店下载该程序后,客户运行程序,程序将接入到软件商店的服务器,同时传入用户ID和GUID,判断该用户是否获得授权。如何没有获得授权,程序就退出。

AppUp开张伊始,只提供了C/C++的SDK。使用其它框架开发的程序无法直接使用SDK,于是就需要使用转换器来调用SDK。当时比较突出的问题是缺乏对.Net平台的支持,好事之徒于是公布了一个转换器的源代码,使得.Net平台上的开发者能够向AppUp提供应用。"AppUpWrapper.dll"文件即是开源转换器所生成的库。

恰巧,Angry Birds在PC上是由.Net所开发,开发者使用了转换器调用SDK。黑客所做的,就是在转换器的代码上做文章,使得程序无论何时都得到授权认证成功的信息,而并未真正接入到服务器验证用户信息。

你可能感兴趣的:(BI)