适合自学的网络安全基础技能“蓝宝书”:《CTF那些事儿》

news2024/10/5 5:24:49

CTF比赛是快速提升网络安全实战技能的重要途径,已成为各个行业选拔网络安全人才的通用方法。但是,本书作者在从事CTF培训的过程中,发现存在几个突出的问题:

1)线下CTF比赛培训中存在严重的 “最后一公里”问题 ,线下培训讲师的水平参差不齐。

2)国内高等院校和职业院校的网络空间安全学科与专业缺乏实战型、系统化的教材和配套实验课程。例如,Base64编码是网络安全行业必备的基础知识,但是学校的教材并不涉及该知识点,也没有专门的实验课对该知识进行讲解。

3)大部分CTF比赛书籍对想学习网络空间安全技术的新人不够友好,很多初学者找不到快速、有效的学习方法。

为了解决上述问题,帮助零基础的学习者快速掌握基本技能,同时吸引更多的人关注网络空间安全技能的学习,推进CTF比赛的发展,本书创新性地提出新的CTF知识学习框架,并在每一章附有大量实操练习,即使是没有网络空间安全知识基础的新手,也能按照书中的操作独立复现实验内容。

本书不仅讲授了网络空间安全相关的基础知识和操作技能,还探讨了CTF赛题的本质,着重阐述了面对不同类型题目时的分析思路和方法。比如,我们首次提出**“图像隐写三板斧”“逆向真经”**等解题思维模式,并较为全面地总结了CTF比赛中对工控安全相关知识的考查方式。从线下培训的效果来看,这些方法的实用性极强。

《CTF那些事儿》通过喜闻乐见的方式,以通俗易懂、幽默风趣的语言普及网络空间安全的知识,从而提高公众的网络空间安全意识,进而促进全行业水平的提高,为我国成为网络安全强国打下坚实的基础。

内容简介

本书由顶级CTF战队Lancet的指导教师李舟军教授和核心团队成员历时4年打磨而成,创新性地提出了新的CTF知识学习框架,体现了李舟军教授多年的教学精髓和带队经验。书中涵盖PWN、逆向、Web等常见题目,并系统性总结了CTF比赛中工控安全的考察方式。不仅讲授基础知识和操作技能,还探讨CTF赛题的本质,着重阐述了面对不同类型题目时的分析思路和方法。

同时,书中针对CTF比赛学习的编排方式,符合我国主流的计算机学科知识体系结构,李舟军教授结合学生的实战经验,为网络安全空间爱好者提供了一本教科书式的实践指导手册。关注“IT阅读排行榜”,回复72991

读者对象

1)想系统学习网络安全基础技能的读者。本书作者的初衷,是希望以通俗易懂的方式呈现网络安全基础知识和技能,凡是对网络安全感兴趣的人都可以学习本书。

2)政府机关、事业单位、国企及其他企业的技术人员。对于各类企业中需要参加CTF比赛的读者而言,本书可以作为赛前训练的指导书,帮助他们在短时间内快速掌握网络安全技能。

3)高等院校和职业院校学生。对于高等院校和职业院校的学生,本书可以作为他们学习网络安全知识的“准教材”,有效补充理论知识与实操技能的不足。

4)网络安全培训和比赛从业人员。我们希望抛砖引玉,使本书成为网络安全培训的基础教材和重要参考书,促进CTF比赛和培训行业的进一步发展。

专家推荐

李舟军教授长期从事网络与信息安全领域的研究与教学工作,为国家培养了一批高水平网络安全人才。同时,作为国务院学位委员会网络空间安全一级学科研究论证工作组成员,在该学科创建和发展中发挥了重要作用。由李舟军教授指导的Lancet战队在“网鼎杯”“强网杯”“鹏程杯”等CTF比赛中取得了优异的成绩。本书由Lancet战队倾力打造,创造性地提出新的网络安全基础技能的体系化学习框架,是一本非常适合“小白”入门的网络安全基础技能自学手册。同时,书中以严谨的态度介绍了网络安全相关理论和技术的历史脉络,并配以大量实操练习和离线工具包,兼顾知识性、趣味性与实战性,对读者将大有裨益。我认为,该书是CTF培训以及网络安全实战技能教学的一本难得的佳作,特此推荐。

