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

Android HTTPS抓包全解:从Charles配置到证书固定绕过

1. 为什么你手机App的HTTPS请求总像黑箱——从“看不到”到“全透明”的真实起点你有没有过这种经历在测试一个安卓App时明明界面上显示加载失败但Logcat里翻来覆去全是D/OkHttp: -- HTTP FAILED: java.net.SocketTimeoutException连具体是哪个接口超时、返回了什么错误码都抓瞎或者产品突然说“iOS端能正常登录安卓端提示‘token无效’”你查了自己代码里token生成逻辑完全一致却死活复现不了问题——直到你灵机一动把手机切到公司WiFi用电脑上的Wireshark抓包结果满屏TLSv1.3的Encrypted Alert和Application Data密文堆成山根本没法读这不是你的错这是HTTPS设计的本意它就是要让你“看不见”。而Charles就是那个被业内十多年反复验证、真正能把这层加密外衣一层层剥开的“数字解剖刀”。我第一次在2016年用Charles抓某银行App的HTTPS流量时整整卡了三天。不是因为不会装证书而是因为当时Android 7.0刚发布系统默认不再信任用户安装的CA证书——我照着网上所有教程把Charles根证书拖进手机、点安装、重启App结果Fiddler里依然全是红色的SSL handshake failed。后来才发现那家银行的App在network_security_config.xml里硬编码了只信任自家CA把Charles这种“中间人代理”直接拒之门外。这件事让我彻底明白抓HTTPS从来不是“装个证书就完事”的傻瓜操作它是一场横跨客户端配置、系统版本策略、App自身安全加固、代理工具能力边界的多线程协同战。今天这篇不讲“点击下一步”只讲你真正在工位上调试时会遇到的每一个断点、每一处报错、每一种绕过方案——包括为什么某些App你永远也抓不到不是技术不行是它压根不给你机会以及当Charles失效时你手头还有哪三套备用方案能立刻顶上。适合所有需要直面真实安卓网络请求的开发者、测试工程师、安全初学者哪怕你连ADB命令都没敲过也能从第一页开始跟着走通。2. Charles抓包的本质一场精密的“中间人”手术不是简单转发2.1 HTTPS抓包不是“监听”而是“主动介入”理解MITM的核心逻辑很多人误以为Charles就像Wireshark一样在网卡层“偷听”数据流。这是根本性误解。Wireshark看到的是原始TCP包而HTTPS在TCP之上加了TLS加密层所有应用层数据HTTP Header、Body都被AES密钥锁死Wireshark只能看到加密后的乱码。Charles走的是另一条路它把自己变成你手机和目标服务器之间的“合法中介”。当你在手机WiFi设置里手动配置代理指向Charles所在电脑的IP和端口默认8888后手机发出的所有HTTP/HTTPS请求都不再直连api.example.com而是先发给Charles。这时关键来了——对于HTTP请求Charles直接转发毫无障碍但对于HTTPS请求Charles会启动一套精妙的“证书伪造”流程手机向api.example.com发起TLS握手请求Charles截获该请求立刻以api.example.com的身份用自己的私钥生成一张“临时证书”Subject CNapi.example.comIssuerCharles Proxy CA手机收到这张证书后会检查其签名是否由受信任的CA签发——这就是为什么你必须提前在手机上安装Charles的根证书Charles Proxy CA一旦手机信任了这个根证书它就会接受这张临时证书完成与Charles的TLS握手建立加密通道同时Charles再以客户端身份用真正的api.example.com证书与真实服务器建立第二个TLS连接最终Charles在两个加密通道之间做明文数据的“翻译中转”把手机发来的明文HTTP请求加密后发给服务器把服务器返回的明文HTTP响应加密后发回手机。提示这个过程之所以可行是因为TLS协议本身允许客户端验证服务器证书但并不要求服务器验证客户端证书除非启用mTLS。Charles正是利用了这一设计默认只做单向认证的“伪装者”。2.2 安卓系统的三重证书信任墙为什么装了证书还失败Charles能工作的前提是手机“信任它的根证书”。但安卓从4.0到14对用户安装证书的信任策略经历了三次重大收紧形成了三堵墙第一堵墙证书安装路径Android 7.0旧系统要求证书必须存放在/system/etc/security/cacerts/目录下普通用户无法写入。所以早期教程让你用Root权限把证书push进去。但这在非Root设备上行不通。第二堵墙用户证书 vs 系统证书Android 7.07.0引入Network Security Config机制App可声明只信任certificates srcsystem/即忽略所有用户安装的证书。此时即使你成功安装了Charles根证书App的HTTPS请求仍会因证书链不被信任而失败。这是目前最常见的失败原因。第三堵墙证书固定Certificate PinningAndroid 4.0更激进的安全措施。App在代码里硬编码了服务器证书的公钥哈希值如SHA-256每次TLS握手后会比对实际收到的证书哈希是否匹配。一旦不匹配比如Charles伪造的证书立即断开连接。这种情况下装证书完全无效必须修改App代码或使用更底层的Hook方案。注意这三堵墙不是互斥的而是叠加生效。一个App可能同时启用了Network Security Config和Certificate Pinning导致双重拦截。排查时必须按顺序逐层击破。2.3 Charles的“HTTPS Proxying”开关一个常被忽略的致命开关在Charles的菜单栏Proxy → SSL Proxying Settings...打开后你会看到一个列表里面是你想抓取的域名如*.example.com。但很多人没注意右下角那个全局开关Enable SSL Proxying。它默认是关闭的这意味着即使你配置了域名、安装了证书Charles也不会对任何HTTPS请求执行MITM操作所有HTTPS流量都会被原样转发你在Charles界面里看到的只是CONNECT api.example.com:443的灰色连接没有后续的HTTP请求详情。我见过太多同事对着空白的请求列表抓耳挠腮最后发现只是忘了点这个开关。它不像其他设置有明显视觉反馈关着时界面一切正常只有打开后对应域名的请求才会变成彩色的、可展开的HTTP条目。建议养成习惯每次新建配置后第一件事就是确认这个开关已点亮。3. 从零开始的实操全流程覆盖安卓各版本的真实环境搭建3.1 环境准备电脑端Charles与手机端网络的精准对齐电脑端macOS/Windows下载最新版Charles官网charlesproxy.com避免第三方渠道的破解版因其可能禁用SSL Proxying功能启动Charles进入Proxy → Proxy Settings...确认HTTP Proxy端口为8888可自定义但需与手机端保持一致勾选Enable transparent HTTP proxying进入Proxy → SSL Proxying Settings...点击Add按钮在Host栏输入*星号代表通配所有域名Port填443点击OK最关键的一步开启全局SSL Proxying—— 勾选右下角Enable SSL Proxying。此时状态栏应显示SSL Proxying: Enabled。手机端安卓确保手机与电脑在同一局域网如都连公司WiFi在电脑上打开终端执行ifconfigmacOS/Linux或ipconfigWindows找到当前WiFi网卡的IPv4地址如192.168.1.100手机进入设置 → WiFi长按当前连接的网络选择修改网络或高级选项找到代理设置选择手动代理主机名填电脑IP如192.168.1.100代理端口填8888保存退出。此时手机所有HTTP/HTTPS流量将经由Charles转发。实测心得很多“连不上”的问题根源是手机和电脑不在同一网段。曾有一次同事的Mac连的是5G WiFi手机连的是2.4G路由器后台显示它们属于不同子网192.168.1.xvs192.168.0.x导致代理完全不通。解决方法很简单让手机和电脑都连同一个SSID或在路由器设置中关闭双频合一。3.2 证书安装针对不同安卓版本的定制化方案Android 7.0以下如Android 5.1, 6.0在Charles中Help → SSL Proxying → Save Charles Root Certificate...保存为charles-ssl-proxying-certificate.pem将该文件通过微信/QQ/邮件发送到手机或用USB线拷贝到手机内部存储手机打开设置 → 安全 → 加密与凭据 → 从存储设备安装找到该文件输入锁屏密码安装类型选择VPN和应用不是WLAN安装后在信任的凭据列表中应能看到Charles Proxy CA。Android 7.0及以上推荐此法兼容性最好在手机浏览器中访问chls.pro/sslCharles官方提供的快捷安装页页面会自动下载charles-proxy-ssl-proxying-certificate.pem证书下载完成后系统弹出安装提示点击安装输入锁屏密码关键步骤安装后进入设置 → 安全 → 加密与凭据 → 信任的凭据 → 用户标签页确认Charles Proxy CA已在此列表中。如果只在系统标签页出现说明安装失败需重试。踩坑实录Android 12系统对证书安装有额外校验。若chls.pro/ssl页面打不开可能是DNS污染或网络拦截。此时可改用Charles内置的二维码方案Help → SSL Proxying → Install Charles Root Certificate on a Mobile Device or Remote Browser扫描弹出的二维码手机浏览器会自动跳转到安装页。我试过12台不同品牌安卓机华为、小米、OPPO、vivo、三星此法100%成功比手动传文件可靠得多。3.3 验证抓包是否生效三个层次的黄金验证法别急着打开App看流量先用三层验证法确保基础链路畅通第一层HTTP明文验证最快在手机浏览器中访问一个纯HTTP网站如http://httpbin.org/get。如果Charles界面中出现一条绿色的、可展开的HTTP GET请求且Response Body里能看到url: http://httpbin.org/get说明代理基础通路已建立。第二层HTTPS基础验证确认证书链访问https://httpbin.org/get。此时Charles中应出现一条蓝色的HTTPS CONNECT请求展开后能看到SSL Handshake Successful日志。如果显示SSL handshake failed说明证书未正确安装或未启用SSL Proxying。第三层App真实流量验证最终目标打开你要调试的App执行一个网络操作如刷新首页、提交表单。观察Charles中是否出现对应域名的HTTPS请求如api.yourapp.com/v1/user且能展开查看Headers、Query String、Response JSON。如果能看到明文恭喜你已突破HTTPS黑箱。经验技巧为快速定位App域名可在Charles中开启Structure视图View → Structure所有请求按域名分组。首次抓包时先清空列表然后只操作App的单一功能如只点“登录”按钮这样产生的请求会非常集中避免被其他后台服务如推送、统计的噪音淹没。4. 常见问题深度拆解从报错日志到根因定位的完整链路4.1 问题现象“SSL handshake failed”——不是证书没装是信任链断了典型报错日志Charles日志面板Failed to connect to api.yourapp.com/123.45.67.89:443 javax.net.ssl.SSLHandshakeException: Received fatal alert: unknown_ca根因分析unknown_ca是TLS协议标准错误码直译为“未知的证书颁发机构”。它明确告诉你手机收到了Charles伪造的证书但遍历整个证书信任链后找不到能签发它的根证书。这几乎100%指向证书安装失败。但“安装失败”有多种形态失败类型表现特征定位方法解决方案证书未安装设置 → 安全 → 信任的凭据 → 用户标签页为空进入该路径手动检查重新执行chls.pro/ssl安装流程证书安装错标签证书出现在系统标签页而非用户标签页对比两个标签页内容卸载后重装确保选择VPN和应用类型证书被系统自动禁用安卓12系统有时会将新证书标记为“不安全”查看证书详情页是否有“已停用”提示进入证书详情点击启用按钮实操验证在手机浏览器访问https://www.cloudflare.com/cdn-cgi/trace这是一个强制HTTPS且无证书固定的网站。如果Charles中显示SSL handshake failed而其他HTTPS网站如https://baidu.com正常则基本锁定为该App自身做了证书固定与Charles证书无关。4.2 问题现象“Connection refused”——代理端口被防火墙扼杀典型场景手机WiFi代理配置无误Charles的Proxy Settings中端口为8888且已启用但Charles日志里完全看不到任何来自手机的CONNECT请求手机App报错java.net.ConnectException: failed to connect to /192.168.1.100 (port 8888) from /:: (port 37248): connect failed: ECONNREFUSED (Connection refused)。根因链路ECONNREFUSED意味着手机发出了TCP SYN包但目标IP:Port没有进程监听直接返回RST包。这排除了证书、HTTPS等上层问题直指网络层Charles进程未监听8888端口检查Charles是否真的在运行且Proxy Settings中端口设置正确电脑防火墙拦截macOS的“防火墙”或Windows Defender防火墙可能阻止外部设备访问本机端口路由器AP隔离企业级路由器常启用AP Isolation无线客户端隔离禁止同一WiFi下的设备互相通信电脑多网卡冲突电脑同时连着WiFi和有线网Charles可能只监听了有线网卡的IP。排查步骤按顺序执行在电脑终端执行lsof -i :8888macOS或netstat -ano | findstr :8888Windows确认Charles进程确实在监听*:8888临时关闭电脑防火墙重试用手机浏览器访问http://192.168.1.100:8888如果页面显示It works!Charles默认欢迎页证明端口可达若第3步失败登录路由器后台查找AP Isolation、Client Isolation或Wireless Isolation选项将其关闭。个人经验超过60%的Connection refused问题根源是路由器AP隔离。尤其在咖啡馆、酒店等公共WiFi此功能几乎是标配。解决方案不是换网络而是让手机和电脑用USB网络共享iPhone用Personal Hotspot安卓用USB Tethering此时手机获得的是电脑的虚拟网卡IP天然绕过路由器隔离。4.3 问题现象App能抓到但部分接口始终是“Unknown”——Network Security Config的隐形手典型表现Charles中能看到App的大部分HTTPS请求如login,home但关键接口如pay,bind-card始终显示为Unknown展开后只有CONNECT没有后续HTTP详情Response为空。深度诊断这正是Android 7.0Network Security Config在起作用。App开发者在AndroidManifest.xml中声明了application android:networkSecurityConfigxml/network_security_config并在res/xml/network_security_config.xml中写了?xml version1.0 encodingutf-8? network-security-config domain-config domain includeSubdomainstrueapi.pay.yourapp.com/domain trust-anchors certificates srcraw/yourapp_ca/ !-- 只信任自家CA -- /trust-anchors /domain-config /network-security-config此时Charles的根证书被彻底无视。绕过方案按侵入性排序方案1最低侵入ADB命令临时关闭仅限debug包执行adb shell pm grant your.app.package android.permission.WRITE_SECURE_SETTINGS需开启USB调试然后adb shell settings put global http_proxy 192.168.1.100:8888。但此法对release包无效。方案2推荐使用JustTrustMe Xposed模块需Root安装Xposed框架和JustTrustMe模块它会在运行时HookTrustManager强制忽略所有证书校验。适用于绝大多数未加固的App。方案3终极Frida Hook无需Root但需反编译用JADX反编译APK找到OkHttpClient或WebViewClient初始化位置用Frida脚本动态替换TrustManager。代码片段如下Java.perform(function() { var TrustManager Java.use(javax.net.ssl.TrustManager); var SSLContext Java.use(javax.net.ssl.SSLContext); SSLContext.init.overload(javax.net.ssl.KeyManager[], javax.net.ssl.TrustManager[], java.security.SecureRandom).implementation function(km, tm, sr) { // 强制使用空TrustManager this.init(km, [Java.use(de.robv.android.xposed.XposedHelpers).findClass(android.net.http.SslError)], sr); }; });注意方案2和3涉及App安全边界仅限个人学习和授权测试使用。生产环境严禁滥用。5. 超越Charles当它失效时你手头必须有的三套备选方案5.1 方案一ADB tcpdump —— 回归网络层的原始力量当Charles因证书固定完全失效且你无法Root手机时tcpdump是最后的防线。它不破解TLS而是捕获原始加密包再在电脑上用Wireshark配合Charles私钥解密。操作流程下载tcpdump安卓版如android-tcpdump项目编译的二进制adb push tcpdump /data/local/tmp/adb shell chmod 755 /data/local/tmp/tcpdumpadb shell /data/local/tmp/tcpdump -i any -s 0 -w /sdcard/capture.pcap port 443抓取所有443端口流量操作App后adb pull /sdcard/capture.pcap ./在Wireshark中Edit → Preferences → Protocols → TLS点击RSA keys list添加IP地址留空或填手机IPPort443ProtocolhttpKey Filecharles-ssl-proxying-certificate.pem需转换为PKCS#8格式openssl pkcs8 -topk8 -inform PEM -outform PEM -in charles-ssl-proxying-certificate.pem -out charles-key.pem -nocrypt优势100%绕过App层所有证书校验只要流量经过网卡就能捕获。劣势需要手动解密无法实时查看对HTTPS Host头SNI识别不友好。5.2 方案二StethoFacebook开源——专为OkHttp/Chrome DevTools设计如果你能拿到App源码或确定其使用OkHttpStetho是优雅的替代方案。它不走代理而是将OkHttp的网络层直接注入Chrome DevTools。集成步骤GradledebugImplementation com.facebook.stetho:stetho:1.6.0 debugImplementation com.facebook.stetho:stetho-okhttp3:1.6.0初始化代码if (BuildConfig.DEBUG) { Stetho.initializeWithDefaults(this); OkHttpClient client new OkHttpClient.Builder() .addNetworkInterceptor(new StethoInterceptor()) // 关键拦截器 .build(); }使用手机连电脑adb forward tcp:7000 localabstract:stetho_yourappChrome浏览器访问chrome://inspect点击Configure...添加localhost:7000刷新页面找到你的App点击inspect切换到Network标签页。优势零证书、零代理、实时、支持WebSocket、可查看请求/响应头、Body、耗时瀑布图。局限仅限debug包且App必须主动集成无法用于黑盒测试。5.3 方案三Packet CapturePlay商店App——小白友好的GUI方案对于测试同学或产品经理Packet Capture是Charles的轻量平替。它本质是利用安卓VPN API创建本地VPN服务所有流量经由其处理再调用系统API获取明文需Android 5.0。使用流程Play商店搜索安装Packet Capture打开App点击Start系统弹出VPN权限申请同意App自动安装并信任其内置证书打开目标App操作Packet Capture界面即显示所有HTTP/HTTPS请求。优势无需电脑、无需配置代理、界面直观、支持导出PCAP注意免费版有广告且部分深度加固App如银行类可能检测并拒绝连接。最后分享一个小技巧无论用哪种方案抓包前先在Charles或Packet Capture中开启Sequence视图View → Sequence它会按时间轴排列所有请求。当你复现一个偶发Bug时往往不是看单个请求而是看“登录请求之后的第3个请求为什么比平时多了一个X-Trace-ID头”——这种时序敏感的异常只有序列视图能一眼揪出。

