目前,移动端应用开发、保护、防作弊等等各个方案、方法都已经非常成熟。
加密,作为最基本的数据保护机制,随处可见。
如果应用程序的数据传输协议中还在发送明文数据,要么是无关紧要的协议,否则就会显得很low。
从逆向的角度看问题、处理问题,有时候需要把Android应用程序中的加解密算法,迁移到PC端使用。虽然加解密算法是固定不变的,但是因为Android系统环境和PC系统环境的差异,有时候单纯的复制粘贴代码,是无法完成迁移的。如果都像MD5算法一样,就不存在迁移的问题。
本文以Android应用开发中常用的AES/CBC/PKCS7Padding加解密算法为例,详细描述迁移的整个流程。相信能够帮助不少小伙伴。
(1)反编译复制伪代码
反编译是分析应用程序的第一步,如果伪代码不是很凌乱,可以直接复制,并根据需要予以调整。
本文涉及到的伪代码,源于一个(在国内)不太合法Android应用程序,不易于传播,因此无法给出样本APK;
重点在于迁移流程。复制代码如下到PC端。
(2)测试加解密算法
写一段代码测试算法是否是有效,代码如下: