通付盾Web3专题 | SharkTeam:2023年加密货币犯罪分析报告

news2025/1/10 12:10:52

图片

2023年,Web3行业共经历了940多起大大小小的安全事件,同比2022年增长了超过50%,损失金额达到17.9亿美元。其中,第三季度发生的安全事件最多(360起),损失最大(7.4亿美元),损失同比2022年增长了47%。特别是7月份,共发生187起安全事件,损失金额达到3.5亿美元。

图片

图:Web3 2023每季度/每月安全事件发生笔数

图片

图:Web3 2023每季度/每月安全事件损失金额(百万美元)

首先,黑客攻击仍是引发重大损失的一个主要原因。2023年全年因黑客攻击事件达到216起,造成10.6亿美元损失。合约漏洞、私钥窃取、钓鱼攻击、国家黑客仍是威胁Web3生态安全的重要原因。

其次,Rugpull和资金盘欺诈呈高发态势,2023年共发生250起Rugpull和Scam欺诈事件,其中BNBChain上此类事件发生频率最高。欺诈项目通过发布看似有吸引力的加密项目,吸引投资者参与,并提供一些虚假流动性,一旦吸引了足够的资金,就会突然盗取所有资金,并进行资产转移。这类欺诈行为会给投资者带来严重的经济损失,也大大提高投资者选择正确项目的难度。

另外,勒索软件使用加密货币收取赎金也成为趋势,比如Lockbit、Conti、Suncrypt和Monti。加密货币相比法币更难追踪,如何利用链上分析工具对勒索软件团伙进行身份追踪定位也越发重要。

最后,在这些加密货币黑客攻击和欺诈勒索等犯罪活动中,不法分子获得加密货币后通常需要通过链上资金转移和OTC来进行洗钱。洗钱通常采用去中心化、中心化混合的方式,中心化交易所是最集中的洗钱场所,其次是链上混币平台。

2023年,也是Web3监管取得实质性发展的一年,FTX2.0重启、制裁币安、USDT封禁哈马斯等地址,2024年1月SEC通过比特币现货ETF,这些标志性事件都代表着监管正在深度介入Web3的发展。

本报告将对2023年的Web3黑客攻击、Rugpull欺诈、勒索软件、加密货币洗钱、Web3监管等关键话题进行系统性分析,以了解加密货币行业发展的安全态势。

一 合约漏洞

合约漏洞攻击主要发生在以太坊上,2023年下半年以太坊上共发生36起合约漏洞攻击,损失金额超过2亿美元,其次是BNBChain。攻击手段上,业务逻辑漏洞和闪电贷攻击仍是最常发生。

图片

图:Web3 2023每季度发生黑客攻击事件笔数和损失金额(百万美元)

图片

图:Web3 2023H2每月发生合约漏洞利用黑客攻击事件笔数和损失金额

图片

图:Web3 2023H2不同链每月发生合约漏洞利用攻击笔数和损失金额

图片

图:Web3 2023H2合约漏洞利用具体攻击手段发生笔数和损失金额

·典型事件分析:Vyper漏洞导致Curve、JPEG'd等项目被攻击

以JPEG'd被攻击为例:

攻击者地址:0x6ec21d1868743a44318c3c259a6d4953f9978538

攻击者合约:0x9420F8821aB4609Ad9FA514f8D2F5344C3c0A6Ab

攻击交易:0xa84aa065ce61dbb1eb50ab6ae67fc31a9da50dd2c74eefd561661bfce2f1620c

(1)攻击者(0x6ec21d18)创建0x466B85B4的合约,通过闪电贷向 [Balancer: Vault]借了80,000枚WETH。

图片

(2)攻击者(0x6ec21d18)向pETH-ETH-f(0x9848482d)流动性池中添加了40,000枚WETH,获得32,431枚pETH。

图片

(3)随后攻击者(0x6ec21d18)从pETH-ETH-f(0x9848482d)流动性池中重复地移除流动性。

图片

(4)最终,攻击者(0x6ec21d18)获得86,106枚WETH,归还闪电贷后,获利6,106枚WETH离场。

漏洞分析:该攻击是典型的重入攻击。对遭受攻击的项目合约进行字节码反编译,我们从下图可以发现:add_liquidity和remove_liquidity 两个函数在进行校验存储槽值时,所要验证的存储槽是不一样的。使用不同的存储槽,重入锁可能会失效。此时,怀疑是Vyper底层设计漏洞。