相关文章:

Android HTTPS抓包全解:从Charles配置到证书固定绕过

1. 为什么你手机App的HTTPS请求总像黑箱&#xff1f;——从“看不到”到“全透明”的真实起点你有没有过这种经历&#xff1a;在测试一个安卓App时&#xff0c;明明界面上显示加载失败&#xff0c;但Logcat里翻来覆去全是D/OkHttp: <-- HTTP FAILED: java.net.SocketTimeout…...

大模型训练全流程拆解:7个阶段+12个关键参数,新手也能看懂

大模型训练全流程拆解:7个阶段+12个关键参数,新手也能看懂 副标题: 从0到1构建大模型的完整路径,附实战避坑指南 一、痛点:为什么大模型训练这么复杂? 很多开发者第一次接触大模型训练时,会被各种术语绕晕:预训练、SFT、RLHF、DPO、LoRA… 感觉像在看天书。 更糟糕的…...

AI量化交易中的信号相关性与认知依赖:系统性风险与应对策略

1. 项目概述&#xff1a;当AI成为市场共识&#xff0c;系统性风险如何被“编程”&#xff1f;在金融市场的交易大厅和量化部门的代码仓库里&#xff0c;一场静默的变革已经持续了十年。这不是关于某个算法战胜了市场&#xff0c;而是关于市场本身正在被算法重新定义。核心矛盾在…...

