当前位置: 首页 > news >正文

逆向工程视角解决:jd/京东APP 验证码wasm加密逆向分析

声明
本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!

有相关问题请第一时间点击头像看简介或私信联系我删除博客!

部分python代码

url = "/app" params = { "source": "JDAP" } response = session.post(url, headers=headers, params=params) sid = response.json()['data'] cp = execjs.compile(open('e卡.js','r',encoding='utf-8').read()) data = cp.call('getFp',sid) url = "api/fp" response = session.post(url, headers=headers, data=data) data = response.json() fp = data['fp'] st = data['st'] data = cp.call('initBg',sid,st) url = "api/check" response = session.post(url, headers=headers, data=data) data = response.json() imgJsonStr = data['img'] print(imgJsonStr) img =json.loads(imgJsonStr) b1 = img['b1'] b2 = img['b2'] # print(b1.split('data:image/png;base64,')[1]) with open('b1.jpg','wb') as f: f.write(base64.b64decode(b1.replace('data:image/jpg;base64,',''))) with open('b2.png','wb') as f: f.write(base64.b64decode(b2.replace('data:image/png;base64,',''))) # verify(st, sessionId, distance) with open('b1.jpg','rb') as fp: background_bytes = fp.read() with open('b2.png','rb') as fp: target_bytes = fp.read() res = det.slide_match(target_bytes, background_bytes, simple_target=True) distance = getDistance() result = cp.call('verify',distance,sid,imgJsonStr,st) data = result['data'] trace = result['trace'] print(trace) url = "api/check" response = session.post(url, headers=headers, data=data) data = response.json() print(data)

结果

总结
1.出于安全考虑,本章未提供完整流程,调试环节省略较多,只提供大致思路,具体细节要你自己还原,相信你也能调试出来。
2.具体更多细节请看名字进入详情了解更多细节,具体细节要你自己还原,相信你也能调试出来。
http://www.jsqmd.com/news/1150792/

相关文章:

  • GF-5与GF-1卫星图像融合实战:HyperFusion 算法在3类遥感数据上的应用与评估
  • PaddleOCR 2.7 医疗化验单识别:OpenCV 霍夫变换调参实战,倾斜校正精度提升 15%
  • Ultralytics YOLO 数据工具实战:COCO/JSON转TXT与自动标注
  • 自动驾驶激光雷达标定:Apollo 9.0 动态外参标定实战,10km/h 绕圈采集全流程
  • CIFAR-10 图像分类:5种数据增强策略对CNN模型泛化能力的量化影响分析
  • YOLO11目标检测模型训练与部署实战指南
  • Scikit-learn 1.5.0 SVR 核函数对比实战:4种核函数在发电场数据集上的R²与预测值差异分析
  • 目标检测 mAP@0.5 与 mAP@[0.5:0.95] 详解:COCO 与 VOC 的 3 大核心差异
  • R3LIVE 1.0 适配 Velodyne 16线雷达:3步配置解决150米漂移问题
  • Browser Use 实战指南:AI 智能体浏览器自动化
  • YOLOv8 训练数据准备:VOC/COCO/YOLO 3格式适配与Ultralytics YAML配置
  • 半挂车与全挂车对比:13米标准尺寸下的3项关键性能与2类连接方式详解
  • COCO 转 YOLO 格式脚本解析:3步核心逻辑与 2 类常见错误排查
  • 自动驾驶多传感器时间戳对齐:从 10ms 到 1ms 精度的 5 个关键环节剖析
  • PointNetVLAD vs. LPD-Net:3 种点云全局描述符在 Oxford RobotCar 数据集上的性能对比
  • WechatRealFriends:微信好友关系检测实战手册
  • 强力解密:JD-GUI如何让Java字节码开口说话
  • OpenCV 4.9.0 BGR 历史溯源:从硬件字节序到 Caffe 的 20 年兼容性抉择
  • STM32L073RZ与DTH-08的上下拉电阻配置详解
  • OpenCV cv2.normalize() 函数详解:4种归一化类型与3个实战场景对比
  • RTAB-Map 数据集测试实战:EuRoC MH_01 与 TUM RGB-D 3 项关键指标对比
  • MobileNetV3-Small 1.0 与 ShuffleNetV2 1.0x 移动端部署对比:ImageNet 精度与 3 款手机推理速度实测
  • Windows 10/11 权限继承机制解析:3种场景下C盘文件删除失败的深层原因
  • 半挂车与全挂车对比:3大核心差异(连接方式/转弯半径/高速准入)与选型指南
  • 目标检测算法选型指南:3 个维度解析单阶段与两阶段模型适用场景
  • 今夏空调清洗预约升温:为什么越来越多人选择上门清洗?
  • Halcon 与 OpenCV 图像复原对比:维纳滤波 vs. 盲去卷积,5组实验数据解析
  • I3D、SlowFast、R(2+1)D 3大3D CNN模型:从Kinetics-400到UCF-101实战性能对比
  • 5分钟掌握AcFun视频下载:免费开源工具AcFunDown完全指南
  • ORB-SLAM3 与 Cartographer 实战评测:室内外3场景建图精度与鲁棒性分析