成功破解某app加密接口

逆向工程是一件痛并快乐着的过程

~请不要转载~

今天看到某款App的数据挺诱人的,本着探索精神,就尝试了一下接口,发现每次请求都会被限制

1、时间戳限制(算个屁)

2、参数md5加密(反编译)

还带押韵呢~

成功破解某app加密接口_第1张图片

可以看出,对方使用了参数拼接md5的方式,一开始尝试在三方网站暴力解密该md5,发现根本不行,还差点被骗了100块钱,哪个网站我就不说了,大家最好不要在md5解密网站充值!

进入正题

既然加密,我们就要想办法找出使用哪些参数进行加密

第一步:反编译

反编译常用工具就是apktool,然后使用jd-gui阅读jar包的代码,反编译具体过程可以自行百度妈妈,用jd-gui打开之后就是这样

成功破解某app加密接口_第2张图片

 

可以看出代码也没有进行混淆加密,多可怕~

第二步:查询加密代码

凭借敏锐的嗅觉,很快找到关键加密代码位置,也就是md5加密的所在位置,在混淆状态可以用某个字段进行全局搜索,总会有蛛丝马迹

成功破解某app加密接口_第3张图片

 

第四步:找个每个参数的来源

需要使用Fiddler,一款抓包工具,分析app每个接口的数据

成功破解某app加密接口_第4张图片

我就用fiddler发现了启动页接口的数据,z字段就是上面Api.Z所需要的字段

 

第五步:模拟请求

参数和加密方式都有了,接下来就可以自己写post模拟了,中途也发现了一些问题,比如对方使用Base64Tool进行decode了,这些都是小问题了,关键点还是在寻找参数和确定加密参数的过程

成功破解某app加密接口_第5张图片

这次请求成功,不会再报md5串错误。

我是反编译小菜,没有发现解密的难度有多大,关键是要在于思考,分析(猜测)对方准备怎么做,顺着对方的思路进行相同方式加密就行了,同时,做好加密是很关键的,很关键的,很关键的,很关键的,很关键的~不然和小伙伴们商量半天的加密方式,一下子就被人破解了,很尴尬。

欢迎讨论交流

~请不要转载~

 

 

你可能感兴趣的:(android,开发)