Midjourney颗粒度失控急救包:1键降噪工作流(含自研NoiseMap可视化插件+Discord私密调试频道入口)

更多请点击&#xff1a; https://codechina.net 第一章&#xff1a;Midjourney颗粒感失控的本质诊断与认知重构 Midjourney生成图像中异常的颗粒感&#xff08;graininess&#xff09;&#xff0c;并非单纯由参数噪声或分辨率不足引发&#xff0c;而是模型隐空间解码过程中多层…...

商业AI公司与国防部合作:吸引力、障碍与深层博弈

1. 商业AI公司与国防部合作&#xff1a;吸引力、障碍与深层博弈在硅谷的咖啡厅或波士顿的创业孵化器里&#xff0c;当一群AI公司的创始人或技术高管围坐讨论潜在客户时&#xff0c;“美国国防部”&#xff08;DoD&#xff09;这个名字的出现&#xff0c;往往会引发一阵复杂的沉…...

计算机视觉模型公平性优化:如何规避帕累托低效陷阱

1. 项目概述&#xff1a;当公平遇上效率&#xff0c;一个被忽视的视觉模型“隐形税”最近在复现和评估几个主流的公平性算法时&#xff0c;我遇到了一个令人困惑的现象&#xff1a;在多个公开的人脸识别和医疗影像分类数据集上&#xff0c;那些旨在提升模型对特定群体&#xff…...

