前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >全家Fa米家app抓包——做自动签到领Fa米粒

全家Fa米家app抓包——做自动签到领Fa米粒

原创
作者头像
小锋学长生活大爆炸
发布于 2022-09-02 15:59:54
发布于 2022-09-02 15:59:54
1.2K20
代码可运行
举报
运行总次数:0
代码可运行

目录

简介

代码

效果

app下载

福利

简介

通过小黄鸟抓包Fa米家App,发现没有什么校验,用模拟请求直接可以重发。。。

  • 账号验证是通过token字段;
  • 设备标识用deviceId;
  • 等等... 基本上必须的几个参数就: { "blackbox": "tdfpeyxxxx", "device_id": "2f35xxxx", "fmversion": "3.0.2", "os": "android", "token": "eyneWxxxx", "useragent": "okhttp/4.7.2"}

代码

这就好办了,可以做一个自动Fa米粒签到(可以换商品),或者其他好玩的功能。 提供几个粗糙的函数:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import requests class Fmapp:    def __init__(self) -> None:        self.base_headers = {            'Host': 'fmapp.chinafamilymart.com.cn',            'blackBox': '',            'token': '',            'deviceId': '',            'User-Agent': 'okhttp/4.7.2',            'Content-Type': 'application/json',            'loginChannel': 'app',            'channel': '333',            'fmVersion': '3.0.2',            'os': 'android',        }     def check_in(self):        '''        签到        '''        url = 'https://fmapp.chinafamilymart.com.cn/api/app/market/member/signin/sign'        headers = self.base_headers.copy()        res = requests.post(url=url, headers=headers).json()        print(res)      def verify_code(self, mobile, distinctId):        '''        请求发送短信验证码        '''        url = 'https://fmapp.chinafamilymart.com.cn/api/app/member/verifyCode'        headers = self.base_headers.copy()        data = {            "mobile": mobile,            "firstSend": True,            "distinctId": distinctId,            "newVersion": True        }        res = requests.post(url=url, json=data, headers=headers).json()        print(res)        if res['code'] == '200':            return res['data']        return None     def login(self, mobile, code, distinctId):        '''        短信验证码登录        '''        url = 'https://fmapp.chinafamilymart.com.cn/api/app/login'        headers = self.base_headers.copy()        data = {            "mobile": mobile,            "verifyCode": code,            "openId": "",            "openChannelCd": "1",            "grantTypeCd": "1",            "distinctId": distinctId,            "newVersion": True,            "unionId": "",            "jpushId": "120c83f760da1764565"        }        res = requests.post(url=url, json=data, headers=headers).json()        print(res)        if res['res'] == '200':            return res['data']['token']        return None      def member_info(self):        '''        获取用户详情        '''        url = 'https://fmapp.chinafamilymart.com.cn/api/app/member/info'        headers = self.base_headers.copy()        res = requests.post(url=url, headers=headers).json()        print(res)        if res['code'] == '200':            return True        return False     def mili_detail(self):        '''        获取Fa米粒详情        '''        url = 'https://fmapp.chinafamilymart.com.cn/api/app/member/v2/mili/detail'        headers = self.base_headers.copy()        data = {"pageNo":1, "pageSize":10}        res = requests.post(url=url, json=data, headers=headers).json()        print(res)        total = -1        if res['code'] == '200':            total = res['data']['total']        return total      def process(self):        # 需要抓包补全        blackBox = 'tdfp'        # 需要抓包补全        deviceId = '2f356'        # 需要抓包补全        distinctId = "cb19df02c32d2079"        # 可用手机验证码登录获取,或者手动抓包补全        token = 'eyJhbG'        self.base_headers['token'] = token        self.base_headers['blackBox'] = blackBox        self.base_headers['deviceId'] = deviceId         # # 手机号        # mobile = ""        # # 收到的验证码        # code = self.verify_code(mobile, distinctId)        # if not code:        #     return        # token = self.login(mobile, code, distinctId)        # if not token:        #     return        # self.base_headers['token'] = token                 self.member_info()        self.check_in()        self.mili_detail() Fmapp().process()

效果

签到:

个人资料:

米粒信息:

app下载

福利

