0xL4ugh 2023
这回跟着个队伍跑,不过还是2X以后的成绩,前边太卷了。
自己会的部分,有些是别人已经提交了的。记录一下。
Crypto
crypto 1
给了一些数据,像这样就没有别的了
ct = [0, 1, 1, 2, 5, 10, 20, 40, 79, 159, 317, 635, 1269, 2538, 5077, 10154, 20307, 40615, 81229, 162458, 324916, 649832, 1299665, 2599330, 5198659, 10397319, 20794638, 41589276, 83178552, 166357103, 332714207, 665428414, 1330856827, 2661713655, 5323427309, 10646854619, 21293709237, 42587418474, 85174836949, 170349673898, 340699347795, 681398695591, 1362797391181, 2725594782363, 5451189564725, 10902379129451, 21804758258901, 43609516517803, 87219033035605, 174438066071211, 348876132142421, 697752264284843, 1395504528569685, 2791009057139370, 5582018114278740, 11164036228557480, 22328072457114960, 44656144914229920, 89312289828459841, 178624579656919682, 357249159313839363, 714498318627678726, 1428996637255357453, 2857993274510714906, 5715986549021429811, 11431973098042859623, 22863946196085719246, 45727892392171438492, 91455784784342876983, 182911569568685753966, 365823139137371507933, 731646278274743015865, 1463292556549486031730, ...]看了会发现一个规律:
ct[i] = bit + sum(ct[:i])把这些0,1弄出来就OK了。我来得早,这时候还没人上线,两个crypto都是1血,跟签到抢到1血一样。
#Alice and Bob decided to create their own super cryptosystem. However.. it has a super flaw
k = 0
f = ''
for i in range(1,len(ct)):f += str(ct[i]-k)k += ct[i]print(f)#前面的和+bit
f = '0'+f
for i in range(0, len(f),8):print(chr(int(f[i:i+8],2)), end='')#OSC{SUP3r!NCr3451NG_53QU3NC3}crypto 2
一个e=3的RSA题
from Crypto.Util.number import bytes_to_long, getPrime
from secret import messagesdef RSA_encrypt(message):m = bytes_to_long(message)p = getPrime(1024)q = getPrime(1024)N = p * qe = 3c = pow(m, e, N)return N, e, cfor m in messages:N, e, c = RSA_encrypt(m)print(f"n = {N}")print(f"e = {e}")print(f"c = {c}")给了好多的n,c显然,感觉如果flag不是很大可以爆破,不过只有第1行爆破出来了,正好是flag
from gmpy2 import iroot
from Crypto.Util.number import long_to_bytesmsg = open('output.txt').readlines()for i in range(11):n = int(msg[i*3][4:])e = int(msg[i*3+1][4:])c = int(msg[i*3+2][4:])print(n)print(e)print(c)while True:a,b = iroot(c,3)if b:print(long_to_bytes(a))break c+=n #OSC{C0N6r47U14710N5!_Y0U_UND3r574ND_H0W_70_U53_H4574D5_8r04DC457_4774CK_______0xL4ugh}Rev
snake
python 字节码
2 0 LOAD_CONST 1 (0)2 LOAD_CONST 0 (None)4 IMPORT_NAME 0 (base64)6 STORE_FAST 0 (base64)3 8 LOAD_CONST 1 (0)10 LOAD_CONST 2 (('Fernet',))12 IMPORT_NAME 1 (cryptography.fernet)14 IMPORT_FROM 2 (Fernet)16 STORE_FAST 1 (Fernet)18 POP_TOP4 20 LOAD_CONST 3 (b'gAAAAABj7Xd90ySo11DSFyX8t-9QIQvAPmU40mWQfpq856jFl1rpwvm1kyE1w23fyyAAd9riXt-JJA9v6BEcsq6LNroZTnjExjFur_tEp0OLJv0c_8BD3bg=')22 STORE_FAST 2 (encMessage)5 24 LOAD_FAST 0 (base64)26 LOAD_METHOD 3 (b64decode)28 LOAD_CONST 4 (b'7PXy9PSZmf/r5pXB79LW1cj/7JT6ltPEmfjk8sHljfr6x/LyyfjymNXR5Z0=')30 CALL_METHOD 132 STORE_FAST 3 (key_bytes)6 34 BUILD_LIST 036 STORE_FAST 4 (key)7 38 LOAD_FAST 3 (key_bytes)40 GET_ITER>> 42 FOR_ITER 9 (to 62)44 STORE_FAST 5 (k_b)8 46 LOAD_FAST 4 (key)48 LOAD_METHOD 4 (append)50 LOAD_FAST 5 (k_b)52 LOAD_CONST 5 (160)54 BINARY_XOR56 CALL_METHOD 158 POP_TOP60 JUMP_ABSOLUTE 21 (to 42)10 >> 62 LOAD_GLOBAL 5 (bytes)64 LOAD_FAST 4 (key)66 CALL_FUNCTION 168 STORE_FAST 4 (key)11 70 LOAD_FAST 1 (Fernet)72 LOAD_FAST 4 (key)74 CALL_FUNCTION 176 STORE_FAST 6 (fernet)12 78 LOAD_FAST 6 (fernet)80 LOAD_METHOD 6 (decrypt)82 LOAD_FAST 2 (encMessage)84 CALL_METHOD 186 LOAD_METHOD 7 (decode)88 CALL_METHOD 090 STORE_FAST 7 (decMessage)13 92 LOAD_GLOBAL 8 (print)94 LOAD_FAST 7 (decMessage)96 CALL_FUNCTION 198 POP_TOP100 LOAD_CONST 0 (None)102 RETURN_VALUE
None
手扣
import base64
from cryptography.fernet import FernetencMessage = b'gAAAAABj7Xd90ySo11DSFyX8t-9QIQvAPmU40mWQfpq856jFl1rpwvm1kyE1w23fyyAAd9riXt-JJA9v6BEcsq6LNroZTnjExjFur_tEp0OLJv0c_8BD3bg='key_bytes = base64.b64decode(b'7PXy9PSZmf/r5pXB79LW1cj/7JT6ltPEmfjk8sHljfr6x/LyyfjymNXR5Z0=')key = []
for k_b in key_bytes:key.append(k_b^160)
key = bytes(key)decMessage = Fernet(key).decrypt(encMessage)
print(decMessage)#FLAG{FLY_L1k3_0xR4V3N}
#0xL4ugh{FLY_L1k3_0xR4V3N}easy-Peasy
高低4位互换
v11[0] = 1947518052;v11[1] = 84227255;v11[2] = -181070859;v11[3] = -972881100;v11[4] = 1396909045;v11[5] = 1396929315;v12 = -10397;v13 = 0;v3 = 0i64;v16 = 0i64;v17 = 15i64;LOBYTE(Block[0]) = 0;sub_140001350(Block);sub_1400015D0(std::cout, (__int64)"Enter The Flag: ");sub_140001A50(std::cin, Block); // 读入Blockif ( v16 == 26 ){while ( 1 ){v4 = Block;if ( v17 >= 0x10 )v4 = (void **)Block[0];v5 = Block;if ( v17 >= 0x10 )v5 = (void **)Block[0];if ( *((unsigned __int8 *)v11 + v3) != ((*((char *)v4 + v3) >> 4) | (16 * (*((_BYTE *)v5 + v3) & 0xF))) )// 高低互换break;if ( ++v3 >= 26 ){v6 = sub_1400015D0(std::cout, (__int64)"The Flag is: ");v7 = Block;if ( v17 >= 0x10 )v7 = (void **)Block[0];sub_140001C50(v6, v7, v16);goto LABEL_12;}}}解
va = [1947518052,84227255,-181070859,-972881100,1396909045,1396929315,-10397]from pwn import p32v11 = b''.join([p32(v&0xffffffff) for v in va])
f = ''
for v in v11:f += chr(((v&0xf)<<4)+(v>>4))print(f)
#FLAG{CPP_1S_C00l_24527456}
#0xL4ugh{CPP_1S_C00l_24527456}lets go
代码看着很复杂,但明显能看出是字节变换
void __cdecl main_main()
{__int64 v0; // r14__int128 v1; // xmm15__int64 *v2; // rax__int64 v3; // r8__int64 v4; // r9__int64 v5; // rax__int64 v6; // rcxunsigned __int64 v7; // rbx__int64 v8; // rsiint v9; // r10d__int64 v10; // r11int v11; // r10d__int64 v12; // raxunsigned __int64 v13; // rcxint v14; // r10d__int64 v15; // raxunsigned __int64 v16; // rcx__int64 v17; // raxunsigned __int64 v18; // rcx__int64 v19; // rax__int64 v20; // [rsp-46h] [rbp-D8h]char v21; // [rsp+0h] [rbp-92h]char v22; // [rsp+1h] [rbp-91h]char v23; // [rsp+1h] [rbp-91h]__int64 v24; // [rsp+2h] [rbp-90h]__int64 v25; // [rsp+Ah] [rbp-88h]__int64 v26; // [rsp+12h] [rbp-80h]__int64 v27; // [rsp+3Ah] [rbp-58h] BYREF__int64 *v28; // [rsp+42h] [rbp-50h]void *v29; // [rsp+4Ah] [rbp-48h]char **v30; // [rsp+52h] [rbp-40h]__int128 v31; // [rsp+5Ah] [rbp-38h]const char *v32; // [rsp+6Ah] [rbp-28h]__int64 *v33; // [rsp+72h] [rbp-20h]void *v34; // [rsp+7Ah] [rbp-18h]char **v35; // [rsp+82h] [rbp-10h]if ( (unsigned __int64)&v27 <= *(_QWORD *)(v0 + 16) )runtime_morestack_noctxt_abi0();v34 = &unk_494360;v35 = &off_4C3F50;fmt_Fprint();runtime_newobject();v28 = v2;*v2 = 0LL;v32 = "\b";v33 = v2;fmt_Fscanln();v3 = *v28;v27 = *v28;v4 = v28[1];v25 = v4;v5 = 0LL;v6 = 0LL;v7 = 0LL;v8 = 0LL;while ( v5 < v4 ){v24 = v6;v26 = v5;v9 = *(unsigned __int8 *)(v3 + v5);if ( (unsigned __int8)(v9 - 65) > 0x19u ){if ( (unsigned __int8)(v9 - 97) > 0x19u ) // 符号{v10 = v6 + 1;if ( v7 < v6 + 1 ){v21 = *(_BYTE *)(v3 + v5);runtime_growslice(v20);v10 = v8 + 1;v3 = v27;v4 = v25;LOBYTE(v9) = v21;v8 = v17;v7 = v18;v5 = v26;v6 = v24;}*(_BYTE *)(v8 + v6) = v9;}else{v10 = v6 + 1;v14 = v9 - 26 * ((unsigned __int8)(v9 - 81) / 0x1Au);if ( v7 < v6 + 1 ){v23 = v14;runtime_growslice(v20);v10 = v8 + 1;v3 = v27;v4 = v25;LOBYTE(v14) = v23;v8 = v15;v7 = v16;v5 = v26;v6 = v24;}*(_BYTE *)(v8 + v6) = v14 + 16;}}else{v10 = v6 + 1;v11 = v9 - 26 * ((unsigned __int8)(v9 - 49) / 0x1Au);if ( v7 < v6 + 1 ){v22 = v11;runtime_growslice(v20);v10 = v8 + 1;v3 = v27;v4 = v25;LOBYTE(v11) = v22;v8 = v12;v7 = v13;v5 = v26;v6 = v24;}*(_BYTE *)(v8 + v6) = v11 + 16;}++v5;v6 = v10;}runtime_slicebytetostring();if ( v8 == 32 && (unsigned __int8)runtime_memequal() ){v31 = v1;v19 = runtime_convTstring();*(_QWORD *)&v31 = &unk_494360;*((_QWORD *)&v31 + 1) = v19;fmt_Fprintf();}else{v29 = &unk_494360;v30 = &off_4C3F60;fmt_Fprint();}
}这个只需要个码表就行,输入字母得到的就是码表,然后手工对应填一下
输入得到对应关系
abcdefghijklmnopqrstuvwxyz012345
qrstuvwxyzabcdefghijklmnop012345ABCDEFGHIJKLMNOPQRSTUVWXYZ012345
QRSTUVWXYZABCDEFGHIJKLMNOP01234567890{_} 数字符号不变c = b"u507rv78qr5t6q99941422uursv94464"u507rv78qr5t6q99941422uursv94464
e507bf78ab5d6a99941422eebcf94464手工输入得到flag
ef➤
Correct:)
FLAG{e507bf78ab5d6a99941422eebcf94464}
52 in example/user/hello/hello.go换头
0xL4ugh{e507bf78ab5d6a99941422eebcf94464}XPacker 未完成
看上去是运行时释放一个程序再找,但怎么运行都不释放,也许想错了
Misc
ATT-IP
流量题,wireShark打开一点点到结果