图片

结合Curve官方的推文所说。最终,定位是Vyper 版本漏洞。该漏洞存在于0.2.15、0.2.16、0.3.0版本中,在重入锁设计方面存在缺陷。我们对比0.2.15之前的0.2.14以及0.3.0之后的0.3.1版本,发现这部分代码在不断更新中,老的0.2.14和较新的0.3.1版本没有这个问题。

图片

图片

在Vyper对应的重入锁相关设置文件data_positions.py中,storage_slot的值会被覆盖。在ret中,第一次获取锁的slot为0,然后再次调用函数时会将锁的slot加1,此时的重入锁会失效。

图片

二 钓鱼攻击

 钓鱼攻击是一种网络攻击手段,旨在通过欺骗和诱导目标,获取其敏感信息或诱使其执行恶意操作。这种攻击通常通过电子邮件、社交媒体、短信或其他通信渠道进行,攻击者会伪装成可信任的实体,如项目方、权威机构、KOL等,以引诱受害者提供私钥、助记词或交易授权。与合约漏洞攻击类似,钓鱼攻击在Q3呈现高发高损失状态,总共发生107起钓鱼攻击,其中7月份发生58起。

图片

图:Web3 2023每季度发生钓鱼攻击事件笔数和损失金额(百万美元)

图片

图:Web3 2023每月发生钓鱼攻击事件笔数

·典型钓鱼攻击链上资产转移分析

2023年9月7日,地址(0x13e382)遭遇钓鱼攻击,损失超2,400万美元。钓鱼黑客通过资金盗取、资金兑换和分散式地资金转移,最终损失资金中3,800ETH被相继分批次转移至Tornado.Cash、10,000ETH被转移至中间地址(0x702350),以及1078,087 DAI至今保留在中间地址(0x4F2F02)。

这是一次典型的钓鱼攻击,攻击者通过骗取钱包授权或私钥,窃取用户资产,已形成了以钓鱼+洗钱的黑色产业链,目前越来越多的诈骗团伙甚至是国家黑客都采用钓鱼的方式在Web3领域为非作歹,非常需要大家关注和警惕。