——方滨兴,中国工程院院士,网络与信息安全专家,国务院学位委员会网络空间安全学科评议组召集人,教育部网络空间安全专业教学指导委员会副主任

由于网络安全鲜明的实战性质和对抗特色,CTF成为学习和实践网络安全技术的重要途径,也是考察和选拔网络安全专业人才的重要手段。在众多的网络安全技术书籍,甚至专门介绍CTF的书籍中,李舟军教授主编的这本书独具特色,体现了他多年来教学的精髓。书中涵盖了PWN、逆向、Web等CTF常见的题目,也包括工控系统安全这样专业且实用的领域。它不仅是网络安全专业学生和爱好者学习CTF的重要指南,也是网络安全从业人员难得的学习资料。

——段海新,清华大学网络研究院教授,博士生导师,蓝莲花战队联合创始人,现任国务院学位委员会网络空间安全学科评议组成员

这本书虽然以 CTF 为线索来组织内容,但也是一份不错的网络安全入门学习资料。书中对每一个技术门类都从零讲起,并配有大量便于读者理解的图例,可谓手把手教学。此外,本书在技术内容之外还讲述了技术发展的历史和文化,非常值得一读。

——于旸,腾讯杰出科学家,玄武实验室负责人

李舟军教授和他所带领的Lancet战队是我国CTF竞赛演练领域的先锋。过去几年中,Lancet战队在李老师指导下斩获了几乎所有国内顶级竞赛的大奖。本书以李老师扎实的理论和教学实践为锚点,结合指导学生实战的经验,为所有网络空间安全爱好者提供了一本教科书式的实践导学手册,也为通过组织CTF战队进行教学工作的老师们提供了一部路径清晰、内涵丰富的参考教案。

——蔡晶晶,北京永信至诚科技股份有限公司董事长,教授级高级工程师,入选国家“万人计划”,国家网络安全实验平台项目专家,公安部网络安全专家

这本书全面而系统地介绍了CTF的重要知识点,读者可以通过阅读本书,获得广泛而深入的安全领域知识。对信息安全专业的学生来说,这本书既是入门的绝佳指南,又是提升技能和精通CTF的宝贵资源。对于那些希望进入安全领域从事研究工作的读者来说,阅读这本书也会有极大的收获。作为我的研究生导师,李舟军教授的专业指导和悉心培养对我产生了深远的影响,让我受益匪浅。

——龚广,360 首席安全研究员兼数字安全集团漏洞研究院院长,研究员级高级工程师

目录

Contents  目录
      前言
    
第0章 开启CTF之旅  1
    

0.0 CTF比赛的历史  1
    

0.1 CTF比赛的常见赛制  1
    

0.2 国内外知名的CTF比赛  3
    

0.3 国内外知名的CTF战队  4
    

0.4 学习前的实验环境准备  7
    

0.4.0 虚拟机运行软件  7
    

0.4.1 搭建Python脚本运行环境  9
    

0.4.2 搭建Docker使用环境  11
    

第1章 安全杂项  12
    

1.0 安全杂项类赛题简介  12
    

1.1 常见的编码与解码  13
    

1.1.0 ASCII编码  13
    

1.1.1 Base64编码  15
    

1.1.2 Base32编码  18
    

1.1.3 Base16编码  19
    

1.1.4 其他Base系列编码  19
    

1.1.5 Shellcode编码  21
    

1.1.6 Quoted-printable编码  22
    

1.1.7 UUencode编码  22
    

1.1.8 XXencode编码  23
    

1.1.9 URL编码  24
    

1.1.10 摩斯码  24
    

1.1.11 JSFuck编码  25
    

1.1.12 Brainfuck编码  26
    

1.1.13 编码类题目的通用解题方法  28
    

1.2 网络流量分析  30
    

1.2.0 网络协议的基础知识  31
    

1.2.1 Wireshark的基本使用方法  33
    

1.2.2 CTF流量分析的通用方法  42
    

1.2.3 ICMP  44
    

1.2.4 Telnet  45
    

1.2.5 FTP  47
    

