成功破解某app加密接口

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

~请不要转载~

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

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

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

还带押韵呢~

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

进入正题

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

第一步:反编译

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

 

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

第二步:查询加密代码

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

 

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

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

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

 

第五步:模拟请求

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

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

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

欢迎讨论交流

~请不要转载~

 

 

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值