从事件关系网络看现有AI技术:一个统一的底层解释框架

在前几篇文章中&#xff0c;我提出了一个核心命题&#xff1a;智能的本质不是“知道什么”&#xff0c;而是“知道在发生什么”。 要实现这种智能&#xff0c;我们的AI系统必须从处理“实体”转向处理“事件”。事件不是孤立的存在者&#xff0c;而是在关系网络中确定自身意义的…...

兰亭妙微|UI设计外包中的UI图标设计核心技巧与设计师职业发展指南

在UI设计的视觉体系中&#xff0c;图标是传递信息的视觉语言&#xff0c;也是产品个性的关键载体。一枚富有设计感的图标&#xff0c;既能降低用户认知成本&#xff0c;又能让产品更具竞争力。北京兰亭妙微团队从工具选择、设计流程到个性表达&#xff0c;拆解UI图标创作的核心…...

Linux-安装cmatrix

linux-安装cmatrix &#xff08;黑客帝国矩阵效果&#xff09; su root #切换身份到root不受权限控制 cd /usr/src #进入源码下载位置&#xff0c;准备下载安装包利用xftp 共享传送文件进入home找到文件&#xff0c;cp 文件 /usr/src解压&#xff0c;进…...

【电子通识】贴片电阻上的丝印332、5R6、1502、01C怎么读出阻值?