1.2.6 DNS  48
    

1.2.7 HTTP  50
    

1.2.8 USB  59
    

1.2.9 TLS  60
    

1.2.10 IEEE 802.11  62
    

1.3 日志分析  65
    

1.3.0 Web日志及分析方法  65
    

1.3.1 系统设备日志及分析方法  70
    

1.4 电子取证分析  75
    

1.4.0 电子取证的常用技术  75
    

1.4.1 文件恢复  77
    

1.4.2 磁盘取证分析方法  79
    

1.4.3 内存取证分析方法  81
    

1.5 压缩文件格式与破解  84
    

1.5.0 ZIP压缩包格式  84
    

1.5.1 伪加密  87
    

1.5.2 压缩包密码爆破  89
    

1.5.3 CRC碰撞破解压缩包  91
    

1.5.4 已知明文攻击  93
    

1.6 信息搜集与搜索引擎的高级用法  95
    

1.6.0 信息搜集方法  95
    

1.6.1 搜索引擎的高级用法  97
    

第2章 安全杂项——隐写术专题  99
    

2.0 隐写术简介  99
    

2.1 图像隐写方法及信息提取  100
    

2.1.0 常见的图像隐写方法  101
    

2.1.1 PNG文件格式及隐写方法  102
    

2.1.2 JPG文件格式及隐写方法  106
    

2.1.3 GIF文件格式及隐写方法  110
    

2.1.4 图像隐写三板斧  115
    

2.1.5 图像隐写三板斧2.0  124
    

2.1.6 图像和像素值的转换  133
    

2.2 音频隐写方法及信息提取  135
    

2.2.0 常见的音频文件格式解析  135
    

2.2.1 基于波形图的隐写  137
    

2.2.2 基于频谱图的隐写  138
    

2.2.3 音频LSB隐写  139
    

2.2.4 MP3文件隐写  141
    

2.2.5 拨号音识别  144
    

2.2.6 音频隐写总结  146
    

2.3 视频隐写方法及信息提取  147
    

2.4 文本隐写方法及信息提取  148
    

2.4.0 基于文本内容的隐写  149
    

2.4.1 基于Word文档的隐写  149
    

2.4.2 基于PDF文档的隐写  151
    

2.5 二维码  155
    

2.5.0 QR码的基础知识和常用工具  156
    

2.5.1 QR码画图  158
    

2.5.2 QR码修复  159
    

第3章 密码学基础  161
    

3.0 密码学简介  161
    

3.1 古典密码  165
    

3.1.0 栅栏密码  165
    

3.1.1 凯撒密码  169
    

3.1.2 ROT位移密码  170
    

3.1.3 Atbash密码  172
    

3.1.4 猪圈密码  172
    

3.1.5 培根密码  173
    

3.1.6 简单替换密码  175
    

3.1.7 仿射密码  177
    

3.1.8 单表代换密码总结  178
    

3.1.9 多表代换密码  179
    

3.1.10 维吉尼亚密码  179
    

3.1.11 希尔密码  184
    

3.2 对称密码  185
    

3.2.0 对称密码的基本模型  185
    

3.2.1 流密码和分组密码的本质区别  186
    

3.2.2 xor密码  186
    

3.2.3 RC4  190
    

3.2.4 Feistel密码结构  191
    

3.2.5 DES  194
    

3.2.6 AES  195
    

3.2.7 填充  196
    

3.2.8 分组模式  197
    

3.3 非对称密码  206
    

3.3.0 RSA基础  206
    

3.3.1 模数N相关攻击  208
    

3.3.2 指数e相关攻击  212
    

3.3.3 私钥d相关攻击  214
    

3.3.4 广播攻击  215
    

3.3.5 ECC基础  217
    

3.3.6 ECC加密  218
    

3.3.7 Pohlig_Hellman攻击  219
    

3.3.8 Smarts攻击  220
    

3.4 哈希函数  221
    

3.4.0 哈希函数的基本模型  221
    

3.4.1 MD5  222
    

3.4.2 哈希长度扩展攻击  223
    

第4章 Web渗透基础  228
    

4.0 引言  228
    

4.0.0 概述  228
    

