微信小程序抓包实战:安卓模拟器+BurpSuite无Root稳定方案

news2026/5/24 13:40:32
1. 为什么微信小程序抓包成了“玄学”而这条路径能绕过所有坑做移动安全测试或前端调试的同行大概率都经历过这种场景想看看微信小程序发了什么请求、带了哪些参数、响应体里有没有敏感字段结果一上手就卡在第一步——连包都抓不到。不是证书不信任就是HTTPS流量直接变空要么是小程序干脆拒绝加载弹出“网络异常”更常见的是BurpSuite监听了端口手机也配了代理但Wireshark里干干净净仿佛小程序根本没联网。我试过三台不同品牌安卓机、五种主流模拟器、七套证书导入流程前四次全军覆没。直到把整个链路拆开重捋问题根本不在Burp也不在证书而在于微信小程序运行时的双层隔离机制——它既不走系统全局代理哪怕你开了WiFi代理也不信任用户手动安装的CA证书哪怕你拖进系统证书存储区。Root能破但代价太高真机调试又受限于微信开发者工具的阉割式网络面板。而“安卓模拟器BurpSuite”这套组合本质是用可控的虚拟环境把微信小程序“骗”进一个它无法识别为“非可信环境”的沙盒里——它照常跑你照常抓中间不报错、不降级、不静默失败。关键词无需Root、安卓模拟器、BurpSuite、微信小程序、抓包。这不是教你怎么点几下按钮而是带你重建一条稳定、可复现、适配绝大多数小程序含带SSL Pinning的的通信观测通道。适合两类人一是刚入行的安全/测试工程师需要快速建立对小程序网络行为的直觉二是资深开发者想在不改代码、不依赖源码的前提下逆向分析竞品逻辑或排查线上接口异常。下面所有步骤我都已在Android 11–13模拟器实测通过包括微信8.0.44到8.0.52版本覆盖鸿蒙兼容模式与原生安卓内核两种环境。2. 模拟器选型不是随便挑这三类必须排除剩下两类才真正可用很多人一上来就装雷电、夜神、BlueStacks结果折腾半天发现微信根本打不开或者打开后白屏、闪退、提示“设备不安全”。这不是配置问题是模拟器底层架构和微信风控策略的硬冲突。微信小程序运行依赖两个关键前提一是完整的Android SELinux策略执行能力二是可信的硬件抽象层HAL模拟尤其是对Trusty TEE或StrongBox Keymaster的支持。普通游戏模拟器为了性能会大幅裁剪SELinux规则、禁用TEE模拟、甚至用QEMU纯软件模拟替代KVM加速——这些恰恰是微信检测“非正规设备”的核心指标。我实测过12款主流模拟器按微信兼容性从高到低排序真正能稳定跑小程序抓包的只有两类基于AOSP定制的轻量级模拟器推荐首选如Android Studio自带的Pixel系列AVDAPI 30x86_64启用Play Store或Genymotion的Google Play版需手动开启Hardware Acceleration。它们完整继承AOSP的SELinux policyKVM加速下能模拟出接近真机的HAL行为微信识别为“标准安卓设备”不会触发额外风控。企业级云真机平台本地镜像次选适合批量测试如Testin、阿里云Mobile Testing提供的离线镜像包。这类镜像由真实设备刷机生成保留了原始OEM签名和Secure Boot链微信完全无法区分。而以下三类必须立刻排除哪怕它们启动快、内存占用低模拟器类型典型代表微信兼容性根本原因实测现象游戏向模拟器夜神、雷电、MUMU❌ 极差禁用SELinux enforcing模式HAL模拟残缺无Play Services完整性校验启动即弹“该设备存在风险”小程序白屏老旧x86模拟器BlueStacks 4及更早❌ 差使用旧版QEMU不支持ARM64指令集透明翻译微信检测到CPU特征异常小程序加载卡在“正在启动”CPU占用率100%无Play Store模拟器大部分国产AVD镜像⚠️ 不稳定缺少Google Play Services框架微信无法完成SafetyNet Attestation基础校验首次登录正常二次进入后频繁掉线、请求超时提示别信“修改build.prop就能绕过”的教程。微信8.0已将设备指纹哈希嵌入so库硬编码改prop只是让检测延迟几秒最终仍会触发降级策略。我试过用Magisk模块patch libwechatmm.so结果微信直接拒绝启动——它连so文件的签名校验都做了。正确做法是只用Android Studio官方AVD且必须满足三个硬条件系统镜像选择Android 12L (Sv2) with Google Play 或更高版本API Level ≥ 32不能选“without Play Store”CPU/ABI 必须为x86_64ARM64镜像在Intel Mac上性能极差且KVM支持不完善启动选项勾选Enable Device Frame 和 Use Host GPU前者确保UI渲染一致后者避免OpenGL ES调用失败导致小程序Canvas黑屏。创建完AVD后首次启动务必完成Google账户登录和Play Store更新——这是微信校验“设备可信链”的最后一环。我见过太多人跳过这步结果抓包时发现小程序所有HTTPS请求都返回ERR_CONNECTION_REFUSED查了半天才发现是Play Services未激活导致微信网络栈初始化失败。3. BurpSuite不是装上就行证书注入必须分三步走漏一步就全盘失效BurpSuite装好、代理端口设成8080、模拟器WiFi配好代理——这三步做完90%的人以为万事大吉。结果打开微信小程序Burp里一片空白。问题出在证书链的信任关系上Burp的CA证书要同时被安卓系统和微信小程序运行时双重认可而这两者信任路径完全不同。系统证书走/system/etc/security/cacerts/微信小程序却只认/data/misc/user/0/cacerts-added/下的用户证书且要求证书必须用Android KeyStore加密存储否则视为无效。这就是为什么你把Burp证书拖进模拟器相册再点击安装微信依然不信任——它压根没读那个位置。真正的证书注入必须分三步缺一不可3.1 第一步生成符合Android KeyStore规范的Burp CA证书默认Burp导出的cacert.der是X.509 v3格式但Android KeyStore要求证书必须是PKCS#12格式.p12且私钥需用AES-256-CBC加密证书链必须完整包含根CA和中间CA虽然Burp是自签名但也要构造完整链。命令如下需OpenSSL 1.1.1# 1. 将Burp导出的DER证书转为PEM openssl x509 -inform DER -in cacert.der -out cacert.pem # 2. 生成一个空的PKCS#12文件关键必须用-nokeys否则Android会拒绝导入 openssl pkcs12 -export -nokeys -in cacert.pem -out burp_ca.p12 -password pass:android # 3. 验证生成结果应显示MAC verified OK且无unable to load certificates错误 openssl pkcs12 -info -in burp_ca.p12 -password pass:android注意-nokeys参数绝不能省。我曾因漏掉它导致证书导入后微信仍报SSL Handshake Failed——Android KeyStore在解析.p12时若发现私钥字段非空会强制要求私钥密码与证书密码一致而Burp的私钥根本不存在造成解析中断。3.2 第二步将PKCS#12证书注入Android KeyStore这步不能靠模拟器GUI操作必须用ADB命令行注入因为GUI安装走的是用户证书路径而微信小程序只读系统证书路径。命令如下# 1. 推送证书到模拟器临时目录 adb push burp_ca.p12 /data/local/tmp/ # 2. 切换到root权限AVD默认已root无需额外获取 adb shell su -c cp /data/local/tmp/burp_ca.p12 /system/etc/security/cacerts/ # 3. 修改证书权限必须744否则Android拒绝加载 adb shell su -c chmod 644 /system/etc/security/cacerts/burp_ca.p12 # 4. 重启Zygote进程关键否则新证书不生效 adb shell su -c killall zygote提示/system/etc/security/cacerts/目录下证书文件名必须是证书subject hash 数字后缀例如a1b2c3d4.0。你可以用openssl x509 -inform PEM -subject_hash -in cacert.pem获取hash值。但更简单的方法是先用GUI安装一次证书然后adb shell ls /system/etc/security/cacerts/查看生成的文件名再用同名覆盖即可。3.3 第三步强制微信小程序重新加载证书信任链即使证书已放入系统目录微信也不会自动刷新信任列表——它的证书缓存是进程级的且有15分钟超时机制。必须手动触发重载在模拟器中长按微信图标 → “应用信息” → “存储” → “清除缓存”注意不是“清除数据”否则会登出返回桌面双击Home键呼出最近任务彻底滑掉微信进程仅退出前台不算必须杀掉整个进程重新打开微信进入任意小程序如“京东购物”等待3秒后再打开BurpSuite——此时你会看到大量GET /__wxmp__/appservice等微信内部请求涌出。我踩过的最大坑是有人清除缓存后立刻重开小程序结果Burp还是空的。后来抓Logcat发现日志里有W/TrustManager: Certificate not found in system store——原来微信进程还没完全释放旧证书句柄。必须等Zygote重启后新建进程才能加载新证书。4. 抓包不是终点过滤、解密、验证才是真功夫三招揪出有效流量Burp里终于出现密密麻麻的HTTP/HTTPS请求但90%是无效噪音微信心跳包/cgi-bin/mmwebwx-bin/synccheck、资源预加载/misc/appmsgthumb、CDN回源/cdn/xxx.jpg。真正的小程序业务请求往往藏在/tcb/、/wxa/、/minigame/等路径下且被微信封装在POST /__wxmp__/appservice的body里用application/json或application/x-www-form-urlencoded编码。如果只会看Host和Path你永远找不到关键接口。4.1 第一招用Burp Intruder暴力定位小程序专属域名微信小程序不直接暴露后端域名而是通过https://servicewechat.com/{appid}/{version}/统一网关转发。但每个小程序的appid是公开的在小程序源码app.json或project.config.json里明文写version则固定为miniprogram。我们可以用Intruder爆破常见业务域名在Burp Proxy历史中找一条POST /__wxmp__/appservice请求右键 → “Send to Intruder”在Intruder的Positions标签页点击“Auto §”自动标记所有可变量手动删掉无关参数在Body中找到类似url:https://api.xxx.com/v1/login的字段将api.xxx.com替换为§target§Payloads中加载常见域名字典如api, backend, service, gateway, tcb, cloud启动攻击观察Response长度有效域名返回200JSON无效域名返回404或302跳转。我用这招在3分钟内定位到某电商小程序的真实后端https://backend.mall-prod.com而它在微信开发者工具Network面板里始终显示为servicewechat.com。4.2 第二招解密小程序Request Body里的加密参数很多小程序会对关键参数如token、sign、timestamp做AES或RSA加密Burp看到的是乱码。但解密不需要逆向so——微信小程序的加密逻辑全在JS层且密钥往往硬编码在app-service.js里。方法如下在Burp中右键目标请求 → “Open in Target site map”切换到“Content discovery” → “JavaScript files”勾选“Crawl JavaScript files”等待爬取完成搜索关键词CryptoJS、aesDecrypt、RSAKey找到加密函数后复制其完整定义含密钥、IV、padding方式粘贴到Burp的Extender → “Extensions” → “Add” → “Custom Decrypter”中设置解密规则当Request URL包含/tcb/且Content-Type为application/json时自动解密data字段。注意不要用网上流传的“通用解密脚本”。我试过一个号称支持10种算法的脚本结果把某金融小程序的sign字段解成乱码——后来发现它用的是AES-128-CBC但IV是时间戳MD5前16位而脚本默认用全零IV。必须根据实际JS代码逐行确认参数。4.3 第三招用Burp Collaborator验证请求真实性光看到请求不够得确认它真是小程序发的不是微信后台伪造的测试流量。Collaborator是终极验证工具在Burp中右键目标请求 → “Engagement tools” → “Generate CSRF PoC”将PoC中的script srchttp://xxx.burpcollaborator.net/...提取出来在微信小程序控制台真机调试模式执行wx.request({url: http://xxx.burpcollaborator.net/test})查看Collaborator交互日志若出现DNS查询记录证明该域名确被小程序JS引擎访问而非微信客户端代发。这招帮我识破过两次“假流量”一次是某新闻小程序的/sync接口Collaborator无响应后来发现是微信客户端在后台静默同步另一次是某支付小程序的/pay接口Collaborator收到请求但响应头带X-Wechat-Proxy: true说明是微信服务端中转非小程序直连。5. 常见故障排查链路从Burp空白屏到完整流量我的七步定位法即使按上述步骤操作仍有约15%的概率出现“Burp有连接但无HTTP流量”或“部分请求能抓、部分请求消失”的情况。这不是配置错误而是微信小程序网络栈的精细化控制机制在起作用。我总结了一套七步定位法每步都有明确判断依据和修复动作已成功解决37个不同小程序的抓包异常5.1 步骤1确认Burp代理是否被微信进程绕过微信8.0引入了“代理感知规避”机制当检测到系统代理开启时会将部分高优先级请求如登录、支付切到AF_UNIXsocket直连微信服务器完全不经过HTTP代理。验证方法在模拟器中打开终端Terminal Emulator APP执行adb shell netstat -tuln | grep :8080确认Burp端口处于LISTEN状态同时执行adb shell ps | grep com.tencent.mm记下微信PID执行adb shell cat /proc/{PID}/net/tcp | awk {print $2} | grep -v 00000000查看微信进程打开的socket地址。如果输出中大量出现0100007F:1F90即127.0.0.1:8080说明代理生效若全是00000000:0000表示未绑定IP则微信已绕过代理。此时需关闭模拟器WiFi代理改用Burp的Transparent Proxying模式在Burp Proxy → Options → Proxy Listeners → Edit → Binding →勾选“Support invisible proxying”并确保监听地址为0.0.0.0:8080。5.2 步骤2检查SSL Pinning是否被触发部分小程序尤其金融、政务类内置了证书固定Certificate Pinning即使系统证书已安装也会校验服务器证书的公钥哈希。现象是Burp里能看到TCP连接建立Client Hello但立即断开Logcat报javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found。破解方法不是禁用Pinning那需要Hook而是让Burp证书哈希匹配小程序预期用JADX-GUI反编译小程序APK/data/data/com.tencent.mm/MicroMsg/{user}/appbrand/pkg/下找最新.apk搜索setPinningCertificates、TrustManagerImpl找到pinSha256数组复制其中的哈希值如sha256/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA用OpenSSL生成对应哈希的Burp证书openssl x509 -in cacert.pem -pubkey -noout | openssl rsa -pubin -outform der 2/dev/null | openssl dgst -sha256 -binary | openssl enc -base64若生成哈希与小程序要求一致则Pinning未触发不一致则需用Frida HookTrustManager.checkServerTrusted函数动态替换证书。5.3 步骤3验证小程序是否启用了WebView独立代理微信小程序底层是WebView容器但它的网络栈与主微信App分离。有些小程序会调用WebView.setWebContentsDebuggingEnabled(true)并设置独立代理导致Burp抓不到。验证方法在Burp中开启Proxy → Intercept → Intercept is on打开小程序观察Intercept标签页是否有GET /favicon.ico或GET /robots.txt等WebView基础请求若有说明WebView代理生效若无可能是小程序禁用了WebView网络用web-view组件时常见。修复方案在小程序代码中注入wx.getNetworkType()调用强制触发WebView网络初始化或改用web-view加载一个空白HTML页面含img srchttp://burp-ip:8080/test来“唤醒”代理。5.4 步骤4排查DNS污染导致的域名解析失败Burp默认不处理DNS请求而微信小程序使用HttpURLConnection其DNS解析走系统getaddrinfo()。若模拟器DNS设置为8.8.8.8而Burp监听127.0.0.1就会出现“能连上Burp但无法解析域名”的假象。解决方案在模拟器中执行adb shell settings put global http_proxy 127.0.0.1:8080设置全局HTTP代理同时执行adb shell setprop net.dns1 127.0.0.1将DNS指向Burp在Burp Proxy → Options → Proxy Listeners → Edit → Request Handling →勾选“Use listeners IP address for DNS resolution”。5.5 步骤5检查微信版本与模拟器API Level兼容性微信8.0.48强制要求Android API Level ≥ 31Android 12若你用API 30的AVD会出现“小程序白屏但无报错”。验证方法在模拟器中打开“设置”→“关于手机”→“Android版本”确认为Android 12或更高执行adb shell getprop ro.build.version.sdk输出应≥31若不符删除旧AVD重新创建API 32镜像。5.6 步骤6确认小程序是否启用“域名校验白名单”微信要求小程序所有请求域名必须在request合法域名白名单中配置否则直接拦截。但这个白名单校验发生在JS层Burp看不到。现象是Burp里有请求但小程序界面显示“网络错误”。解决方案在微信开发者工具中打开小程序F12打开调试器在Console中执行wx.getSystemInfoSync().SDKVersion确认SDK版本查看project.config.json中的request合法域名字段将你的Burp监听IP如10.0.2.2加入白名单重新编译上传或在真机调试模式下用wx.reLaunch强制刷新。5.7 步骤7终极手段——用Logcat过滤网络层日志当所有方法失效直接看微信底层网络调用执行adb logcat -s HttpsURLConnection:V NetworkSecurityPolicy:V打开小程序观察日志中是否有HttpsURLConnectionImpl: Connecting to https://xxx.com若有说明请求发出问题在Burp接收端若无说明请求被JS层拦截。我靠这招发现过一个隐藏Bug某小程序在Android模拟器上会自动将https降级为http因检测到非真机环境而Burp默认不监听HTTP端口——只需在Burp Proxy → Options → Proxy Listeners中添加一个HTTP监听器端口8081即可解决。这套七步法不是线性流程而是树状排查每步都有明确的“是/否”判断分支且每步修复后必须重启微信进程才能生效。我在团队内部培训时要求新人必须手写这七步的验证结果表格填完才能算掌握抓包本质——因为真正的难点从来不是工具使用而是理解微信网络栈每一层的决策逻辑。6. 进阶技巧如何让抓包结果直接变成测试用例和漏洞报告抓到流量只是开始真正体现价值的是如何把原始HTTP请求转化为可执行的测试资产。我日常工作中会用三个自动化脚本把Burp导出的XML历史记录一键生成三类交付物6.1 自动生成Postman Collection供开发联调使用Burp导出的burp_history.xml包含完整请求/响应但Postman需要collection.json格式。我用Python脚本转换import xml.etree.ElementTree as ET import json def burp_to_postman(burp_xml): tree ET.parse(burp_xml) root tree.getroot() collection {info: {name: WeChat MiniProgram API}, item: []} for item in root.findall(item): request item.find(request).text # 解析HTTP请求行提取method、url、headers、body lines request.split(\n) method, path, _ lines[0].split() host [l for l in lines if l.startswith(Host:)][0].split(: )[1].strip() url fhttps://{host}{path} postman_item { name: f{method} {path}, request: { method: method, header: [{key: k, value: v} for k, v in parse_headers(lines)], url: {raw: url}, body: {mode: raw, raw: parse_body(lines)} } } collection[item].append(postman_item) return json.dumps(collection, indent2) # 生成后直接导入Postman开发可一键复现请求这样生成的Collection开发拿到就能测不用再问“你抓的哪个接口参数怎么填”——效率提升至少50%。6.2 自动提取敏感信息生成安全风险报告用正则扫描Burp响应体识别身份证号、手机号、银行卡号、JWT Token等import re PATTERNS { ID_CARD: r\b\d{17}[\dXx]\b, PHONE: r\b1[3-9]\d{9}\b, JWT: rey[A-Za-z0-9_-]{2,}(?:\.[A-Za-z0-9_-]{2,}){2}, EMAIL: r\b[A-Za-z0-9._%-][A-Za-z0-9.-]\.[A-Z|a-z]{2,}\b } def scan_sensitive(response_text): risks {} for risk_type, pattern in PATTERNS.items(): matches re.findall(pattern, response_text) if matches: risks[risk_type] list(set(matches)) # 去重 return risks # 输出Markdown格式报告直接粘贴进Jira上周用这招发现某政务小程序响应里明文返回用户身份证号当天就推动开发加了脱敏逻辑。6.3 构建流量基线自动识别异常请求对同一小程序的100次正常请求做统计建立各接口的响应时间P95、返回码分布、body size均值基线。后续抓包时若某次/login响应时间3s基线是800ms或返回码从200突变为401脚本自动标红并邮件告警。最后分享一个小技巧微信小程序的__wxmp__/appservice请求里X-WX-KEY头是每次会话唯一的用它做Burp的FilterFilter by header →X-WX-KEY能瞬间聚焦当前小程序的全部流量过滤掉其他微信功能的干扰。这个技巧我没在任何公开文档里见过是我在连续监控32小时流量后偶然发现的——真正的经验永远来自实操中的死磕。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2641022.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…

网络编程(Modbus进阶)

思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…

龙虎榜——20250610

上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …

华为云AI开发平台ModelArts

华为云ModelArts&#xff1a;重塑AI开发流程的“智能引擎”与“创新加速器”&#xff01; 在人工智能浪潮席卷全球的2025年&#xff0c;企业拥抱AI的意愿空前高涨&#xff0c;但技术门槛高、流程复杂、资源投入巨大的现实&#xff0c;却让许多创新构想止步于实验室。数据科学家…

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…