小红书app滑块解决思路
該文章主要提供交流學習使用,請勿利用其進行不當行為!
如本篇文章侵犯了貴公司的隱私,請聯系我立刻刪除!
如因濫用解密技術而產生的風險與本人無關!
現已有接口支持調用獲取 接口地址
可以先看看這兩篇大佬的文章:
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 a(String str, String str2) {try {return new SmCaptcha().x2(str, str2);} catch (Throwable th) {throw new IOException(th);}}這其實就是ca的加密,在so層str 就是pri,str2 是一個hashmap,具體你們hook就行
這是x2 的流程,倒是沒多少混淆,就是控制流太多了。硬鋼的同學這個可以剛出來的,或者做xposed插件,黑盒也能用的。這僅僅是比較老的一個版本,現在應該升級了,不過具體加密思路肯定不會變的。就是混淆加了而已,最后加密出來的是一個aes的加密,不過這個是和pri綁定的,也可以像我說的那樣,寫死。
然后在回過頭來看看md5的成驗證
929bca -> md5
服務端是會驗證這個值的
md5對不上就提示這個。
public native String m2(String str, String str2);
md5的生成方式
又到了你們最愛的native的環節
這是一串鹽,在md5,就是md5的結果了
s 就是 ca
v35 就是時間戳
當正確之后,會提示
會返回一個rid,
接下來就用web端這一套去解密參數了
具體實現,上面那個github已經說的很詳細了
然后主要就是安卓的回調的值
現在已經25代了,幾乎這幾天每天都換。頭疼死了
然后就是 app的圖片大小比例是
pc 的是200/400
驗證成功之后,這個rid就可以用了,
然后在帶著你的設備信息去驗證,461就解封了。
api/sns/v1/system_service/slide_captcha_check
這是提交的接口,然后成品的話也沒多少含金量。其實結合我給出的地址和這些思路,完全能寫出來以及適應現在的需求。
總結
以上是生活随笔為你收集整理的小红书app滑块解决思路的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: miniblink API文档
- 下一篇: 剪刀石头布微信小程序源码