Wind River TCP/IP Stack (IPNET) Vulnerabilities

URGENT/11 白皮书笔记——远程危害VxWorks的关键漏洞6.9.3及以上 Introduction Armis 研究人员在 VxWorks 中发现了 11 个零日漏洞,VxWorks 是最流行的实时操作系统 (RTOS),被超过 20 亿台设备使用,包括工业、医疗和企业设备等关键任务设备。把这些漏洞称为 URGENT/11,这些漏洞位于 IPnet、TCP/IP 堆栈中,影响了过去13年的版本,并且是已发现的影响操作系统的漏洞的罕见示例。在其 32 年的历史中,MITRE 仅仅列出了 13 个影响 VxWorks 的 CVE,其中没有一个漏洞像 URGENT/11 那样严重影响核 阅读详情

Affected Product Versions

VxWorks 7 SR0610, VxWorks 7 SR0540, VxWorks 6.9

Description

Applicable to the following CVEs:
CVE-2019-12256 (V7NET-2423) Stack overflow in the parsing of IPv4 packets’ IP options
CVE-2019-12257 (VXW6-87101) Heap overflow in DHCP Offer/ACK parsing inside ipdhcpc 
CVE-2019-12255 (VXW6-87100) TCP Urgent Pointer = 0 leads to integer underflow 
CVE-2019-12260 (V7NET-2425) TCP Urgent Pointer state confusion caused by malformed TCP AO option 
CVE-2019-12261 (V7NET-2425) TCP Urgent Pointer state confusion during connect() to a remote host 
CVE-2019-12263 (V7NET-2425) TCP Urgent Pointer state confusion due to race condition 
CVE-2019-12258 (V7NET-2426) DoS of TCP connection via malformed TCP options 
CVE-2019-12259 (V7NET-2428) DoS via NULL dereference in IGMP parsing 
CVE-2019-12262 (V7NET-2427) Handling of unsolicited Reverse ARP replies (Logical Flaw) 
CVE-2019-12264 (V7NET-2428) Logical flaw in IPv4 assignment by the ipdhcpc DHCP client 
CVE-2019-12265 (V7NET-2428) IGMP Information leak via IGMPv3 specific membership report 

Files content:
VxWorks-SR540-IPnet-CVE-Patch.zip: see README
VxWorks-6.9.4-IPnet-CVE-Patch.zip: see README
vx694_CVE_v2Src.zip: affected source files before and after applying the patch

VxWorks 7 SR0610 is affected by some of these vulnerabilities. Customers using VxWorks 7 SR0610 should upgrade to VxWorks 7 SR0620 which is the latest official release and includes fixes for these vulnerabilities.

VxWorks环境搭建与学习:vxworks6.8和workbench3.2 VxWorks操作系统是美国WindRiver公司于1983年设计开发的一种嵌入式实时操作系统(RTOS),是嵌入式开发环境的关键组成部分。良好的持续能力、高性能的内核以及友好的用户开发环境,在嵌入式实时操作系统领域占据一席之地。它以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中,如卫星通讯、军事演习、弹道制导、飞机导航等。 阅读详情

相关推荐

VxWorks_7_Third-Party_Software_Support__SR0620.pdf

VxWorks_7_Third-Party_Software_Support__SR0620.pdf

CVE-2020-1971: OpenSSL 拒绝服务漏洞通告

2020-12-09 08:47 报告编号:B6-2020-120901 报告来源:360CERT 报告作者:360CERT 更新日期:2020-12-09 0x01 漏洞简述 2020年12月09日,360CERT监测发现 openssl 发布了 openssl 拒绝服务漏洞 的风险通告,该漏洞编号为 CVE-2020-1971 ,漏洞等级: 高危 ,漏洞评分: 7.5 。 OpenSSL 在处理 EDIPartyName (X.509 GeneralName类型标识)的时候存在一处空指针解引用,并引起

爱国小白帽 5178

VxWorks_7_PowerPC_Architecture_Guide__SR0620.pdf