4.0.1 HTTP理论基础  229
    

4.0.2 环境搭建与工具使用  234
    

4.1 Web信息收集的技巧  241
    

4.1.0 端口扫描  241
    

4.1.1 目录探测  247
    

4.1.2 指纹识别  255
    

4.2 暴力破解  258
    

4.2.0 用户名/密码爆破  258
    

4.2.1 参数爆破  264
    

4.2.2 密钥爆破  268
    

4.2.3 随机数爆破  271
    

4.2.4 字典  275
    

4.3 PHP弱类型  277
    

4.3.0 PHP代码基础  277
    

4.3.1 PHP弱类型问题  280
    

4.4 上传漏洞  283
    

4.4.0 前端JavaScript绕过  287
    

4.4.1 MIME-Type绕过  288
    

4.4.2 黑名单绕过  288
    

4.4.3 .htaccess绕过  289
    

4.4.4 后缀名绕过  290
    

4.4.5 图片马  291
    

4.4.6 其他类型的问题  296
    

4.5 SQL注入漏洞  297
    

4.5.0 SQL注入  297
    

4.5.1 SQL注入漏洞的分类  300
    

4.5.2 SQL注入漏洞实战  301
    

4.5.3 SQLmap  307
    

4.5.4 宽字节注入  309
    

4.5.5 WAF绕过  310
    

4.5.6 利用SQL注入读写文件  313
    

4.5.7 报错注入  314
    

4.6 文件包含  317
    

4.6.0 php://filter进阶  321
    

4.6.1 文件包含的分类  322
    

4.6.2 文件包含中的截断和phar://  322
    

4.7 命令执行  324
    

4.7.0 危险函数  332
    

4.7.1 无参数RCE  333
    

4.8 CSRF与XSS  338
    

4.8.0 CSRF  338
    

4.8.1 CSRF防御  340
    

4.8.2 XSS  341
    

4.9 SSRF  344
    

第5章 软件逆向工程  347
    

5.0 软件逆向工程简介  347
    

5.0.0 软件是怎么生成的  347
    

5.0.1 软件逆向工程的定义及目标  349
    

5.0.2 软件逆向工程的发展历史  349
    

5.1 CTF软件逆向工程入门  350
    

5.1.0 逆向题目的特点  350
    

5.1.1 逆向真经  351
    

5.2 静态分析方法  352
    

5.2.0 静态分析的原理和技巧  352
    

5.2.1 静态分析的常用工具  355
    

5.2.2 静态分析实战  359
    

5.3 动态分析方法  383
    

5.3.0 动态调试的技巧  383
    

5.3.1 汇编  384
    

5.3.2 使用OllyDbg进行动态调试  392
    

5.3.3 使用GDB进行动态调试  399
    

5.3.4 使用IDA进行本地动态调试  403
    

5.3.5 使用IDA进行远程动态调试  407
    

第6章 进入 PWN 的世界  410
    

6.0 PWN简介  410
    

6.1 CTF中的PWN  410
    

6.2 栈溢出入门  414
    

6.2.0 认识栈结构  415
    

6.2.1 函数调用过程分析  415
    

6.2.2 Linux操作系统的基本保护
    

?机制  418
    

6.2.3 覆盖返回地址  419
    

6.2.4 覆盖返回地址到Shellcode  421
    

6.2.5 编写单个函数的ROP链  423
    

6.2.6 编写两个函数的ROP链  427
    

6.2.7 编写多个函数的ROP链  431
    

6.2.8 ret2syscall  433
    

6.2.9 用动态链接动态泄露system
    

?地址并利用  437
    

6.2.10 64位程序的栈溢出  442
    

6.2.11 未知远程libc的解法  443
    

6.3 格式化字符串  443
    

6.3.0 格式化字符串的原理  443
    

6.3.1 格式化字符串漏洞的利用  446
    

6.3.2 通过格式化字符串漏洞泄露
    

?栈上内容  447
    

6.3.3 通过格式化字符串漏洞泄露
    

?任意地址内存  448
    

6.3.4 通过格式化字符串漏洞覆盖
    

?任意地址内存  450
    

6.3.5 64位格式化字符串  456
    

