吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 18419|回复: 141
收起左侧

[Android 原创] 关于某仙网抢茅台的协议分析和源代码

    [复制链接]
qiucx 发表于 2021-3-19 10:33
本帖最后由 qiucx 于 2021-3-20 11:31 编辑

0. Android app的抓包方式我就不说了,百度一大堆。
1. 登录:https://newappuser.域名.com/user/loginUserNamePassWd.htm?appKey=xxxxx&appVersion=8.9.3&areaId=500&blackBox=eyJvcyI6ImFuZHJvaWQiLCJ2ZXJzaW9uIjoiMy4yLjkiLCJwYWNrYWdlcyI6ImNvbS5qaXV4aWFuYXBrLnVpKiY4LjcuOSIsInByb2ZpbGVfdGltZSI6MTg0LCJpbnRlcnZhbF90aW1lIjozMDE3NCwidG9rZW5faWQiOiJ2c2YzdFI1NCtjdjFKeVwveEU0WFNHSTdxeFpFM2VaSDZLRUN0YXNReG1IMWkyZkhoWHZjK0pjMk52dFRlbDJxQmN3MXBCN3RKNm16VFQwZlBlRlBpeXc9PSJ9&channelCode=0%2C1&cpsId=xiaomi&deviceIdentify=xxxxx&deviceType=ANDROID&deviceTypeExtra=0&equipmentType=m2&lati=0&long=0&netEnv=wifi&passWord=xxxxx&pushToken=xxxxx&screenReslolution=900x1600&supportWebp=1&sysVersion=7.1.2&token=&userName=xxxxx
appKey、blackBox、deviceIdentify、pushToken:抓包到的数据,每个人不同,抓到啥就硬编码这个数据。
appVersion:这个一定要最新版本号。
areaId:地区,可能跟送酒的仓库有关系。
其他数据都看的懂了。
登录最重要的是返回了token,后面都要用的。
2、SettlementUrl=https://newapprerorder.域名.com/reservation/settlement.htm?appKey=xxxxx&appVersion=8.9.3&areaId=500&channelCode=0&cpsId=xiaomi&deviceIdentify=xxxxx&deviceType=ANDROID&deviceTypeExtra=0&equipmentType=m2&netEnv=wifi&orderSetInfo=%7B%22addressId%22%3A0%2C%22anchorId%22%3A0%2C%22deliveryId%22%3A0%2C%22invKind%22%3A-1%2C%22invType%22%3A0%2C%22isBuyImmediately%22%3A1%2C%22isGiftOrder%22%3A-1%2C%22isPresell%22%3A%220%22%2C%22isReservation%22%3A1%2C%22liveId%22%3A0%2C%22payPrice%22%3A0%2C%22payType%22%3A0%2C%22productInfo%22%3A%7B%22normalList%22%3A%5B%7B%22buyNum%22%3A1%2C%22productId%22%3A129136%7D%5D%7D%2C%22toUseAllowance%22%3A-1%2C%22toUseCashBack%22%3A0%2C%22toUseCoupon%22%3A-1%7D&pushToken=xxxxx&screenReslolution=900x1600&supportWebp=1&sysVersion=7.1.2&token=xxxx(登录返回的token)

这个类似于把产品加入购物车,只有调用了这个链接,才能提交order。数据基本上也一眼能看清楚。