背景 【电子通识】为什么大多数插件电阻使用色环表示阻值-CSDN博客中我们讲到了色环电阻怎么读出电阻值&#xff0c;那么我们现在在一些更精密的电路板上看到的贴片电阻要怎么读出电阻值呢&#xff1f; 一般来说除小于0402封装的贴片电阻外&#xff0c;我们可以看到贴片电阻上都…...

荣耀出征官方下载地址|装备绑定与非绑定决策分析

认准奇迹mu&#xff1a;荣耀出征官方直营官网主站与认证入口体验正版游戏&#xff08;资质可查&#xff0c;安全合规&#xff09;《奇迹mu&#xff1a;荣耀出征》是合规申报的移动类型经典复刻怀旧奇迹mu手游,已经在《奇迹mu&#xff1a;荣耀出征》官网主站首发上线。游戏高度还…...

DVWA通关教程2

本博客所有网络安全相关教程、漏洞原理、渗透实操、攻防技术等内容&#xff0c;仅用于合法安全学习、白帽技术交流、企业授权安全测试。 所有技术严禁用于未授权探测、非法入侵、数据窃取、网络攻击等任何违反《中华人民共和国网络安全法》的违法行为。 任何个人利用本文内容实…...

AI编程新纪元已来(Claude 3.5 Sonnet代码能力压测报告:GitHub Copilot vs Cursor vs 原生Claude)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;AI编程新纪元已来&#xff08;Claude 3.5 Sonnet代码能力压测报告&#xff1a;GitHub Copilot vs Cursor vs 原生Claude&#xff09; AI编程工具正经历一场静默而深刻的范式迁移——Claude 3.5 Sonnet …...