6.3.6 格式化字符串的综合利用  456
    

6.4 栈溢出进阶技术  457
    

6.4.0 栈劫持  457
    

6.4.1 ropchain  463
    

6.4.2 Canary保护机制及其利用
    

?方式  463
    

6.4.3 __libc_csu_init的利用方式  472
    

6.4.4 ret2_dl_runtime_resolve  474
    

6.5 栈溢出和格式化字符串总结  484
    

第7章 PWN进阶  485
    

7.0 堆管理器  485
    

7.0.0 ptmalloc堆管理器的基本功能  485
    

7.0.1 malloc和free简介  486
    

7.0.2 内存分配背后的系统调用  487
    

7.1 堆相关的数据结构  488
    

7.1.0 malloc_chunk  488
    

7.1.1 bin  490
    

7.1.2 fast bin  492
    

7.1.3 small bin  493
    

7.1.4 large bin  495
    

7.1.5 unsorted bin  496
    

7.1.6 bin 的总结  497
    

7.2 malloc的基本算法  497
    

7.2.0 __libc_malloc  497
    

7.2.1 fast bin分配算法  498
    

7.2.2 small bin分配算法  499
    

7.2.3 large bin分配算法1  500
    

7.2.4 unsorted bin分配算法  501
    

7.2.5 large bin分配算法2  503
    

7.2.6 寻找更大的bin链  504
    

7.2.7 使用top chunk  505
    

7.2.8 总结  506
    

7.3 free函数的基本算法  506
    

7.4 堆利用的基本方法  507
    

7.4.0 House of Prime  507
    

7.4.1 House of Lore  508
    

7.4.2 House of Spirit  509
    

7.4.3 House of Force  512
    

7.4.4 House of系列方法总结  514
    

7.5 链表攻击  514
    

7.5.0 unlink  514
    

7.5.1 fast bin 攻击  520
    

7.5.2 unsorted bin 攻击  524
    

7.6 其他漏洞形式及其利用  526
    

7.6.0 off by one  527
    

7.6.1 off by null  530
    

7.6.2 fast bin 三重释放攻击  533
    

7.7 例题讲解  536
    

7.8 tcache机制及其利用方式  542
    

7.8.0 tcache的重要数据结构与
    

?源码解读  542
    

7.8.1 tcache dup(glibc 2.27)  547
    

7.8.2 tcache 双重释放(glibc 2.27)  549
    

7.8.3 tcache dup(glibc 2.29)  551
    

7.8.4 tcache 双重释放(glibc 2.29)  551
    

7.8.5 tcache stash unlink(glibc 2.29)  557
    

7.8.6 tcache stash unlink plus
    

?(glibc 2.29)  560
    

7.8.7 tcache stash unlink plus plus
    

?(glibc 2.29)  562
    

7.8.8 large bin 攻击1(glibc 2.29)  564
    

7.8.9 large bin 攻击2(glibc 2.29)  568
    

7.8.10 tcache 攻击(glibc 2.31)  569
    

7.8.11 堆利用总结  572
    

7.9 PWN中的打补丁技术  572
    

7.9.0 change data  573
    

7.9.1 add segement  575
    

7.9.2 compress instruction  578
    

7.9.3 add logic  580
    

7.9.4 打补丁技术总结  582
    

第8章 工业控制系统安全  583
    

8.0 工业控制系统概述  583
    

8.0.0 工业控制系统的定义  583
    

8.0.1 工业控制系统安全概述  586
    

8.0.2 工业控制系统的组成  588
    

8.0.3 工业控制系统的架构  601
    

8.1 工业控制系统编程  607
    

8.1.0 读懂梯形图  608
    

8.1.1 学会指令表  633
    

8.1.2 其他编程语言  650
    

8.1.3 常见工程文件汇总  653
    

8.2 工业控制系统通信协议  659
    

8.2.0 Modbus协议  659
    

8.2.1 西门子S7协议  669
    

8.2.2 其他工控协议  680
    

8.2.3 PLC漏洞利用  691
    