根据SharkTeam链上大数据分析平台ChainAegis (https://app.chainaegis.com/) 的跟踪分析,我们将对典型钓鱼攻击的诈骗过程、资金转移情况以及诈骗者链上行为进行相关分析。

(1)钓鱼攻击过程

受害者地址(0x13e382)通过‘Increase Allowance’向诈骗者地址1(0x4c10a4)授权rETH和stETH。

图片

图片

诈骗者地址1(0x4c10a4)将受害者地址(0x13e382)账户中的9,579 stETH转账至诈骗者地址2(0x693b72),金额约1,532万美元。

诈骗者地址1(0x4c10a4)将受害者地址(0x13e382)账户中的4,850 rETH转账至诈骗者地址2(0x693b72),金额约841万美元。

图片

图片

图片

(2)资产兑换与转移

将盗取的stETH和rETH兑换成ETH。自2023-09-07凌晨开始,诈骗者地址2(0x693b72)分别在UniswapV2、UniswapV3、Curve平台进行多笔兑换交易,将9,579 stETH和 4,850 rETH全部兑换成ETH,兑换合计14,783.9413 ETH。

stETH兑换:

图片

rETH兑换:

图片

图片

部分ETH兑换成DAI。诈骗者地址2(0x693b72)将1,000ETH通过UniswapV3平台兑换成1,635,047.761675421713685327 DAI。诈骗者通过分散式资金转移手段,将盗用资金转移至多个中间钱包地址,合计1,635,139 DAI和13,785 ETH。其中1,785 ETH被转移至中间地址(0x4F2F02),2,000 ETH被转移至中间地址(0x2ABdC2)以及10,000 ETH被转移至中间地址(0x702350)。此外,中间地址(0x4F2F02)于次日获得1,635,139 DAI

中间钱包地址(0x4F2F02)资金转移:

该地址经一层资金转移,拥有1,785 ETH和1,635,139 DAI。分散转移资金DAI,以及小额兑换成ETH

首先,诈骗者于2023-09-07日凌晨开始陆续通过10笔交易转移529,000个DAI。随后,前7笔共452,000 DAI已由中间地址转至0x4E5B2e(FixedFloat),第8笔,由中间地址转至0x6cC5F6(OKX),最后2笔共77,000 DAI由中间地址转至0xf1dA17(eXch)。

其次,在9月10日,通过UniswapV2将28,052 DAI兑换成17.3 ETH。

从9月8日开始到9月11号,陆续进行18笔交易,将1,800ETH全部转移至Tornado.Cash。

经过转移后,该地址最终还剩余盗取资金1078,087 DAI未转出。

中间地址(0x2ABdC2)资金转移:

该地址经一层资金转移,拥有2,000ETH。首先该地址于9月11日将2000ETH转移至中间地址(0x71C848)。

随后中间地址(0x71C848)分别在9月11日和10月1日,通过两次资金转移,总计20笔交易,每笔转移100ETH,总计转移2000ETH至Tornado.Cash。

图片

中间地址(0x702350)资金转移

该地址经一层资金转移,拥有10,000 ETH。截至2023年10月08日,10,000 ETH仍在该地址账户中未被转移。

地址线索追踪:经过对诈骗者地址1(0x4c10a4)和诈骗者地址2(0x693b72)的历史交易进行分析,发现曾有一个EOA地址(0x846317)转账1.353 ETH至诈骗者地址2(0x693b72),而该EOA地址资金来源涉及与中心化交易所KuCoin和Binance的热钱包地址。

三 Rugpull与欺诈

2023年Rugpull欺诈事件发生的频率呈现较为显著的上升趋势,Q4达到73笔,损失金额为1,900万美元,平均单笔损失约为2.6万美元,全年Rugpull欺诈损失金额中占比最高的季度是Q2,其次是Q3,损失占比均超过30%。

2023年下半年,共计发生139起Rugpull事件和12起欺诈事件,分别造成7155万美元的损失和3.4亿美元的损失。

2023年下半年Rugpull事件主要发生在BNBChain上,达到91次,占比超过65%,损失达到2957万美元,损失占比41%。以太坊(44次)次之,损失739万美元。除以太坊和BNBChain外,8月Base链上发生BALD Rugpull事件,造成了严重损失,损失2560万美元。

图片

图:Web3 2023每季度发生Rugpull和Scam事件笔数和损失金额(百万美元)

图片

图:Web3 2023H2每月发生Rugpull和Scam事件笔数和损失金额

图片

图:Web3 2023H2不同链每月发生Rugpull事件笔数和损失金额

·Rugpull欺诈工厂行为分析

在BNBChain上流行着一种Rug欺诈工厂模式,用于批量制造Rugpull代币并进行欺诈。让我们一起看看假SEI、X、TIP和Blue几个代币的Rugpull工厂欺诈行为模式。。。(报告全文

四 勒索软件

2023年勒索软件攻击威胁仍时时刻刻威胁着各机构和企业,勒索软件攻击变得越来越复杂,攻击者使用各种技术来利用组织系统和网络中的漏洞。不断扩散的勒索软件攻击继续对全球的企业组织、个人和关键基础设施构成重大威胁。攻击者正在不断调整和完善他们的攻击策略,利用泄露的源代码、智能化的攻击方案和新兴的编程语言来最大化他们的非法收益。

LockBit、ALPHV/BlackCat和BlackBasta是目前最活跃的勒索软件勒索组织。

图片

图:勒索组织的受害者数量

目前,越来越多的勒索软件采取通过加密货币收款的方式,以Lockbit为例,最近被 LockBit 攻击的企业有:今年6月底台积电、10月波音公司、11月中国工商银行美国全资子公司等等,大多采用比特币收取赎金,并且LockBit收到赎金后会进行加密货币洗钱,下面我们以Lockbit为例对勒索软件洗钱模式进行分析。

根据ChainAegis分析,LockBit 勒索软件大多采用BTC收取赎金,使用不同收款地址,部分地址和收款金额整理如下,单笔勒索的BTC在0.07个到5.8个不等,约2,551美元到211,311美元不等。

。。。。(报告全文

五 洗钱

洗钱(Money Laundering)是一种将非法所得合法化的行为,主要指将违法所得及其产生的收益,通过各种手段掩饰、隐瞒其来源和性质,使其在形式上合法化。其行为包括但不限于提供资金账户、协助转换财产形式、协助转移资金或汇往境外。而加密货币——尤其是稳定币——因其低廉的转账成本,去地理化的特质以及一定的抗审查特性,在相当早的时间便已经被洗钱活动所利用,这也是导致加密货币被诟病的主要原因之一。

传统的洗钱活动往往会利用加密货币场外交易市场,进行从法币到加密货币,或从加密货币到法币的兑换,其中洗钱场景不同,形式也多样化,但不论如何这类行为的本质都是为了阻断执法人员对资金链路的调查,包括传统金融机构账户或加密机构账户。

与传统洗钱活动不同的是,新型的加密货币洗钱活动的清洗标的为加密货币本身,包括钱包、跨链桥、去中心化交易平台等在内的加密行业基础设施都会被非法利用。

图片

图:近年洗钱金额

从2016年到2023年,加密货币洗钱总数达1477亿美元之多。从2020年开始洗钱金额以每年67%的速度不断增加,到2022年达到238亿美元,在2023年达到800亿美元之多,,洗钱数目令人瞠目,加密货币反洗钱行动势在必行。

据ChainAegis平台统计,链上混币平台Tornado Cash的资金量自2020年1月以来一直保持着高速增长,目前已经有近362万个ETH存款于这个资金池中,存入总额达78亿美元,Tornado Cash已然变成以太坊最大的洗钱中心。但随着2022年8月份美国执法机构发文制裁Tornado Cash,Tornado Cash每周的存取款数成倍下跌,但因为Tornado Cash的去中心化属性,导致无法从源头制止,依旧还是有资金不断涌入该系统进行混币。

·Lazarus Group(朝鲜APT组织)洗钱模式分析

国家级APT(Advanced Persistent Threat,高级持续性威胁)组织是有国家背景支持的顶尖黑客团伙,专门针对特定目标进行长期的持续性网络攻击。朝鲜APT组织Lazarus Group就是非常活跃的一个APT团伙,其攻击目的主要以窃取资金为主,堪称全球金融机构的最大威胁,近年来多起加密货币领域的攻击和资金窃取案件就是他们所为。

。。。。(报告全文

六 制裁与监管

美国财政部外国资产控制办公室 (OFAC) 等机构以及其他国家的类似机构通过针对被视为对国家安全和外交政策构成威胁的国家、政权、个人和实体实施制裁。传统上,制裁的执行依赖于主流金融机构的合作,但一些不良行为者已转向加密货币来规避这些第三方中介机构,这给政策制定者和制裁机构带来了新的挑战。然而,加密货币固有的透明度,以及合规加密货币服务的意愿,特别是许多充当加密货币和法定货币之间纽带的中心化交易所,已经证明,在加密货币世界中实施制裁是可能的。

以下是2023年在美国受到制裁的与加密货币有联系的部分个人或实体的情况,以及 OFAC 制裁的原因。

图片

全球最大稳定币背后的公司Tether于2023年12月9日宣布,将“冻结”美国外国资产控制办公室(OFAC)受制裁个人名单上受制裁个人钱包中的代币。Tether在其公告中将此举视为自愿步骤,以“主动防止任何潜在的Tether代币滥用并加强安全措施”。

这也表明对加密货币犯罪进行侦查和制裁已经进入实质阶段,核心企业与执法机构合作,能形成有效的制裁手段,监管和惩治加密货币犯罪。

2023年的Web3监管方面,香港也取得了巨大的进展,正吹响“合规发展”Web3与加密市场的号角。当新加坡金融管理局从2022年开始限制零售客户使用杠杆或信贷进行加密货币交易时,香港特区政府在发表《有关虚拟资产在港发展的政策宣言》,一些Web3人才和公司去往新的应许之地。

2023年6月1日,香港兑现宣言,发布《适用于虚拟资产交易平台营运者的指引》,虚拟资产交易平台牌照制度正式实施,并已发布了第1类(证券交易)和第7类(提供自动化交易服务)牌照。

目前,OKX、BGE、HKbitEX、HKVAX、VDX、Meex、PantherTrade、VAEX、Accumulus、DFX Labs等机构正在积极申请虚拟资产交易平台牌照(VASP)。

特首李家超、财政司司长陈茂波等代表港府频繁发声,支持Web3落地香港,吸引各地加密企业、人才前去建设。政策扶植方面,香港引入虚拟资产服务提供者发牌制度,允许散户交易加密货币,启动千万美元规模的Web3 Hub 生态基金,并计划投入超 7 亿港元加快发展数码经济,推动虚拟资产产业发展,还成立了Web3.0 发展专责小组。

但,而高歌猛进之时,风险事件也乘势而来。无牌加密交易所 JPEX 涉案逾 10 亿港元,HOUNAX 诈骗案涉案金额过亿元,HongKongDAO 及 BitCuped 涉嫌虚拟资产欺诈行为……这些恶性事件引起了香港证监会、警方等高度重视。香港证监会表示,将与警方制定虚拟资产个案风险评估准则,并每周进行资讯交流。

相信,在不久的将来,更完善的监管和安全体系将助力香港,香港作为东西方金融重要枢纽,正对Web3张开怀抱。

图片

《SharkTeam:2023年加密货币犯罪分析报告》全文

-END-

数信云,基于区块链与人工智能的数据安全应用与服务平台

图片

图片

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

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

相关文章

【NR 定位】3GPP NR Positioning 5G定位标准解读(十五)-UL-TDOA 定位

前言 3GPP NR Positioning 5G定位标准:3GPP TS 38.305 V18 3GPP 标准网址:Directory Listing /ftp/ 【NR 定位】3GPP NR Positioning 5G定位标准解读(一)-CSDN博客 【NR 定位】3GPP NR Positioning 5G定位标准解读(…

【ARM】DS中Coretex-M处理器的常用寄存器介绍

【更多软件使用问题请点击亿道电子官方网站查询】 1、 文档目标 了解ArmDS中Coretex-M处理器的常用寄存器的名称及作用。 2、 问题场景 在对Coretex-M处理器进行开发时,了解常用寄存器的名称及作用,可以: 编写正确的程序: 寄存器是程序员用…

【JavaEE -- 多线程3 - 多线程案例】

多线程案例 1.单例模式1.1 饿汉模式的实现方法1.2 懒汉模式的实现方法 2. 阻塞队列2.1 引入生产消费者模型的意义:2.2 阻塞队列put方法和take方法2.3 实现阻塞队列--重点 3.定时器3.1 定时器的使用3.2 实现定时器 4 线程池4.1 线程池的使用4.2 实现一个简单的线程池…

突破编程_前端_ACE编辑器(概述)

1 ACE 框架简介 ACE 框架是一个强大且灵活的前端文本编辑器框架,它提供了一套全面的 API 和丰富的功能,使得开发者能够轻松地在 Web 应用中集成功能强大的代码编辑器。ACE 编辑器不仅适用于在线代码编辑,还广泛应用于文档编辑、实时协作、富…

C语言- strcat(拼接函数的使用和模拟)

strcat&#xff08;拼接函数的使用和模拟&#xff09; strcat的语法 strcat 是 C 语言标准库中的一个字符串拼接函数&#xff0c;它用于将一个字符串&#xff08;source&#xff09;拼接到另一个字符串&#xff08;destination&#xff09;的末尾。该函数定义在 <string.h…

机器学习介绍

监督学习 监督学习涉及使用某种算法来分析过去的观察并从中学习&#xff0c;从而使您能够预测未来的事件。 监督学习的目标是提出或推断出一种近似映射函数&#xff0c;该函数可以应用于一个或多个输入变量&#xff0c;并产生输出变量或结果。 训练过程涉及采用非特征和标签的…

3.14号arm

1. 计算机基础理论 1.1 计算机的组成 输入设备&#xff1a;将数据转换成计算机可以识别&#xff0c;存储&#xff0c;处理的形式&#xff0c;发送到计算机中 输出设备&#xff1a;将计算机对程序和数据的运算结果输送到外部的设备 存储器&#xff1a;用于将数据保存的模块。 …

代码随想录刷题day24|回溯理论基础组合问题

文章目录 day24学习内容一、修剪二叉搜索树1.1、什么是回溯法1.2、递归与回溯1.3、回溯法的效率1.4、回溯法解决的问题类型1.5、如何理解回溯法1.6、回溯算法模板 二、组合问题2.1、思路2.2、正确写法-没有剪枝2.2.1、为什么不能写i < n2.2.2、为什么不能写startIndex02.2.3…

phpcms头像上传漏洞引发的故事

目录 关键代码 第一次防御 第一次绕过 第二次防御 第二次绕过 第三次防御 第三次绕过 如何构造一个出错的压缩包 第四次防御 第四次绕过 本篇文章是参考某位大佬与开发人员对于文件包含漏洞的较量记录下的故事&#xff0c;因为要学习文件包含漏洞&#xff0c;就将大佬…

什么是 HTTPS?它是如何解决安全性问题的?

什么是 HTTPS&#xff1f; HTTPS&#xff08;HyperText Transfer Protocol Secure&#xff09;是一种安全的通信协议&#xff0c;用于在计算机网络上安全地传输超文本&#xff08;如网页、图像、视频等&#xff09;和其他数据。它是 HTTP 协议的安全版本&#xff0c;通过使用加…

鸿蒙Harmony应用开发—ArkTS声明式开发(容器组件:Grid)

网格容器&#xff0c;由“行”和“列”分割的单元格所组成&#xff0c;通过指定“项目”所在的单元格做出各种各样的布局。 说明&#xff1a; 该组件从API Version 7开始支持。后续版本如有新增内容&#xff0c;则采用上角标单独标记该内容的起始版本。 子组件 仅支持GridItem…

定时执行专家:自动截屏功能在电脑监控中的卓越应用

一、软件简介 定时执行专家&#xff0c;作为一款专业级的定时任务执行软件&#xff0c;不仅功能强大&#xff0c;而且操作简便。它支持25种任务类型&#xff0c;其中自动截屏功能尤为出色。通过这一功能&#xff0c;用户可以设定定时自动截取电脑屏幕&#xff0c;从而实现对电…

Java微服务轻松部署服务器

我们在日常开发微服务之后需要再服务器上面部署&#xff0c;那么如何进行部署呢&#xff0c;先把微服务的各个服务和中间件以及对应的端口列举出来&#xff0c;都打包成镜像&#xff0c;以及前端代码部署的nginx&#xff0c;使用docker-compose启动&#xff0c;访问服务器nginx…

系统重构后,对项目定制开发的兼容性问题

公司自实施产品线战略以来&#xff0c;基本推翻了全部旧有业务模块。后续以标准产品二次开发的模式进行项目开发。但在涉及到一些旧有系统二期、三期升级改造过程中。不可避免的需要解决旧有系统的客户定制化开发兼容性问题。也就是旧有系统定制开发的模块不能丢弃。重新开发从…

C++Qt学习——QPushButton、QRadioButton(单选按钮)、QCheckBox(复选按钮)

目录 1、QPushButton 1.1、创建一个新的项目&#xff0c;转到UI界面拖一个Push Button 1.2、Push Button的常用信号主要有四个&#xff0c;分别为 clicked(), pressed(), released(), toggled() 1.2.1、按住Push Button右键转到槽&#xff0c;选择信号函数 1.2.2、在Widget…

国创证券|资源再生概念持续活跃,超越科技两连板,大地海洋等走高

资源再生概念15日盘中再度走强&#xff0c;截至发稿&#xff0c;超越科技涨停斩获两连板&#xff0c;深水海纳涨超14%&#xff0c;大地海洋涨超12%&#xff0c;华新环保涨近9%&#xff0c;天奇股份、格林美、怡球资源等涨超5%。 消息面上&#xff0c;3月13日&#xff0c;国务院…

解决jsp request.getParameter乱码问题(兼容Tomcat 6~8三个版本)

JSP页面写法&#xff1a; <% page contentType"text/html; charsetutf-8" language"java" %> <% page import"java.io.*" %> <%! int getServerVersion(HttpServletRequest request) {ServletContext application request.getS…

前端组件化:构建高效应用的艺术

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

LeetCode每日一题——两数之和

两数之和OJ链接&#xff1a;1. 两数之和 - 力扣&#xff08;LeetCode&#xff09; 题目&#xff1a; 思路&#xff1a; 在读懂题目后很多人觉得这种题目很简单&#xff0c;但是不管怎么写&#xff0c;在VS等其他编译器上能跑成功&#xff0c;但是在LeetCode上就是没办法通过。…

Learn OpenGL 08 颜色+基础光照+材质+光照贴图

我们在现实生活中看到某一物体的颜色并不是这个物体真正拥有的颜色&#xff0c;而是它所反射的(Reflected)颜色。物体的颜色为物体从一个光源反射各个颜色分量的大小。 创建光照场景 首先需要创建一个光源&#xff0c;因为我们以及有一个立方体数据&#xff0c;我们只需要进行…