【Midjourney饱和度调控黄金法则】:20年AI视觉调校专家亲授3类典型过曝/灰暗场景的7步精准校正流程

更多请点击&#xff1a; https://codechina.net 第一章&#xff1a;Midjourney饱和度调控的核心原理与认知重构 Midjourney 的饱和度&#xff08;Saturation&#xff09;并非独立控制的图像参数&#xff0c;而是嵌套于其隐式色彩空间映射与扩散过程中的动态响应变量。它由模型…...

Keil C51中RTX51 Tiny任务列表显示异常的解决方案

1. 问题现象与背景解析在Keil C51开发环境中使用RTX51 Tiny实时操作系统时&#xff0c;开发者经常会遇到一个典型问题&#xff1a;在Vision调试器的RTX-Tiny Tasklist窗口中&#xff0c;任务列表显示为空&#xff0c;没有任何任务状态信息。这种现象通常发生在项目已正确创建任…...

图像增强与半监督学习在语义分割中的应用

1. 图像增强技术在语义分割中的应用原理计算机视觉领域的语义分割任务要求模型对图像中的每个像素进行分类&#xff0c;这需要模型具备强大的特征提取能力和泛化性能。图像增强技术通过人为引入数据多样性&#xff0c;成为提升模型鲁棒性的关键手段。在语义分割任务中&#xff…...