参考文献  710

  • 本次送书二本
  • 活动时间:截止到2023-10-16
  • 参与方式:关注博主、并在此文章下面点赞、收藏并任意评论。
  • 一本送给所有粉丝抽奖,另外一本送给购买专栏的同学们,购买专栏的同学们可私信联系,先到先得,仅限一本

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

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

相关文章

nodejs+vue+elementui养老院老年人服务系统er809

“养老智慧服务平台”是运用nodejs语言和vue框架,以MySQL数据库为基础而发出来的。为保证我国经济的持续性发展,必须要让互联网信息时代在我国日益壮大,蓬勃发展。伴随着信息社会的飞速发展,养老智慧服务平台所面临的问题也一个接…

Text-to-SQL小白入门(八)RLAIF论文:AI代替人类反馈的强化学习

学习RLAIF论文前,可以先学习一下基于人类反馈的强化学习RLHF,相关的微调方法(比如强化学习系列RLHF、RRHF、RLTF、RRTF)的论文、数据集、代码等汇总都可以参考GitHub项目:GitHub - eosphoros-ai/Awesome-Text2SQL: Cur…

【PX4】解决Resource not found: px4问题【踩坑实录】

【PX4】解决Resource not found: px4问题【踩坑实录】 文章目录 【PX4】解决Resource not found: px4问题【踩坑实录】1. 问题描述2. 错误排查 1. 问题描述 笔者在配置好px4的所有环境后,使用自己写的launch文件时,出现了报错 sjhsjhR9000X:~$ roslaunc…

【面试算法——动态规划 21】正则表达式匹配(hard) 交错字符串

10. 正则表达式匹配 链接: 10. 正则表达式匹配 给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 ‘.’ 和 ‘*’ 的正则表达式匹配。 ‘.’ 匹配任意单个字符 ‘*’ 匹配零个或多个前面的那一个元素 所谓匹配,是要涵盖 整个 字符串 s的&#xf…

2023.10.10 关于 线程安全 问题

目录 线程安全问题实例一 引发线程安全的原因 抢占式执行 多线程修改同一变量 操作的原子性 指令重排序 内存可见性问题 线程安全问题实例二 如何解决上述线程安全问题 volatile 关键字 Java 内存模型 JMM(Java Memory Model) 线程安全问题实…

解决echarts配置滚动(dataZoom)后导出图片数据不全问题

先展现一个echarts&#xff0c;并配置dataZoom&#xff0c;每页最多10条数据&#xff0c;超出滚动 <div class"echartsBox" id"echartsBox"></div>onMounted(() > {nextTick(() > {var chartDom document.getElementById(echartsBox);…

前端URL拼接路径参数

前端URL拼接路径参数 一、应用场景二、具体实现1.字符串拼接2.URL对象实现 四、完整代码 一、应用场景 我们有时候会遇到浏览器URL拼接参数的场景&#xff0c;例如页面跳转时&#xff0c;带上一个特定的标识&#xff1a;https://www.baidu.com?fromcsdn 二、具体实现 1.字符…

微软发布2023年10月补丁,修复了103个缺陷,包括2个活跃的漏洞利用

导语 最近&#xff0c;微软发布了2023年10月的补丁更新&#xff0c;共修复了103个缺陷。这些补丁包括两个正在被黑客利用的漏洞。让我们来看看这些补丁的具体内容和影响。 修复103个缺陷 微软此次的补丁更新共修复了103个缺陷&#xff0c;其中13个被评为严重&#xff0c;90个被…

gradle对应jdk版本

官网地址-兼容性矩阵&#xff1a;Compatibility Matrix Gradle运行在所有主要的操作系统上。它需要Java开发工具包&#xff08;JDK&#xff09;版本8或更高版本才能运行。有关详细信息&#xff0c;您可以查看兼容性矩阵。

DailyPractice.2023.10.12