VxWorks_7_PowerPC_Architecture_Guide__SR0620

白皮书笔记七

五个逻辑错误、DoS 和信息泄漏漏洞 除了前面章节中描述的六个 RCE 型漏洞外,我们还发现了另外五个会导致逻辑错误、拒绝服务或信息泄漏的漏洞。 这些漏洞在 TCP/IP 堆栈的各个子系统中发现——TCP、IGMP、DHCP,甚至可以在非常古老的反向 ARP(RARP) 协议中发现。下面将具体描述这些漏洞。 通过格式错误的 TCP 选项造成 TCP 连接 DoS (CVE-2019-12258) 这个问题会影响使用 IPnet 的所有 VxWorks 版本 (6.5及更高版本)。攻击者可以根据一个已存在的

kennyctx的博客 911

VxWorks_7_Sockets_Programmer_s_Guide__SR0620.pdf

VxWorks_7_Sockets_Programmer_s_Guide__SR0620

vxworks license

vxworks licese TDK-14634-ZC-02 B7p8r-MbEGK-8aTbE-5z9aP-bE5pC-FBFFF TDK-15064-ZC-00 o&u%o-u@jS*-Eotyy-ywoyz-mWZ%o-UHBS9

白皮书笔记三6.9.3及以上

由格式错误的 TCP AO 选项引起的 TCP 紧急指针状态混淆 (CVE-2019-12260) 虽然自 VxWorks 版本 6.9.3 以来,上面的 Urgent Pointer = 0 错误已修复,但 iptcp.c 模块同时经历了其他重构。 添加了一些新功能,例如处理一个新添加的 AO TCP 选项,为代码引入了更深层次的错误。 在高于 6.9.3 的 VxWorks 版本中,添加了对 TCP AO 选项(身份验证选项,RFC-5925)的支持。这似乎是默认包含的,并且确实得到了我们检查过的产品的

kennyctx的博客 2151

完成版(无需编译)_vxworks6.8_vxworks_

vxworks6.8系统的文件可使用此文件直接在虚拟机中启动VXWORKS系统无需编译

Kali安装urgent11-detecter扫描设备

发现的11个漏洞由6个关键漏洞组成,可能导致远程代码执行: 1.CVE-2019-12256:在解析IPv4数据包IP选项时的栈溢出 2.CVE-2019-12255:TCP紧急指针 为 0时导致整数下溢 3.CVE-2019-12260:由格式错误的TCP AO选项导致的TCP紧急指针状态混乱 4.CVE-2019-12261:连接到远程主机时TCP紧急指针状态混乱 5.CVE-2019-12263:由竞争条件导致的TCP紧急指针状态混乱 6.CVE-2019-12257:在ipdhcpc中的DHCP

xiaohujiang的博客 586

2025 居民消费结构数据集(21列,15000条记录)XLSX

详情介绍:该数据集为 2025 年 12 个月、1250 户家庭的平衡面板消费数据,15000 行 ×21 列零缺失,覆盖 31 省、城乡均衡,含八大类消费支出和恩格尔系数(均值 0.293,属富裕区间),家庭月收入均值 8473 元、月支出 6487 元,附完整字段说明 sheet,数据干净规整,非常适合做消费结构分析、面板回归、城乡 / 区域差异对比和收入等级分类预测,但为合成数据、仅 1 年时间跨度,不适合做真实政策研究或长期趋势分析。

如何用DETR(detection transformer)训练自己的数据集

DETR(detection transformer)简介 DETR是Facebook AI的研究者提出的Transformer的视觉版本,是CNN和transformer的融合,实现了端到端的预测,主要用于目标检测和全景分割。 DETR的Github地址:link

weixin_50233398的博客 3万+

CVE-2019-0708(BlueKeep)利用kali复现

