折腾电子词典系列(2)BlueDict恶心的广告方式
截至2017年3月,BlueDict可以称得上是Android系统上最好用的电子词典,不是之一,是唯一。
然而,BlueDict的广告方式实在是太恶心了。
Android软件含有广告很正常,但是像BlueDict这样的广告方式真的不多,让人感觉它不是为了广告而广告;似乎是为了用恶心的广告敦促用户去购买Pro版。BlueDict的广告显示方式与一般的Android软件大不相同,不仅仅是广告,而是通过广告给用户强大的视觉冲击和视觉压力……用过人相比对其广告方式心有余悸。
本来软件做的好,支持一下作者没什么,本人也在Google Play上买了一些软件的Pro版支持其作者;但是被这么恶心的广告催着去买Pro版,实在是感觉不爽。
而且BlueDict无法通过Google Play购买,购买后也不能像一般的安卓软件那样,只要用同一个Google帐号登录就可以无缝迁移;BlueDict Pro版是绑定手机串号的。
有广告,特别是不一般的广告方式,就必须防止小白进行逆向工程去除广告。
BlueDict加密很强悍,不是一般小白通过简单的反编译、去广告、重新编译就能搞定的。这玩意儿采用了特殊的签名及签名验证方法,不说去广告,仅仅是反编译,然后重新编译就会闪退,因为签名验证失败。
除了技术上采用了强悍的加密,BlueDict似乎还采取了更多的社会工程学方法来敦促用户购买Pro版,包括但不限于:
- 猛烈打击爆破版的帖子和博客,可能通过软硬兼施等各种办法,使网站将已发布的爆破版换成原版;注意,是换成原版,而不是删除发布。但帖子中显示的依然是xx爆破版,从而让小白误以为下载的是xx爆破版。
- 甚至,可能作者(团队)采取了混淆手段:他们自己以破解版、免费Pro版等为主题四处发布信息,实际发布的就是原版。
- ……
无论上述社会工程学手段是否是原作者(团队)所为,都已经成为事实:通过搜索引擎检索BlueDict、蓝典,破解版,免费版Pro等关键字,获得的99.99%是垃圾信息。
既然原作者(团队)动用了社会工程学的“混淆战术”,那么就使用搜索引擎的时候,就需要一点点技巧了:不要搜索软件名称关键;取而代之的是直接搜索md5校验值。不管怎么混淆,校验和可以快速作为确认软件身份的依据。
科普一下BlueDict的版本信息:这玩意儿分为“免费含广告版”和“20元绑定手机串号注册版”。
下面是最近一些原版md5值供参考,如果您在任何网站下载到下述md5值的软件,就直接删了吧,这些都是原版,要么有恶心的广告,要么以开启后会提示输入与手机串号对应的注册码。
原版的校验和-免费恶心广告版
这是“免费版”的校验和,再说一遍,这些是原版,不是爆破版:
BlueDict.6.0.9免费版.apk
大小: 1900036 字节
MD5: C2E3C21EF326C9F1EBC25C202455857D
SHA1: 0D5A1D7F32A4B3DE6B2685EFAC27819F9CF13E94
CRC32: 968961A3
BlueDict.7.0免费版.apk
大小: 2596358 字节
MD5: 648042C9A67B10C7EAF6DC2750F21D76
SHA1: D86DA499B3AD215EDAD5D5760033170948628058
CRC32: 50B68BE0
BlueDict.7.0.2免费版.apk
大小: 3274516 字节
MD5: FBDBC7A58867981C5C845C5DE80CFE44
SHA1: D9AFCE5B324FA2BA6007B0AF09A1F3E3EACEE381
CRC32: A70AE11A
BlueDict.7.0.6免费版.apk
大小: 3275023 字节
MD5: 6877A6FD523CFE744FFB84B74F4DEBB6
SHA1: 6ADA852CEADE8BEA8EB91F88484289F22FB39C20
CRC32: 3C2D3D62
BlueDict.7.0.8免费版.apk
大小: 3141994 字节
MD5: 4C47A9F9B4BFC893DEF9A9CA94473F30
SHA1: 929766F143AF32A63CCC2F12B060F0ED9792091D
CRC32: DF058172
BlueDict.7.2.0免费版.apk
大小: 3176046 字节
修改时间: 2017年3月18日, 21:37:31
MD5: 906BE05ADB41A1E423D145940DCC96B1
SHA1: C7AE4C5BB71748A604F818640B29C447536D6D8A
CRC32: D2A1522D
BlueDict.7.2.6免费版.apk
大小: 3196325 字节
修改时间: 2017年3月18日, 21:37:59
MD5: 0CD886C0872760BAC11BC257294E9A8E
SHA1: DE1DE6FAE3E2F96034F393589F40151DC913168B
CRC32: 8FA57692
BlueDict.7.2.9.免费版.apk
大小: 3197202 字节
MD5: 8F6F08E7CACE2111EDF14D07528E988B
SHA1: 8A3F4934A4C1EC2EC95BAF41D2AC082DD1F5E2C0
CRC32: BD99A2A5
BlueDict.7.3.2.免费版.apk
大小: 3204252 字节
MD5: 18563270CCB51987B174169DE1801658
SHA1: DB4250016348AB00046636C1CE733EA2BEBFA380
CRC32: 6B5E73BD
BlueDict.7.3.6免费版.apk
大小: 2948065 字节
MD5: E231EAE80F5FC221C4B31D6D10FF7CCA
SHA1: 9C3FD72BE598DF1113253D8B4762D28311E3D296
CRC32: DD713E10
BlueDict.7.3.9免费版.apk
大小: 3022105 字节
MD5: 865523A5180DF385363CC89EBD0ECA6B
SHA1: E7921DAA78095197F43CA66602B77E1C4AC38003
CRC32: EB45E444
BlueDict.7.6.0免费版.apk
大小: 3990204 字节
MD5: 6F4DE2AD49F518640193C418AE707884
SHA1: D596BD7F3B60AD4680C8CEE0F0ACCCE11505739E
CRC32: 08108824
BlueDict7.6.1免费版.apk
大小: 3991311 字节
MD5: 97BDB1A6CD169291969B296EAA6670BA
SHA1: 147ACF7269E7E3D7BD417B369194894685E0181F
CRC32: 81363D37
原版的校验和-绑定手机串号注册版
这是“注册版”的校验和,再说一遍,这些是原版,不是爆破版,需要输入注册码的:
BlueDictPro.6.0.9注册版.apk
大小: 1400967 字节
MD5: 57036CBC1B297FFF59B1446FA2C178D8
SHA1: BF98767B02E42E6C20F0C5189E55CF44CD68F6FE
CRC32: 85DAE180
BlueDictPro.7.0注册版.apk
大小: 1922296 字节
MD5: EF9D3BC8FCBB7C2E240161A3CB915E37
SHA1: 91ED96B3EC95459F4CC8935599CFC1410402A9C2
CRC32: 94EE3D51
BlueDictPro.7.0.2注册版.apk
大小: 2600517 字节
MD5: 5005B764207B3DF479436263FC34190D
SHA1: 7BAD0AAC7D957A3EA6DED46ECEACB01F2E2D4E2E
CRC32: D361E4F7
BlueDictPro.7.0.6注册版.apk
大小: 2602620 字节
MD5: CE2956D0147F684C40C277D2B1EB7D14
SHA1: A7A6A6F1D50E8840413E8450846D44F71DFA267C
CRC32: 4E08E367
BlueDictPro.7.0.8注册版.apk
大小: 2602701 字节
MD5: 63557F2F8E2588262B3EDA885935C991
SHA1: F71F73FE3F918C299B5580F7B57026ABDC6D41B1
CRC32: 300D973B
BlueDictPro.7.2.0注册版.apk
大小: 2624589 字节
MD5: ECDC9CF7B3873C8F3480F5E3D675A388
SHA1: 3F5188DD7A66A179827FA96ED333DD2A4AB3DC6E
CRC32: ABD63D88
BlueDictPro.7.2.6注册版.apk
大小: 2647243 字节
MD5: A7618741A55D97E0118B0153B20E1CAE
SHA1: 95DD364F71FD440C4C9FBEB17D70339758F30A52
CRC32: D1261D08
BlueDictPro.7.2.9.注册版.apk
大小: 2647497 字节
MD5: 9BD8F77E48F47A22D2773A4EDA42DA77
SHA1: EA54C7129829205516F083238783212AA29A035B
CRC32: B0D2599D
BlueDictPro.7.3.2.注册版.apk
大小: 2650390 字节
MD5: 10865FCE7E2ACFFF4BF89D94E2F23889
SHA1: 759CC520E6163E178CF5D0ACDC3C1F02CE89820B
CRC32: 4FDAD985
BlueDictPro.7.3.6注册版.apk
大小: 2678246 字节
MD5: EBEC78A5428EDB9B7BC1DF353212F3C1
SHA1: 23FD70A9571377ED7FE351BF44DCD4121567AD78
CRC32: 2E740E1D
BlueDictPro.7.3.9注册版.apk
大小: 2685464 字节
MD5: 2359CBCE73C163EA5DF01484979AF2B1
SHA1: D6887D9811C1810D96919ED1C9A72B78A0EC0ECD
CRC32: 2676E979
BlueDictPro.7.6.0注册版.apk
大小: 3645674 字节
MD5: 7FC1B2F566860BD2544BABABE637EF49
SHA1: CDA1A8184501FC00AEA02B73F228EC740D0AF8DB
CRC32: DF98222A
BlueDictPro7.6.1注册版.apk
大小: 3646850 字节
MD5: 926A863ED828C1695ACA9E9BB4B04348
SHA1: BA41B18508FE92FBA7B32153A0F8871DCE5E55BE
CRC32: 3FCCAD7D
爆破版
难道就没人觉得BlueDict的广告方式太恶心吗?
难道就没人觉得BlueDict的注册方式太变态吗?
这么多大神就没人出手吗?
当然不是。
到目前为止,可以找到的爆破版有1.0、3.5和5.96。
1.0版和3.5版年代久远,没什么使用价值了,不多讨论。
“蠻荒搜神”看不下去了
5.96版是目前最新的爆破版,根据搜索引擎获得信息来看,其由“蠻荒搜神”爆破,不仅移除了广告,而且似乎是通过增加一个CERT.RSA的const到源代码中,解决了签名验证的问题,这个版本可以使用各种反编译工具进行反编译,然后重新编译,依然可以正常运行。
这个爆破版的名字通常叫做“BlueDict Pro v5.9.6 noAD by 蛮荒.apk”,但是正如前面所说,自然语言组成的软件包名字,在面对社会工程学的混淆上显然是不足以所为搜索关键字的,需要使用md5校验和进行搜索:
BlueDict Pro v5.9.6 noAD by 蛮荒.apk
大小: 1277806 字节
MD5: 3F153CDA16111DC6290FD09B16CF3B5D
SHA1: 8A9BD723DEC233A5008D86E0FE993F582EE21415
CRC32: 2A54E87E
如果有志于研究蠻荒搜神是如何爆破的,可以对比5.9.6的原版。5.96版是目前唯一可以同时找到原版和爆破版的版本,反编译之后就可以对比原版和爆破版的源代码了。这是5.96原版的校验和:
BlueDict.5.9.6.apk
大小: 1478374 字节
MD5: 27082DAFFF4BD90DD54EBDF7A1136F14
SHA1: 48B62DDC5D2DA0F94F8F25FB0132540B6FBA37D4
CRC32: E3D6D084