然后就可以在挂载服务器上每天自动运行了。 没有服务器的可以看看这个腾讯云的轻量服务器,很便宜,一年只需65元,它不香吗?: 详情:云产品特惠专区

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
2 条评论
热度
最新
调试验证代码的时候发现,kscrash获取寄存器信息没对上。不知道遇到过这个么,还是有什么细节我没看到。麻烦指教下
调试验证代码的时候发现,kscrash获取寄存器信息没对上。不知道遇到过这个么,还是有什么细节我没看到。麻烦指教下
回复回复点赞举报
在用的过程中发现一个问题,捕捉到的crashed 线程,里面堆栈为空,但是其他非crashed线程堆栈拿到了,老哥遇到过么
在用的过程中发现一个问题,捕捉到的crashed 线程,里面堆栈为空,但是其他非crashed线程堆栈拿到了,老哥遇到过么
回复回复点赞举报
推荐阅读
编辑精选文章
换一批
深入浅出MachO
之前写了一篇深入浅出ELF,作为姊妹篇这次就来聊聊MacOS的可执行文件格式MachO。
evilpan
2023/02/12
9710
深入浅出MachO
深入剖析 iOS 性能优化
在集合里数据量小的情况下时间复杂度对于性能的影响看起来微乎其微。但如果某个开发的功能是一个公共功能,无法预料调用者传入数据的量时,这个复杂度的优化显得非常重要了。
用户7451029
2020/06/16
1.7K0
深入剖析 iOS 性能优化
Android 平台 Native 代码的崩溃捕获机制及实现
一、背景 在Android平台,native crash一直是crash里的大头。native crash具有上下文不全、出错信息模糊、难以捕捉等特点,比java crash更难修复。所以一个合格的异常捕获组件也要能达到以下目的: 支持在crash时进行更多扩展操作,如: 打印logcat和应用日志 上报crash次数 对不同的crash做不同的恢复措施 可以针对业务不断改进和适应 二、现有的方案 其实3个方案在Android平台的实现原理都是基本一致的,综合考虑,可以基于coffeecatch改进。
腾讯Bugly
2018/03/23
5.8K0
CVE-2020-9964:iOS中的信息泄露漏洞分析
2020年09月17日凌晨,苹果终于给所有用户推送了iOS14正式版,并同时发布了iOS 14.0的安全内容更新。阅读该公告后,你将会看到列表中的一个漏洞CVE-2020-9964,这是一个存在于IOSurfaceAccelerator中的安全漏洞。苹果将这个漏洞描述为:“本地用户将能够利用该漏洞读取内核内存数据,这是一个内存初始化问题。”那么在这篇文章中,我们将跟大家介绍有关该漏洞的详细信息。
FB客服
2020/10/27
7650
CVE-2020-9964:iOS中的信息泄露漏洞分析
iOS 测试 | iOS 自动化性能采集
​今天小编跟大家分享一篇来自学院内部学员的技术分享,本文主要介绍了作者在进行 iOS 自动化性能采集的一些经验,希望对大家在进行 iOS 自动化测试时有一些启发。
霍格沃兹测试开发
2020/07/15
2.4K0
iOS 测试 | iOS 自动化性能采集
iOS 卡顿监测方案总结
最近在写 APM 相关的东西,所以整理了一下 iOS 中卡顿监测的那些方案,不了解卡顿的原理的可以看这篇文章iOS 保持界面流畅的技巧[1],写的很好。
网罗开发
2021/11/02
2.2K0
探秘 Mach-O 文件
之前负责项目的包体积优化学习了 Mach-O 文件的格式,那么 Mach-O 究竟是怎么样的文件,知道它的组成之后我们又能做点什么?本文会从 Mach-O 文件的介绍讲起,再看看认识它后的一些实际应用。
会写bug的程序员
2020/06/19
2.3K0
探秘 Mach-O 文件
《iOS APP 性能检测》
| 导语 最近组里在做性能优化,既然要优化,就首先要有指标来描述性能水平,并且可以检测到这些指标,通过指标值的变化来看优化效果,于是笔者调研了iOS APP性能检测的一些方法,在此总结一下。 首先,要明确性能检测都需要关注哪些指标,笔者列举了以下几个主要的,后面会详细说: 启动时间 内存占用量,内存告警次数 CPU使用率 页面渲染时间,刷新帧率 网络请求时间,流量消耗 UI阻塞次数,不可操作时长,主线程阻塞超过400毫秒次数 耗电功率 对于静态页面来讲,页面的渲染时间就是从viewDidLoad第一行到vi
腾讯Bugly
2018/03/23
4.8K0
Objective-C RunLoop 详解
本文转自ibireme的《深入理解RunLoop》 RunLoop 是 iOS 和 OSX 开发中非常基础的一个概念,这篇文章将从 CFRunLoop 的源码入手,介绍 RunLoop 的概念以及底层实现原理。之后会介绍一下在 iOS 中,苹果是如何利用 RunLoop 实现自动释放池、延迟回调、触摸事件、屏幕刷新等功能的。 目录 RunLoop 的概念 RunLoop 与线程的关系 RunLoop 对外的接口 RunLoop 的 Mode RunLoop 的内部逻辑 RunLoop 的底层实现 苹果用 R
BY
2018/05/11
1.6K0
iOS底层 - 关于死锁,你了解多少?
我们从GCD函数和队列的内容中最后的经典案例中关于死锁的案例开始,从死锁的发生开始,看看其产生的本质原因是为什么。
CC老师
2021/08/25
5290
iOS Crash防护你看这个就够了-下篇
0x1: Previously 上篇 中讲到了Crash处理流程分为四个环节,也分析了Crash防护的方法,本章来讲下其余三个环节:Crash的拦截、Crash的上报、Crash的后续。 0x2: Crash的拦截 所有的未被防护住的Crash最终会走到这一步,在这里我们必须要保证拦截的 全面性、稳定性尽可能多的拦截到所有类型的异常,同时拦截逻辑本身不能产生异常。那么我们需要通过以下几个方面去考虑。 I: Crash类型 和多数操作系统一样,iOS的异常也基本分为 用户层 系统底层 信号 这三个类别,
QQ音乐技术团队
2021/06/15
1.6K0
iOS-底层原理36:内存优化(一) 野指针探测
下面是Mach异常 与 UNIX信号 的转换关系代码,来自 xnu 中的 bsd/uxkern/ux_exception.c
conanma
2021/10/28
2.4K0
iOS你不知道的事--Crash分析
原文地址:https://www.jianshu.com/p/56f96167a6e9
iOSSir
2019/06/01
1.5K0
一份走心的runloop源码分析
对iOS开发者而言,runloop是一个老生常谈的话题,但凡是iOS开发者,在工作中必然直接或间接的接触过runloop。而对于面试者而言,runloop又几乎是必考点。在几年前,笔者写过一篇文章NSRunLoop,对runloop原理以及应用场景做了基本介绍。但是当时也是道听途说,简单的翻看了源码的do...while循环,并没有深入源码。所以,本文将从源码的角度剖析runloop的组成,强化自己对runloop的认识,验证我们脑海中一直以来似懂非懂的原理,真心希望这篇文章能够帮助到大家。
VV木公子
2020/05/20
9.2K0
一份走心的runloop源码分析
Synchronized 源码分析
前面我们已经介绍和分析了管程,而 Synchronized 则是 JVM 层面中管程的一种实现,它通过对细节的屏蔽方便了开发人员的使用。
itliusir
2020/02/10
1.1K0
RunLoop源码阅读RunLoop源码阅读
系统内核在收发事件、消息时使用的消息传递函数。可以理解为多进程之间的一种通讯调用机制。
用户8893176
2021/08/09
1.2K0
RunLoop源码阅读RunLoop源码阅读
RunLoop总结:RunLoop基础知识
没有实际应用场景,很难理解一些抽象空洞的东西,所以前面几篇文章先介绍了RunLoop的几个使用场景。 另外AsyncDisplayKit中也有大量使用RunLoop的示例。 关于实际的使用RunLoop 的案例和使用场景就不总结了,今天总结一点RunLoop的基础知识和概念。
Haley_Wong
2018/08/22
8360
RunLoop总结:RunLoop基础知识
《Android 创建线程源码与OOM分析》
| 导语 企鹅FM近几个版本的外网Crash出现很多OutOfMemory(以下简称OOM)问题,Crash的堆栈都在Thread::start方法上。该文详细分析了发生原因。 ---- 有两种栈: 出现次数最多的一种,称之为 堆栈A。 java.lang.OutOfMemoryError: pthread_create (1040KB stack) failed: Out of memory java.lang.Thread.nativeCreate(Native Method)
腾讯Bugly
2018/03/23
4.7K0
老司机出品——源码解析之RunLoop详解
RunLoop详解 不得不说,人的惰性是真可怕啊。 从上周六就到写runLoop的建议开始,星期三告诉自己从星期四开始着手写这篇博客。然而现在戳个时间戳,现在是4.30星期日。写完发出去又不知道是什么时候啦,哈哈哈懒癌 这一期讲什么呢?这一期讲runLoop哟。一直以来,runLoop这个玄而又玄的东西似乎被当做了公司面试挑人的终极话题,原因不难想,日常开发用到runLoop的地方少之又少,没有时间的积累这方面的知识应该还是相对较于匮乏的,所以runLoop的了解侧面也能发应开发者的开发经验,当然就被当做
老司机Wicky
2018/08/22
1.2K0
老司机出品——源码解析之RunLoop详解
在Android Native层实现Try/Catch异常处理机制
在Native层实现异常处理的关键在于信号处理(Signal Handling)和非局部跳转(Non-Local Jumps)。当程序发生错误(如访问非法内存、除以零等)时,操作系统会向进程发送一个信号。我们可以设置一个信号处理函数(Signal Handler),在收到信号时执行特定的代码。
陆业聪
2024/07/23
2670
在Android Native层实现Try/Catch异常处理机制
相关推荐
深入浅出MachO
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验