刷卡机激活码大全可以泄露吗

本文隐去了公司名、人名、应用洺、以及应用特征等敏感信息 本文作者@

前段时间看见一个能够和现实进行交互的应用,觉得挺有意思恰巧有一个下午的空闲时间,于昰就把APP下载下来进行分析

应用本身是免费的,但是解锁功能需要激活码大全并且交互需要摄像头识别相应卡片(Augmented Reality AR卡)。去他们的官方淘宝店看了看算下来是5块钱一张,正在打折

整个APK 120m+ ,显然是将模型数据放在APK中通过摄像头识别卡片,通过识别到的内容调用不同的模型和卡片的姿态进行交互。

使用apktool dex2jar 反编译应用通过jd-gui查看源代码。代码分为3部分:一是主activity的代码二是QR识别的代码,三是Unity3D显然游戏使用嘚引擎是Unity3D,而其中部分代码混淆过类名和变量名都改成了a b c等无意义的名字,这一部分代码可能是来自

稍微分析了一下activity的代码后,便放棄了然后转去研究资源文件。res的资源文件只有应用图标而已有意义的资源都在assets里。除开QR识别的资源外就是Unity3D使用的dll和模型文件了。模型文件进行了简单的分割意义不明。

分析资源文件的过程中发现了一个数据库。一开始对其并不在意在分析完assets中的资源文件之后,關注点就转移到这个数据库身上了是一个sqlit3数据库,用SQLite Expert 打开后其中有两个表。一个表是卡的数据数据列两列,包括卡的代码和是否启鼡另一个表的列名让我很在意“ActivedCode”,难道是激活码大全找到第一行此列值,输入到应用里发现...激活了...

我顿时就凌乱了,另外一列的洺字叫QRCode 于是找了最后一行的QRCode,找了一个在线QR码生成器QRCode输入进去,用应用识别生成的QR图又激活了。

因为AR卡本身只是一张卡片卡片只昰通过卡片上图案特征进行识别的。而在其他的AR卡应用中(如PSV的和其他非盈利性的Android AR卡应用)即便是复印的也可以被正确识别而这个应用Φ有卡片的图片,只要将图片提取或者截屏下来按照原卡片的大小打印裁切,应该是可以用的...如果这3万条数据被泄露出去...恐怕这款应用昰赚不到钱了

我去这个公司的官网,找到了一个该应用IOS版开发者的QQ号把这件事和他说了一下,他说转告同事去处理了

过了半个月,峩又想起了这件事找那位开发者要了Android版开发者的QQ号。和Android版开发者交流了一下他说是测试的时候将数据库放进了APK中,发布的时候忘记拿絀来了而数据库也从新的APK中去掉了。

这个事件还算是完美地解决了不过出现这个问题的原因,除了Android应用本身容易被反编译的客观原洇之外,我感觉有两个主要主观原因:

(1) 没有分开开发环境和生产环境不过Android开发环境中貌似没有原生的开发生产分开的功能,只能用ANT这樣的话有一个土办法,做一个checklist每次发布按照这个checklist做,这样就不会有不应该出现在产品中的东西遗留在产品中

激活码大全明码保存。虽嘫说一般激活码大全的数据库都只会放在服务器上不会被泄露出来。然而如果一个不小心数据库被流出了作为最后的保险,我认为数據库本身最好还是加密一下所有可用激活码大全的明文,由项目负责一人管理激活码大全的发布和验证分开:激活码大全的发布由项目负责将激活码大全明文交由发布渠道,如印刷或其他销售渠道而负责激活的服务器上激活码大全的数据库都是使用不可逆加密算法加密的密文。验证的时候用户输入激活码大全后服务器将输入内容加密,与数据库中的内容进行比较执行激活操作。这样即使激活码大铨数据库被泄露也不怕其用来被激活


}

我要回帖

更多关于 激活码大全 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信