因为在Android逆向分析中需要定位到网络请求模块,并对网络请求,一般为http请求进行捕获,但是http请求提中的数据一般都经过加密处理,所以,在逆向分析中也需要通过了解一定的加解密算法才能知道其加密的方法,并从反编译代码中获取其加密算法,然后抓包并分析其敏感数据。
因为之前一直做应用层,虽说用到了http,但由于负责后台javaEE的同学也是个新手,所以并没有用到什么加解密算法进行处理,对加解密算法也就菜鸟一个。但如今需要用到,那么就必须把这些知识给捡回来。
加解密的方法很多,但流行的也就那么几种,今天就先了解一个比较简单的加解密算法,BASE64。
BASE64编码解码作为加解密的原理就不详细说了,百度百科或者其他技术博客已经说得很清楚了。
实际上编码过程很简单:
明文——转为8位ASCII码——分组成6位的BASE64码——根据BASE64规定的码表转成相应字符——密文
eg: 明文:big——对应8位一组的asiic码: (b:98)01100010,(i:105)01101001,(g:103)01100111 ——— 6位一组的base码:011000,