最近琢磨着把“忠臣的末路安卓”这玩意儿给好好扒一遍。我可不是为了玩,就是想看看这帮做游戏的,到底把用户数据藏得有多深。你知道的,每次遇到这种名字唬人的游戏,心里就犯嘀咕,数据肯定藏得跟宝藏似的。
我把那安装包先用个工具给扯下来。第一步,跑不掉的,先解包。
- 拿到APK,我直接开了个看文件结构的老伙计。一看,妈的,代码混淆得跟一锅粥似的,变量名全都是a、b、c,连个像样的函数名都没有。
- 我心想行,跟我玩这套?我直接冲着资源文件去了。安卓程序嘛资源文件总得有规律?找了半天,那狗屁的存档文件,竟然没在常见的/data/data目录里,而是藏在一个特别隐蔽的缓存文件夹里,文件名还是一串MD5,鬼知道它代表
- 那段时间,我就跟个瞎子摸象似的。把所有可能是数据结构的文件都拉出来,用文本编辑器硬是比对,一个个字符去看。那可真是眼睛都快磨出茧子了。
- 大概花了三个晚上,终于定位到了那个存了关键“属性值”的文件。这帮人也是心大,表面上给你加密,但实际上,那解密算法简直就是幼儿园级别,用个异或(XOR)就完事了。
小编温馨提醒:本站只提供游戏介绍,下载游戏请前往89游戏主站,89游戏提供真人恋爱/绅士游戏/3A单机游戏大全,点我立即前往》》》绅士游戏下载专区
我直接把那异或的密钥给抠出来了,然后把我的游戏角色数据,从0级拉到满级,把金币数量,随便改了个九位数,然后又打包,装回去,跑起来一看。
成了。看着那满屏的资源和属性,心里那叫一个痛快。这就像是跟制作组斗智斗勇,最终你赢了,你知道了他们所有的秘密。
我为啥对这种小事这么上心?
这事儿让我想起好几年前,我在上家公司,接了一个谁都不愿意碰的烂摊子项目。那项目老到代码都长毛了,没人愿意维护,都说里面是“屎山”。
当时部门里有个爱吹牛逼的小伙子,说那项目根本不值得修,不如重写一个。领导也听他的,把所有人都拉去搞新项目,就扔下我,说:“你就负责把旧的吊着,死不了就行。”
我当时那个气,一个人天天对着那堆垃圾代码,对着那些不知道哪年留下来的配置。越生气,我越往下挖。不是为了修,就是想知道,这屎山到底深到什么程度。我把每个函数,每行配置,甚至连部署的脚本都给摸了个透。
结果你猜怎么着?新项目半年没跑起来,那个吹牛逼的小伙子屁股一拍,辞职跑路了。领导急了,又把大部队拉回来,想让我把旧项目里的核心模块“摘出来”给新项目用。
当时我就笑。我说,那模块的逻辑,已经被我改得面目全非了,只有我知道哪里能动,哪里不能动。你们以前嫌弃它,现在想用它救命?门都没有。
那之后,我就明白了,越是这种没人愿意看,藏得越深的地方,价值越大。 这回弄这个《忠臣的末路安卓》也是一个道理。别人看到的是混淆和加密,我看到的是它背后的简单逻辑。不把这种“忠臣”的末路看透,那当年受的气,不就白受了么?