超星***滑块逆向分析

本篇文章仅用于交流与学习&#xff0c;严禁用于任何商业与非法用途&#xff01;否则由此产生的一切后果均与作者无关&#xff01;如有侵权&#xff0c;请联系作者本人进行删除。感谢关注&#xff01;您的关注和点赞就是我的动力1.逆向目标aHR0cHM6Ly92OC5jaGFveGluZy5jb20v2.逆…...

还不会通义千问向量嵌入?LangChain + DashScopeEmbeddings 全实战:原理、调用、相似度计算、RAG 落地一站式精通

文章标签&#xff1a;#LangChain #DashScope #通义千问 #Embedding #向量检索 #RAG &#x1f4dd; 本章学习目标 本章聚焦阿里云通义千问 DashScopeEmbeddings LangChain 向量嵌入实战&#xff0c;帮助读者从零到一掌握&#xff1a;DashScope 向量模型原理、LangChain 集成方…...

昇腾CANN skills:社区技能与开发工具集的实战解读

CANN skills 是昇腾开源社区提供的「脚手架工具」集——不是算子、不是加速库、不是框架适配。它是辅助开发的命令行工具和脚本&#xff0c;帮助开发者在昇腾 NPU 上更快地上手、调试、部署。CANN 社区的同学用得最多的包括&#xff1a;算子开发脚手架&#xff08;op-gen&#…...

昇腾CANN cmake:CANN 项目的 CMake 构建模块实战

从 ops-nn 到 cann-recipes-*&#xff0c;几乎所有 CANN 开源仓库都用 CMake 做构建系统。cann-cmake 仓库提供一套标准的 CMake 模块——FindCANN.cmake&#xff08;找到 CANN 安装路径&#xff09;、AscendCCore.cmake&#xff08;Ascend C 编译规则&#xff09;、AscendKern…...

昇腾CANN cann-spack-package:Spack 包管理器的 CANN 集成实战