存在漏洞的远程桌面服务器在接收到特殊数据包时会释放一个内部信道MS_T120的控制结构体,但并未将指向该结构体的指针删除,而且在远程桌面连接结束之后还会调用MS_T120结构体内的一个函数指针。:该漏洞影响了某些旧版本的Windows系统,包括但不限于Windows 7、Windows Server 2008、Windows Server 2008 R2、Windows Server 2003和Windows XP。需要注意的是,Windows 8和Windows 10以及之后的版本不受此漏洞影响。

chidaoqiannianzq的博客 935

基于大模型的自动驾驶智能体:Agent-Driver架构、训练与实战指南

自动驾驶系统正从传统的模块化流水线向以智能体为核心的新范式演进。其核心原理在于将车辆视为一个能够与环境持续交互的自主决策智能体,通过多模态感知、记忆管理和基于大模型的推理能力,实现对复杂交通场景的理解与应对。这一技术价值在于利用大模型的常识推理和泛化能力,有望解决传统方法在长尾场景下面临的挑战。在应用场景上,智能体驱动架构特别适合处理动态交互密集、需高层语义理解的城区驾驶、无保护转弯及突发状况应对。本文聚焦的Agent-Driver项目,正是这一方向的典型实践,它通过融合视觉、语言大模型与强化学习,构建了一

weixin_28729843的博客 529

白皮书笔记五

