一点万象APP一直在用,主要是积分可以抵扣停车场的停车费,积分获取方式除了消费就是签到了。
很早以前就想做个自动签到的脚本放到青龙面板,这样就再也不会忘记签到了。想法是美好的,现实是残酷的,通过抓包发现post的内容进行了签名处理,其实好多网站都会这样吧!因为涉及到手机APP的反编译,就一直没去弄!
直到前几天闲着,就拿着MT管理器去看看能不能获取到sign参数的算法!通过各种查找,查到了com/crland/mixc/hv4,又到了com/security/Security,最后又到了security-lib.so文件,后续又发现security-lib.so好像加壳了,然后又通过frida-dump去把security-lib.so文件dump出来,再通过这个文件去高出getSecurityKey()返回的值,20,23,34,56,2,23,34,56,54,34,56,78,34,24,55,67,57,23,45,67,55,24,56,78,68,45,56,89,62,65,45,67,71,23,45,67,41,56,56,78,50,34,56,78,17,24,25,68,66,45,78,9,28,35,6,7,29,32,3,4,28,23,24,56,79,12,3,4,55,然后再去推算。。。搞了很久,最后搞到了2个秘钥,一个是UB0f1y!3^goG2PPN^m还有一个是9e14fe4b,本来还以为胜券在握了,但是通过对发送的数据mallNo,appId,platform,imei,appVersion,osVersion,action,apiVersion,timestamp,deviceParams,date,channel,mac,t,token,params进行sign,然后又和抓到的包进行对比,发现怎么弄还是不行!
后来网上查啊查,通过frida去进行hook,发现我点签到就是获取不到东西,但是瞎逛获取的数据加密前有些事UB0f1y!3^goG2PPN^m9e14fe4b,有些则是UB0f1y!3^goG2PPN^m,好像我之前的都没错呀!但是签到的sign就是不行!后来对比发送的数据发现我能弄到的数据中platform参数的值是android,但是签到发送的数据platform的值是h5,难道和这个有关?
通过抓包发现了app.XXXXXXX.js这个文件,通过该文件发现了密钥!
然后再通过该密钥对之前post的内容进行复现发现复现成功!
妈妈再也不用担心忘记签到了!
之前一直在apk文件里查询!所以一直在走弯路!!!!!