该文章主要提供交流学习使用,请勿利用其进行不当行为!
如本篇文章侵犯了贵公司的隐私,请联系我立刻删除!
如因滥用解密技术而产生的风险与本人无关!
现已有接口支持调用获取 接口地址
可以先看看这两篇大佬的文章:
- https://my.oschina.net/u/4637160/blog/4556955
- https://github.com/Captain0X/SliderCracker/tree/master/shumei
https://blog.csdn.net/zc520yzy/article/details/105101394 这篇文章是基于pyppeteer的实现。
大佬们研究的是pc的方案,我这里只讲app的,跟pc通用的。
这是当时研究app的时候的url以及参数
https://captcha.fengkongcloud.com/ca/v1/register?organization=eR46sBuqF0fdw7KWFLYa& timestamp=1600423466824& md5=134f31ec595ccd6464e86c164fdfdc8f& pri=一串加密的,你们抓包就能看& code=1& ca=一串加密的指纹
这串东西是app里面生成的,用的那家的sdk,相信你们都懂的。
其实pri 和ca这两个指纹是可以固定的,就是验证设备
主要就是md5加密和时间戳的验证。
com.ishumei.sdk.captcha.SmCaptcha
这是关键类
public static WebResourceResponse a(String str)
主体方法
可以看到他这里把一些字符串加密了,直接扣代码先把字符串解密了,要是jeb的话,估计就直接反编译出来了
pri
其实就是一串随机值的rsa加密
9c9e -> ca
private static String