57包:
tcp://91.243.59.76:23927/
0xL4ugh{91.243.59.76_23927}
PVE
这个是别的提交的,只因为第1步没作出来后边的就没想弄。
给的一vmware的临时文件.vmem 一直想用什么软件找到。其实只有第1题用软件,其它都是在时差搜文本。
后来下了volatility 3才弄好这一步
┌──(kali㉿kali)-[~/volatility3]
└─$ py vol.py -f ~/ctf/PVE.vmem Banners
Volatility 3 Framework 2.4.1
Progress: 100.00 PDB scanning finished
Offset Banner0x1a00180 Linux version 4.4.0-186-generic (buildd@lcy01-amd64-002) (gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.12) ) #216-Ubuntu SMP Wed Jul 1 05:34:05 UTC 2020 (Ubuntu 4.4.0-186.216-generic 4.4.228)
0x211e6a4 Linux version 4.4.0-186-generic (buildd@lcy01-amd64-002) (gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.12) ) #216-Ubuntu SMP Wed Jul 1 05:34:05 UTC 2020 (Ubuntu 4.4.0-186.216-generic 4.4.228)
0x1aaf7338 Linux version 4.4.0-186-generic (buildd@lcy01-amd64-002) (gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.12) ) #216-Ubuntu SMP Wed Jul 1 05:34:05 UTC 2020 (Ubuntu 4.4.0-186.216-generic 4.4.228)
0x1fde00a8 Linux version 4.4.0-186-generic (buildd@lcy01-amd64-002) (gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.12) ) #216-Ubuntu SMP Wed Jul 1 05:34:05 UTC 2020 (Ubuntu 4.4.0-186.216-generic 4.4.228)flag1:0xL4ugh{Ubuntu_4.4.0-186-generic}第二步是Apache的版本,搜apache有很多,主要是两个版本,第2个=的是
0xL4ugh{2.2.14}第三步找 flag 搜0xL4ugh
sudo echo "0xL4ugh{S4D_Y0U_G07_M3}" > flag.txt
0xL4ugh{S4D_Y0U_G07_M3}第四个找程序里隐写的flag
int main(void){char flag[] = "0xL4ugh{H1DD3N_1N_PR0CE$$}";sleep(6969696969);return 0;
}0xL4ugh{H1DD3N_1N_PR0CE$$}第五个找攻击求密码,没弄成,linux的密码存在shadow文件但这里没密码,再找passwd也没有,按密码的特征 $1$salt$enc_pass 搜$1$得到一个密码
Name: passwd/user-password-crypted
Template: passwd/user-password-crypted
Value: $1$JULXDu5H$c/QbtxOmwiX0rR7f0NXxj.
Owners: ubiquity
Flags: seen从网站上解密得到 mrx 提交不正确。
队友还作了一些,刚开始已经狂飙到第2了,后来慢慢又多了1位成2x了
相关文章:
0xL4ugh 2023
这回跟着个队伍跑,不过还是2X以后的成绩,前边太卷了。自己会的部分,有些是别人已经提交了的。记录一下。Cryptocrypto 1给了一些数据,像这样就没有别的了ct [0, 1, 1, 2, 5, 10, 20, 40, 79, 159, 317, 635, 1269, 2538, 5077, 1…...
Mybatis(4)之跟着老杜做一个简单的银行转账会话
这是个MVC项目,我不一定可以完整的实现这个项目,但力求把这个复现出来,尽量的复现细节。 第一步:创建数据库 表 创建表如下: 我们使用 int 是为了方便 然后采用 demcial,精确度较高 添加两个用户 然后…...
VBA提高篇_ 22 事件处理
文章目录1.事件编程2.常用工作簿事件名称与对应处理过程名称示例3. 事件编程的步骤4.工作簿事件4.1 Open4.2 BeforeClose4.3 NewSheet5.工作表事件6.变量和过程函数的作用域1.事件编程 写在事件发生地(对应工作簿或工作表) 2.常用工作簿事…...
【蓝桥杯集训·周赛】AcWing 第91场周赛
文章目录第一题 AcWing 4861. 构造数列一、题目1、原题链接2、题目描述二、解题报告1、思路分析2、时间复杂度3、代码详解第二题 AcWing 4862. 浇花一、题目1、原题链接2、题目描述二、解题报告1、思路分析2、时间复杂度3、代码详解第三题 AcWing 4861. 构造数列一、题目1、原题…...
【人工智能AI】三、NoSQL 实战《NoSQL 企业级基础入门与进阶实战》
帮我写一篇介绍NoSQL的技术文章,文章标题是《NoSQL 实战》,不少于3000字。这篇文章的目录是 3.NoSQL 实战 3.1 MongoDB 入门 3.1.1 MongoDB 基本概念 3.1.2 MongoDB 安装与配置 3.1.3 MongoDB 数据库操作 3.2 Redis 入门 3.2.1 Redis 基本概念 3.2.2 Red…...
platform 总线
驱动的分离与分层思想 分离:硬件信息分离; 在编写硬件驱动的时候,需要操作许多硬件寄存器。比如gpio 驱动,你需要知道gpio控制器 寄存器的地址,你想要哪个gpio输出?或是输入? 这些操作最终都是靠设置寄存…...
2023第10届生物发酵展3月30-4月1号山东济南开展,参观路线来了
2023第10届生物发酵展3月30-4月1号山东济南开展,参观路线来了!展会时间:2023年3月30日-4月1日展馆地址:山东国际会展中心(济南市槐荫区日照路1号)展馆:4号馆、5号馆BIO CHINA生物发酵展…...
RK356x U-Boot研究所(命令篇)3.6 fdt命令的用法
平台U-Boot 版本Linux SDK 版本RK356x2017.09v1.2.3文章目录 一、fdt命令的配置二、fdt命令的定义三、fdt命令的用法3.1 fdt list3.2 fdt rm3.3 fdt set一、fdt命令的配置 .config配置文件需要有以下配置: rk3568_defconfig默认已使能。 二、fdt命令的定义 usb命令定义在cm…...
2023年社工工资多少钱一月 能领多少补贴
2023年社会工作者人员的待遇还算可以,每月的全额工资一共5000多,扣完五险一金以后每月的到手工资一共4000多,不同地区薪资也是不同的,一线城市会在7千元以上,还可以领取几百到几千元不等的补贴。 12023年社工工资多少钱…...
面试攻略,Java 基础面试 100 问(十一)
抽象类(abstract class)和接口(interface)有什么异同? 抽象类和接口都不能够实例化,但可以定义抽象类和接口类型的引用。一个类如果继承了某个抽象类或者实现了某个接口都需要对其中的抽象方法全部进行实现ÿ…...
接口测试(Fiddler工具)
目录 1.Fiddler是什么? 2.Fiddler的原理 3.Fiddler安装 4.Fiddler界面 4.1.常用工具 4.2 会话列表 4.3 状态栏 4.4 内容显示区 1.Fiddler是什么? Fiddler是客户端与服务器之间的HTTP代理,是当前最常用的HTTP协议抓包工具。 主要功能&a…...
Debian/Ubuntu 安装和使用 perf 调试工具
为操作系统安装基本依赖环境:apt-get update -y apt-get upgrade -y apt-get install lrzsz zip unzip libkrb5-dev libicu-dev screen iftop openssl libssl-dev libunwind8 iftop net-tools gcc gdb cmake curl wget -y apt-get install gcc gdb cmake python-dev…...
【Python语言基础】——Python NumPy 数组连接
Python语言基础——Python NumPy 数组连接 文章目录 Python语言基础——Python NumPy 数组连接一、Python NumPy 数组连接一、Python NumPy 数组连接 连接 NumPy 数组 连接意味着将两个或多个数组的内容放在单个数组中。 在 SQL 中,我们基于键来连接表,而在 NumPy 中,我们按…...
解决IDEA报错:无效的目标发行版: 17
解决IDEA报错:无效的目标发行版: 17 目录解决IDEA报错:无效的目标发行版: 17报错由来解决报错【1】检查setting设置,查看编译器编译模块的编译版本是否是你需要的【2】尝试去修改当前项目的启动设置,设置JRE为你需要的版本。【3】…...
Redis第四讲
目录 四、Redis04 4.1 Redis集群应用场景 4.2 集群 4.2.1 基本原理 4.2.2 主从复制的作用 4.3 配置集群(一台虚拟机) 4.3.1 规划网络 4.3.2 创建节点 4.3.3 创建目录 4.3.4 配置redis7001.conf 4.3.5 配置其余文件 4.3.6 后台启动redis 4.3…...
Linux Ubuntu 软件安装与卸载
文章目录1 下载 deb 安装包后安装2 清理安装包3 卸载安装2 Ubuntu升级某个软件参考:1 下载 deb 安装包后安装 进入下载位置,执行 terminal sudo dpkg -i *.deb推荐sudo apt install *.deb 2 清理安装包 sudo apt-get install 会将下载的文件放在 /var…...
metasploit穷举模块
目录 工具介绍 常用模块 参数介绍 工具使用 工具介绍 Metasploit框架(Metasploit Framework, MSF)是一个开源工具, 旨在方便渗透测试,它是由Ruby程序语言编写的模板化框架,具有很好的扩展性,便于渗透测试人员开发、使用定制的…...
day35 贪心算法 | 435、无重叠区间 763、划分字母区间 56、合并区间
题目 435、无重叠区间 给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠。 注意: 可以认为区间的终点总是大于它的起点。 区间 [1,2] 和 [2,3] 的边界相互“接触”,但没有相互重叠。 示例 1: 输入: [ [1,2], [2,3], […...
C++Primer15.5节练习
练习15.18: Base* p &d1:合法 p &d2:不合法,只有当派生类公有地继承基类时,用户代码才能使用派生类向基类的转换 p &d3:不合法,只有当派生类公有地继承基类时࿰…...
【日常点滴019】Python制作流浪气球游戏(导弹射击类)
Python制作流浪气球游戏(导弹射击类)教学课程代码(分步教学版)1、构建全局通用代码结构2、构建气球精灵类3、构建导弹精灵类4、碰撞检测5、构建游戏信息类 (最终完整代码)教学课程代码(分步教学…...
Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误
HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误,它们的含义、原因和解决方法都有显著区别。以下是详细对比: 1. HTTP 406 (Not Acceptable) 含义: 客户端请求的内容类型与服务器支持的内容类型不匹…...
DeepSeek 赋能智慧能源:微电网优化调度的智能革新路径
目录 一、智慧能源微电网优化调度概述1.1 智慧能源微电网概念1.2 优化调度的重要性1.3 目前面临的挑战 二、DeepSeek 技术探秘2.1 DeepSeek 技术原理2.2 DeepSeek 独特优势2.3 DeepSeek 在 AI 领域地位 三、DeepSeek 在微电网优化调度中的应用剖析3.1 数据处理与分析3.2 预测与…...
Keil 中设置 STM32 Flash 和 RAM 地址详解
文章目录 Keil 中设置 STM32 Flash 和 RAM 地址详解一、Flash 和 RAM 配置界面(Target 选项卡)1. IROM1(用于配置 Flash)2. IRAM1(用于配置 RAM)二、链接器设置界面(Linker 选项卡)1. 勾选“Use Memory Layout from Target Dialog”2. 查看链接器参数(如果没有勾选上面…...
LLM基础1_语言模型如何处理文本
基于GitHub项目:https://github.com/datawhalechina/llms-from-scratch-cn 工具介绍 tiktoken:OpenAI开发的专业"分词器" torch:Facebook开发的强力计算引擎,相当于超级计算器 理解词嵌入:给词语画"…...
Map相关知识
数据结构 二叉树 二叉树,顾名思义,每个节点最多有两个“叉”,也就是两个子节点,分别是左子 节点和右子节点。不过,二叉树并不要求每个节点都有两个子节点,有的节点只 有左子节点,有的节点只有…...
【VLNs篇】07:NavRL—在动态环境中学习安全飞行
项目内容论文标题NavRL: 在动态环境中学习安全飞行 (NavRL: Learning Safe Flight in Dynamic Environments)核心问题解决无人机在包含静态和动态障碍物的复杂环境中进行安全、高效自主导航的挑战,克服传统方法和现有强化学习方法的局限性。核心算法基于近端策略优化…...
android RelativeLayout布局
<?xml version"1.0" encoding"utf-8"?> <RelativeLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"android:layout_height"match_parent"android:gravity&…...
深度剖析 DeepSeek 开源模型部署与应用:策略、权衡与未来走向
在人工智能技术呈指数级发展的当下,大模型已然成为推动各行业变革的核心驱动力。DeepSeek 开源模型以其卓越的性能和灵活的开源特性,吸引了众多企业与开发者的目光。如何高效且合理地部署与运用 DeepSeek 模型,成为释放其巨大潜力的关键所在&…...
《Docker》架构
文章目录 架构模式单机架构应用数据分离架构应用服务器集群架构读写分离/主从分离架构冷热分离架构垂直分库架构微服务架构容器编排架构什么是容器,docker,镜像,k8s 架构模式 单机架构 单机架构其实就是应用服务器和单机服务器都部署在同一…...
ZYNQ学习记录FPGA(一)ZYNQ简介
一、知识准备 1.一些术语,缩写和概念: 1)ZYNQ全称:ZYNQ7000 All Pgrammable SoC 2)SoC:system on chips(片上系统),对比集成电路的SoB(system on board) 3)ARM:处理器…...