3. https://newapprerorder.域名.com/reservation/addorder.htm?appKey=APPKEYXXX&appVersion=8.9.3&areaId=500&channelCode=0&cpsId=xiaomi&deviceIdentify=APPKEYXXX&deviceType=ANDROID&deviceTypeExtra=0&equipmentType=m2&netEnv=wifi&orderAddInfo=%7B%22addressId%22%3A0%2C%22anchorId%22%3A0%2C%22bankAccount%22%3A%22%22%2C%22bankOfDeposit%22%3A%22%22%2C%22buyNum%22%3A%221%22%2C%22deliveryId%22%3A16%2C%22invContent%22%3A%22%22%2C%22invKind%22%3A0%2C%22invMobile%22%3A%221xxx%22%2C%22invTitle%22%3A%22%22%2C%22invType%22%3A0%2C%22isBuyImmediately%22%3A1%2C%22isGiftOrder%22%3A0%2C%22isPresell%22%3A%220%22%2C%22isReservation%22%3A1%2C%22liveId%22%3A0%2C%22payPrice%22%3A0%2C%22payType%22%3A1%2C%22productId%22%3A%22129136%22%2C%22receivingEmailAddress%22%3A%22%22%2C%22reservationToken%22%3A%22RESERVATIONTOKENXXX%22%2C%22stockoutGifts%22%3A%22%22%2C%22taxpayerId%22%3A%22%22%2C%22toUseAllowance%22%3A0%2C%22toUseCashBack%22%3A0%2C%22toUseCoupon%22%3A0%2C%22userLeaveMessage%22%3A%22%22%2C%22workAddresses%22%3A%22%22%2C%22workTelephone%22%3A%22%22%7D&pushToken=PUSHTOKENXXX&screenReslolution=900x1600&supportWebp=1&sysVersion=7.1.2&token=xxxx(登录返回的token)


这个就是提交订单了。 大部分数据都不变,最大的难点是reservationToken。这个数据由 MD5Util.encode("ANDROID" + appkey + DEVICE_ID) 计算获取,appkey,deviceIdentify这两个数有可能一样,也可能不同,反正抓到啥就是啥。"ANDROID"硬编码。  ios跟android的加密算法一样,其实ios跟android都共用一套系统。
[Java] 纯文本查看 复制代码
public class MD5Util {
    public static String encode(String str) {
        String str2 = "";
        try {
            MessageDigest instance = MessageDigest.getInstance("MD5");
            instance.update(str.getBytes());
            byte[] digest = instance.digest();
            for (byte b2 : digest) {
                String hexString = Integer.toHexString(b2 & 255);
                if (hexString.length() == 1) {
                    str2 = str2 + "0" + hexString;
                } else {
                    str2 = str2 + hexString;
                }
            }
        } catch (Exception e2) {
            e2.printStackTrace();
        }
        return str2;
    }
}


打字不易,有帮助就点个赞,加个分。另外,打个小广告,jd抢茅台剩最后一个js加密字段sk(一大段混淆的js代码,有个函数生成了一个字符串,js能力有限,有大神能帮助,愿意将前期研究成果共享。)

免费评分

参与人数 18吾爱币 +16 热心值 +15 收起 理由
gouyunjie1987 + 1 我很赞同!
精明的猎人 + 1 + 1 我很赞同!
xlzdyxpj + 1 + 1 谢谢@Thanks!
391394887 + 1 + 1 鼓励转贴优秀软件安全工具和文档!
painstaking1 + 1 + 1 谢谢@Thanks!
mikijb + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
慌慌程 + 1 谢谢@Thanks!
lyslxx + 1 + 1 我很赞同!
Light紫星 + 2 + 1 我很赞同!
tjuandy + 1 + 1 用心讨论,共获提升!
Evli + 1 热心回复!
lljllj + 1 热心回复!
Morty. + 1 谢谢@Thanks!牛皮
fosi_001 + 1 + 1 用心讨论,共获提升!
便胜晴天 + 1 + 1 热心回复!
无名水手 + 1 + 1 用心讨论,共获提升!
lanxiqingmo + 1 + 1 我很赞同!
itmaple + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

adven 发表于 2021-3-19 11:13
抢了多次抢不到的                  
chenyong123456 发表于 2021-3-19 10:39
echo72 发表于 2021-3-19 10:36
看了下为什么没回复,原来是刚发的帖子
学习学习
belm 发表于 2021-3-19 10:38
用python比较方便
paulshark1 发表于 2021-3-19 10:40
类似这种网络购物平台抢购的协议分析很有参考意义!
masongxin9 发表于 2021-3-19 10:41
非常的有用啊,下次就能受益
chy96340 发表于 2021-3-19 10:43
学习学习
MZA1220 发表于 2021-3-19 10:43
学习学习
CTCC 发表于 2021-3-19 10:44
收藏一下,谢谢大佬
你是咕吗猪 发表于 2021-3-19 10:49
学习学习,谢谢分享
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-4-26 11:48

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表