文章目录 1.[1. 两数之和]2.[49. 字母异位词分组]3.[128. 最长连续序列]4.[283. 移动零]5.[11. 盛最多水的容器]6.[15. 三数之和]7.[3. 无重复字符的最长子串]8.[206. 反转链表]9.[141. 环形链表]10.[160. 相交链表] 1.[1. 两数之和] 1. 两数之和 class Solution { public:ve…

单目标优化算法:火鹰优化算法(Fire Hawk Optimizer,FHO)求解23个函数--提供MATLAB代码

一、火鹰优化算法FHO 火鹰优化算法&#xff08;Fire Hawk Optimizer&#xff0c;FHO&#xff09;由Mahdi Azizi等人于2022年提出&#xff0c;该算法性能高效&#xff0c;思路新颖。 单目标优化&#xff1a;火鹰优化算法&#xff08;Fire Hawk Optimizer&#xff0c;FHO&#…

使用Tortoisegit界面拉起master主分支以副分支以及命令行操作

文章目录 1、Gui操作界面2、命令行操作 1、Gui操作界面 "小乌龟"通常指的是Git的图形用户界面&#xff08;GUI&#xff09;工具&#xff0c;其中比较常见的是TortoiseGit。下面是使用TortoiseGit来拉取&#xff08;checkout&#xff09;一个Git分支的步骤&#xff1a…

数字时代的自我呈现:探索个人形象打造的创新工具——FaceChain深度学习模型工具

数字时代的自我呈现&#xff1a;探索个人形象打造的创新工具——FaceChain深度学习模型工具 1.介绍 FaceChain是一个可以用来打造个人数字形象的深度学习模型工具。用户仅需要提供最低一张照片即可获得独属于自己的个人形象数字替身。FaceChain支持在gradio的界面中使用模型训…

机器学习(22)---信息熵、纯度、条件熵、信息增益

文章目录 1、信息熵2、信息增益3、例题分析 1、信息熵 1. 信息熵(information entropy)是度量样本集合纯度最常用的一种指标。信息的混乱程度越大&#xff0c;不确定性越大&#xff0c;信息熵越大&#xff1b;对于纯度&#xff0c;就是信息熵越大&#xff0c;纯度越低。 2. 纯度…

CSI2与CDPHY学习

注意&#xff1a;本文是基于CSI2-V3.0 spec。 其中CPHY为 V2.0 DPHY为V2.5 本文主要在packet级别介绍CSI2与对应的CDPHY&#xff0c;需要注意的是CDPHY的burst数据就是以packet为单位 1.CSI-CPHY 1.1CPHY的多lane分配与合并 csi-cphy规定至少需要一条lane用于传输视频&am…

ubuntu20.04 nerf Instant-ngp (下) 复现,自建数据集,导出mesh

参考链接 Ubuntu20.04复现instant-ngp&#xff0c;自建数据集&#xff0c;导出mesh_XINYU W的博客-CSDN博客 GitHub - NVlabs/instant-ngp: Instant neural graphics primitives: lightning fast NeRF and more youtube上的一个博主自建数据集 https://www.youtube.com/watch…

C++菜鸟日记1

共用体&#xff1a; #include<iostream> using namespace std; int main() {struct widge{char brand[20];int type;union id{long id_num;char id_char[20];}id_val;};widge prize;cout << "Please cin the prize.type mumber:" << endl;cin >…

01Linux基础

附件:day26–linux入门.pdf Linux是 基于Unix 的开源免费的操作系统&#xff0c;由于系统的稳定性和安全性几乎成为程序代码运行的最佳系统环境。 &#xff08;程序基本上在Linux上发布&#xff09; Linux系统的应用非常广泛&#xff0c;不仅可以长时间的运行我们编写的程序代…

【C++14算法】make_unique

文章目录 前言一、make_unique函数1.1 什么是make_unique?1.2 如何使用make_unique?1.3 make_unique的函数原型如下&#xff1a;1.4 示例代码示例1: 创建一个动态分配的整数对象示例2: 创建一个动态分配的自定义类型对象示例3: 创建一个动态分配的数组对象示例4: 创建一个动态…

STM32 CubeMX PWM三种模式(互补,死区互补,普通)(HAL库)

STM32 CubeMX PWM两种模式&#xff08;HAL库&#xff09; STM32 CubeMX STM32 CubeMX PWM两种模式&#xff08;HAL库&#xff09;一、互补对称输出STM32 CubeMX设置代码部分 二、带死区互补模式STM32 CubeMX设置代码 三、普通模式STM32 CubeMX设置代码部分 总结 一、互补对称输…