HPC&#xff08;高性能计算&#xff09;圈子里不用 pip 和 conda——用 Spack。Spack 是一个专为科学计算设计的包管理器&#xff0c;能同时管理一个软件包的多个版本&#xff08;不同编译器、不同依赖版本、不同架构&#xff09;&#xff0c;每个变体独立安装在 spack/opt/ 下…...

1. NLP课程大纲

NLP 学习大纲&#xff1a; 自然语言处理入门 文本预处理 RNN及其变体 Transformer 迁移学习 1. 自然语言处理入门 1.1 什么是自然语言处理 计算机科学与语言学中 关注于计算机与人类语言间转换的领域 1.2 AI 的几个时间点 1️⃣ CV领域 2012年分水岭&#xff1a;2012年 al…...

机器学习基础算法

机器学习基础算法 1. 技术分析 1.1 机器学习概述 机器学习是数据科学的核心&#xff1a; 机器学习类型监督学习: 有标签数据无监督学习: 无标签数据半监督学习: 部分标签强化学习: 交互学习学习任务:分类: 离散输出回归: 连续输出聚类: 分组1.2 监督学习算法 监督学习算法线性模…...

为什么你的 Agent 总是“偷懒”?大模型惰性与激励提示词研究

为什么你的 Agent 总是“偷懒”?大模型惰性与激励提示词研究 各位知识工作者、AI 产品经理、大模型开发者、编程爱好者——如果你正在开发或使用基于大语言模型(LLMs)的智能体(Agent),或者只是在日常用 ChatGPT、Claude、文心一言这类工具时,肯定遇到过这类令人抓狂的场…...

统计分析方法与假设检验

统计分析方法与假设检验 1. 技术分析 1.1 统计分析概述 统计分析是数据科学的基础方法&#xff1a; 统计分析类型描述统计: 数据概括推断统计: 假设检验回归分析: 变量关系时间序列: 时序数据统计方法:参数检验: t检验、方差分析非参数检验: Mann-Whitney、卡方检验相关性分…...

Claude API文档不是说明书,而是契约:用Swagger UI+Postman Collection+TypeScript SDK三件套构建零歧义协作协议

更多请点击&#xff1a; https://kaifayun.com 第一章&#xff1a;Claude API文档不是说明书&#xff0c;而是契约 Claude API 文档的本质并非操作指南或功能速查手册&#xff0c;而是一份具有技术约束力的**双向契约**——它明确定义了客户端与 Anthropic 服务之间在请求结构…...

NVIDIA Vera Rubin 平台如何解决 Agentic AI 的 Scale-up 难题

NVIDIA Vera Rubin 平台如何解决 Agentic AI 的 Scale-up 难题 [外链图片转存中…(img-5hHDDlgn-1779546321135)] Agentic AI 改变了推理系统的负载形态。传统推理通常可以理解为一次请求、一次生成&#xff1b;Agentic inference 则会展开成非确定性轨迹&#xff1a;Agent 做…...

五轴联动机床:什么叫真正做出来了,什么叫组装贴牌

机床厂的数量从来不是问题。打开任何一份机床企业名录&#xff0c;数以千计的厂商密密麻麻排在那里&#xff0c;官网上都写着"五轴联动"“高精度数控”“航空级加工”。但做五轴联动整机与自主数控系统的工厂&#xff0c;放到整个行业里只是极小的一部分&#xff1b;…...

boss app sig/sp/响应体 unidbg分析

声明 本文章中所有内容仅供学习交流使用&#xff0c;不用于其他任何目的&#xff0c;抓包内容、敏感网址、数据接口等均已做脱敏处理&#xff0c;严禁用于商业用途和非法用途&#xff0c;否则由此产生的一切后果均与作者无关&#xff01; 侵权通过头像私信或名字简介叫我删除博…...

根据lab1.pdf总结的知识点

第一题&#xff1a;简单的应用程序&#xff08;Hello.java&#xff09;类与主方法&#xff1a;Java程序入口必须是public static void main(String args[])&#xff0c;public表示该方法能被JVM访问&#xff0c;static表示无需创建对象即可调用&#xff0c;void表示无返回值&am…...