一个小玩意的逆向
前言: “吹气球,吹个气球玩球球”......逆了一个小玩意,叫【纸飞机大乱斗】,需攻破的主要有三个地方:请求body中message加密(req_sign)、ss-sign、返回数据message解密。俗话说:工欲善其事必先利其器,准备好jadx(jeb)、ida pro。 过程: (一)、请求body中message加密(req_sign) message里面有很多信息,大部分字段均可通过hook方式拿到,其中req_sign是通过算法计算出来的。 (1)打开jadx,将apk拖入并查找关键词:req_sign,定位到具体代码位置: (2)查找到之后,应该就容易明白了,主要就是将三个字符串拼接在一起然后进行一次MD5,三个字符串分别是:当前时间戳、code_id的值、UUID随机字符串。 (二)、ss-sign (1)同样,先查找字符:ss-sign,定位到实现代码处: (2)一步一步跟踪进去,你会发现调用了native方法,调用的so库是:libnms.so,用ida打开此so库,里面有具体的实现过程。但是...我的天让我吐一会,混淆太严重,做了控制流平坦化,你需要做的是什么呢,是去控制流平坦化,我需要做的是什么呢,是直接上andserver,嘿嘿嘿(三连~)......andserver直接google教程就好了,很简单。 (三)、返回数据message解密 (1