由于竞争条件导致的 TCP 紧急指针状态混淆 (CVE-2019-12263) 我们发现的最后一个紧急指针漏洞的变种是影响所有使用 IPnet 堆栈(v6.5 及更高版本)的 VxWorks 设备的竞争条件,并可能导致紧急指针的状态混乱。与前面展示这种状态混淆的结果的示例类似,这种竞争条件可能导致用户任务缓冲区的内存损坏,从而导致在充当 TCP 服务器或 TCP 客户端的目标设备上可触发远程代码执行漏洞。竞争条件的原因是,各种变量作为一个整体来表示紧急指针的状态,但在用户任务访问它们时,内核任务(tNet0

kennyctx的博客 285

突破NER性能瓶颈:BERT与LLM协同的混合架构实践

性能卓越:在多个测试集上,F1分数比单一模型提升5-15%成本可控:相比纯LLM方案,成本降低60%以上易于落地:架构清晰,便于调试和优化这种"专才+通才"的组合思路可以扩展到其他NLP任务中,如关系抽取、事件提取、文本分类等。更精细的流水线优化多模型投票机制在线学习与自适应调整不追求单一模型的万能,而是通过精心设计的组合,让每个组件发挥其独特优势,最终实现系统性能的最优化。欢迎在评论区分享你在NER任务中的实践经验,或者对这个混合架构的改进建议!

Ven%的博客 1022

某银行大数据分析平台之云原生架构

软考架构师论文

doudoudouy的博客 768

boost安装_在VxWorks 7上编译和运行Boost C++ 应用程序

1 简介Boost项目提供了一组全面的,经过同行评审的,可移植的C++源代码库,这些库可与C++标准库一起很好地工作。VxWorks是由Wind River构建的实时操作系统。VxWorks支持Boost C++库的子集。支持的库是:AtomicChronoContainerContextContractDate TimeExceptionFilesystemGraphLogMathPr...

weixin_39790528的博客 953

SystemVerilog学习总结

因为选择的offer是IC验证,以前学的是设计,所以只能再学systemverilog(SV)和UVM了。在学习SV和UVM之前,我认为需要学习以下几个部分:数字电路、c++和verilog。因为IC验证确实有不少别的专业之前没学过数字电路和Verilog,所以还是最好先学习一下。 知识点的总结主要是通过systemverilog验证-测试平台编写指南这本书进行的,所以请看书。通过对这本书的目录进行重点的划分,然后再进行相关知识点的总结。最后,给出自己收集的别的博主IC EDA环境的虚拟机,以及使用虚拟机需

博主毕竟还是人,肯定会有错误,各位看的时候发现错误提出来就好 1万+

LS1028+TSN+Vxworks实时系统解决方案

对于既需要时间同步(协调事件)又需要及时性(及时事件)的应用,例如机械手臂、运动控制器或行驶中的车辆等,有必要将TSN与VxWorks实时操作系统(RTOS)结合使用,以便同步设备网络从而提升行为的确定性。风河致力于以务实的方法来推动TSN,并与硬件合作伙伴一起,充分利用VxWorks的精确实时性能,将TSN硬件功能发挥至最大程度。最终,TSN成为一种使IT(信息技术)和OT(运营技术)相融合并兼顾成本效益的技术,它在不限于以太网,可以应用在许多工业应用场景中,从而提高生产效率、降低成本。

YEYUANGEN的专栏 1104

Harness Engineering:让Coding Agent真正落地生产

本文将带你系统性地了解如何让Coding Agent真正落地生产,核心是依托(全球领先的持续交付、云成本管理、 feature flagging、安全治理一体化平台),结合企业级AIDD(AI-Driven Development)的工程化实践,构建一套可信赖、可观测、可扩展、可治理的Coding Agent落地体系。核心概念与理论基础:什么是Coding Agent?它和普通的AI代码补全工具(比如GitHub Copilot)有什么区别?什么是Harness Engineering?

移动开发前沿的博客 456

3060台式机 Ubuntu 双系统部署 LingBot-Map 完整指南

摘要: 本文详细介绍了在配备RTX 3060显卡的台式机上部署Ubuntu双系统并安装LingBot-Map 3D重建模型的完整流程。LingBot-Map作为蚂蚁灵波科技开源的Transformer架构模型,在流式3D场景重建中展现出高效性能(20 FPS)和卓越精度(ATE仅6.42米)。指南涵盖关键准备步骤、UEFI分区原理、Ubuntu安装流程(推荐150GB空间及手动分区方案),以及后续驱动配置说明,特别强调RTX 3060需12GB显存支持,并提供了数据备份、Secure Boot处理等实用建议

huanghm88的专栏 309

rust windows 交叉编译_在VxWorks7下使用Rust

在VxWorks7下使用RustDecember 09, 2020 / bygaitpu1 简介VxWorks是由Wind River提供的实时操作系统,而Python是由Python Software Foundation管理的开源解释型编程语言和运行时解释器。Rust : https://www.rust-lang.org/风河在32/64位ARM和Intel架构设备上的用户空间中...

weixin_39609051的博客 601

计算机视觉卷积神经网络(CNN)基础:从LeNet到ResNet

计算机视觉卷积神经网络(CNN)基础:从LeNet到ResNet,在计算机视觉领域,卷积神经网络(Convolutional Neural Network,CNN)已然成为推动众多任务发展的核心力量。从早期简单的图像识别,到如今复杂的目标检测、语义分割、图像生成等任务,CNN 都展现出了卓越的性能。CNN 的发展历程见证了一系列经典模型的诞生,其中 LeNet 作为开山之作,为 CNN 的发展奠定了基础,而 ResNet 则通过创新性的设计,突破了传统神经网络的限制,使得网络能够构建得更深、性能更优。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 14万+

白皮书笔记二

TCP 紧急指针 RCE 漏洞 TL;DR TCP具有一种名为紧急数据的深奥的机制来传输越界的数据。通过利用这种机制,攻击者可以使传递给 recv() 系统调用的长度变量下溢,这将导致攻击者可以控制传递给 recv() 的缓冲区发生溢出。这可能导致在栈、堆或全局数据部分中分配的缓冲区发生溢出,从而导致远程代码执行。 背景知识 - TCP 速成课程 为了了解在 IPnet 的TCP实现中发现的漏洞,需要一个TCP的快速速成课程。TCP 是一种传输层协议,它允许在不可靠的 IP 层上传输有序的字节流。解释 TC

kennyctx的博客 1250

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

上一篇: halcon 19.05 linux x64
下一篇: windriver vxworks653 3.1
loopback_2012
博客等级 码龄14年 124粉丝 47原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值