CTF--Misc题型小结

(萌新笔记,多多关照,不足之处请及时提出。)

不定时更新~


目录

密码学相关

文件类型判断

file命令

文件头类型

strings读取

隐写术

尺寸修改

文件头等缺失

EXIF隐写

thumbnail 隐写

 

 

文件分离&提取

binwalk

foremost

dd命令

zsteg

看hex!!!

gif

图像特征:

gif坐标:

word隐写

apng

bpg

png

hex特征

数据块

TweakPNG

pngcheck

宽 / 高 一个有问题

把IHDR块的CRC也改了,知道宽度大于900

jpg

修改高度

bmp

宽高计算:

JPHS 

文本隐写:

盲水印

频域盲水印

JAVA盲水印

 

snow隐写

零宽度字符隐写

 颜色通道

直接换通道

LSB

RGB

zsteg直接分析每个通道

MSB

BGR,RBG等等

音频隐写

DTMF

二维码

压缩包分析

暴力破解

已知明文攻击

CRC碰撞

伪加密

取证分析

流量分析

网络流量

USB流量

内存取证

其他知识面:


 

 

密码学相关

CyberChef

base家族隐写:

base32:

MZWGCZZINBQW6X3KNF2V6YTVL54W63THL5RDGMS7FE======

 

,url ,转图片,,,

随波逐流

编码,加密,古典密码 等等。。。

二进制 ,进制转换:

0122 061 1101011 0172 0122 0105 061 1011010 0127 0154 0144 0110 0122 1010100 1001110 1000101 0124 110000 064 0172 1010001 060 0144 1011010 0115 1101011 0122 0116 1010100 0153 1110000 1011000 1010010 060 1101100 1100001 0126 0106 1001110 1001110 0127 1101100 0160 1001000 0124 1010100 1001110 0105 1010010 060 065 0123 0126 0105 0144 0132 1001101 060 1010010 1001000 1010100 1010110 1110000 1011010 1010010 110000 110000 0172 1010010 0105 061 1001110 1010101 1101100 0122 1001000 0122 1010110 1110000 0125 0121 060 065 0123 1010110 1010101 1100100 1001110 1010111 0125 1010010 0110 0124 1101100 0112 0130 0122 061 0154 0141 1010110 0105 1010110 1001111 1010101 1101100 1010110 0110 0127 1010100 1001010 1000101 1010100 1010101 110001 1010011 0126 060 1100100 1010110 1001101 060 1010010 0110 0124 0126 0160 0141 0122 060 061 0141 1010110 1000101 061 1001111 1010011 0154 0122 1001000 0126 1010100 1001110 0105 1010010 110000 110001 1100001 0126 110000 1100100 0132 1010111 0126 1010010 1001000 0124 0154 1001010 1011001 1010100 0126 0105 071 0120 0124 060 111001 0120 1010100 110000 111101 

进制转换 - 在线工具

字符:字符 编码/解码 - 锤子在线工具

摩斯密码:
Morse Code Adaptive Audio Decoder | Morse Code World

盲文,原神文,天书,猪圈,佛,熊 等等等等


文件类型判断

 

file命令

file 文件

d588a701b0aa4f5baa11aaf1aa5c005a.png

 


文件头类型

通过文件头判断文件类型

【CTF杂项】常见文件文件头文件尾格式总结及各类文件头_ctf常见文件头-CSDN博客

常见文件的文件头与文件尾 - K4ras - 博客园 (cnblogs.com)

样本分析 | 整理了527种文件格式类型的文件头 (参考使用)_文件头格式列表-CSDN博客


 

5d279e58e78740d1979162580181c51e.png


strings读取

strings xxx.png | grep ctf
strings * | grep ^ctf{.}$ 
strings * | grep ctf

直接显示出所有字符: (方便找)

55b9dda4e1c6418d815a1f8e2732ab8f.png

 


隐写术

png 是无损压缩

bmp (无压缩的图片)

jpg 压缩很可能被破坏,有损压缩, 不能使用lsb隐写

尺寸修改

图片的宽高问题,CRC校验。

模板里面修改/再hex里面修改

 


文件头等缺失

【CTF杂项】常见文件文件头文件尾格式总结及各类文件头_ctf常见文件头-CSDN博客

常见文件的文件头与文件尾 - K4ras - 博客园

 样本分析 | 整理了527种文件格式类型的文件头 (参考使用)_文件头格式列表-CSDN博客

给你个txt,打开后是乱码,看hex,其实是图片的文件头。

文件里面夹杂着其他文件的特征,通过提取进行补全,修改等等。

文件头真的没有。

 

4e614a809eb64f68a13bdf8547935da8.png

PNG (png) 文件头:89504E47 文件尾:AE 42 60 82

jpg FFD8FFE1

bmp 424D

gif 47494638

tif 49492A00

AVI 文件

文件头:52 49 46 46 xx xx xx xx 41 56 49 20

文件尾:00 00 00 00

---改的时候有问题 ,--》改成png ,webp , jpg 等文件后缀都行!!

 

 

EXIF隐写

右键,属性,详细信息

exiftool:

7d3309bad563432c8161f5de25f57c8b.png

坐标 ---》 字符 / hex

时间 ---》 时间戳 ---》hex

 

 

 


thumbnail 隐写

exiftool

exiftool misc.png  --分析图片

exiftool -ThumbnailImage -b misc.png > flag.png        --提取图片

 


 

文件分离&提取

binwalk

binwalk flag.txt

binwalk -e flag.txt

binwalk -e xxx.png --run-as=root
binwalk -D=jpeg 'xxx.jpg'

helloctfos@Hello-CTF:/mnt/c/HelloCTF/Toolkit/隐写工具/图片类/binwalk-2.3.4/build/scripts-3.10$ binwalk '/mnt/c/Users/HelloCTF_OS/Desktop/misc8/misc8.png'DECIMAL       HEXADECIMAL     DESCRIPTION
--------------------------------------------------------------------------------
0             0x0             PNG image, 900 x 150, 8-bit/color RGBA, non-interlaced
91            0x5B            Zlib compressed data, compressed
3892          0xF34           PNG image, 900 x 150, 8-bit/color RGB, non-interlaced
3954          0xF72           Zlib compressed data, default compressiondd if='/mnt/c/Users/HelloCTF_OS/Desktop/misc8/misc8.png' of=9999.png  bs=1 skip=3892
7741+0 records in
7741+0 records out
7741 bytes (7.7 kB, 7.6 KiB) copied, 27.3239 s, 0.3 kB/s

foremost

foremost xxx.png

-V-显示版权信息并退出
-t-指定文件类型。(-t jpeg,pdf…)
-d-启用间接块检测(对于UNIX文件系统)
-i-指定输入文件(默认为stdin)
-a-写入所有标头,不执行错误检测(损坏的文件)
-w-仅写入审核文件,不将任何检测到的文件写入磁盘
-o-设置输出目录(默认为输出)
-c-设置要使用的配置文件(默认为forest.conf)
-q-启用快速模式。在512字节边界上执行搜索。
-Q-启用静音模式。抑制输出消息。
-v-冗余模式。将所有消息记录到屏幕。

 


dd命令

半自动化,当文件自动分离出错或其他原因无法自动分离时,可以使用dd实现文件手动分离。

格式:

dd if=源文件 bs=1 of=目标文件名 skip=开始分离的字节数

dd if=xxx of=xxx bs=xxx count=xxx skip=xxx

--一个文件里有多个文件头(特征)

zsteg

zsteg 文件          --分析文件

zsteg -e extradata:0 misc.png > flag.txt   --提取文件

zsteg -e 通道 xxx.png > xxx.txt        (后面LSB用到)


看hex!!!

记事本打开/010打开看末尾,中间段等有没有关键信息。

010  , winhex ,

隔位取值:

4529c53381bc4d6f95822ee1e10be86e.png

gif

分帧,摩斯,特性,挤

gif图片分帧:

每一帧都有对应的图片。宽高

010 --- 模板 --- 发现 帧数

43e9f85c10d942f09f497f4f35d3b08a.png

96 --》 FF

两个地方:一个是图片的 缩略图的高度 and 图片本体的高度。

要改就改两个地方的高度:!!!

69dd5495ef4a48c383e51419204948ed.png

图像特征:

使用 imagemagick工具:identify -format "%T " misc.gif

得到

37 37 36 36 36 37 37 37 37 37 36 37 36 36 37 37 36 36 37 37 36 37 37 37 36 36 37 37 37 37 36 37 36 36 36 37 37 36 37 37 37 37 37 37 37 36 37 37 37 37 37 37 37 36 37 37 36 37 37 36 37 36 37 36 37 37 36 36 37 36 36 37 37 37 36 36 36 36 37 37 36 36 36 37 36 37 37 36 36 37 36 37 37 36 36 37 37 36 37 37 36 36 37 37 36 36 37 37 37 36 36 37 36 37 37 37 36 36 37 36 37 37 36 37 36 37 37 37 36 36 37 37 36 37 37 36 36 36 37 36 36 37 37 36 37 37 37 37 37 36 36 36 37 36 37 37 36 36 37 36 37 36 37 37 36 36 37 36 36 37 37 36 37 37 36 36 37 37 37 36 36 36 37 37 36 36 37 36 36 36 37 37 37 36 36 37 36 37 37 36 37 37 36 36 37 37 36 36 37 37 37 37 36 36 36 36 37 36 37 37 37 36 36 37 37 37 36 36 37 36 37 37 37 36 36 36 37 36 37 37 36 36 36 37 37 37 37 36 36 36 36 37 36 37 37 36 36 36 36 36 37 37 36 37 36 36 36 37 37 36 37 36 37 36 37 37 37 36 36 37 37 37 37 37 37 36 37

---》 二进制数据!!! 替换就好了

gif坐标:

用gif每一帧的偏移量作为坐标来画图,这里gif的偏移量用identify命令,

apt-get install imagemagick

identify misc.gif > flag.txt

matplotlib脚本画图。

 

 

 

 

 


word隐写

显示隐藏的文字。


apng

是PNG的升级版,与GIF类似。

使用apng2gif转成GIF。(工具转成gif)

apngdis分解每一帧。

honeyview直接看每一帧。

---

apngdis 拆解图片,得到一堆文本,文本内容是每一帧之间的间隔。

 


bpg

BPG格式,全称“Better Portable Graphics”(更好的便携式图像),它是一个声称比现时最流行的JPEG压缩格式更优秀的图像压缩方案,由法国的程序员法布里斯·贝拉(Fabrice Bellard)于2014年创建。他将影像编码格式中的技术运用到了图像编码,以达至更理想的压缩比率,而不同于JPEG为提高压缩比而牺牲画质的方式。该影像编码格式基于高效率视频编码(HEVC)的帧内编码技术改良而成。

下载honeyview直接查看bpg图片:

Honeyview · Free Image Viewer · Download & Features

 

 


png

3f260505cc2b40aaaef4e98f648dc08c.png

  • (固定)八个字节89 50 4E 47 0D 0A 1A 0A为png的文件头
  • (固定)四个字节00 00 00 0D(即为十进制的13)代表数据块的长度为13
  • (固定)四个字节49 48 44 52(即为ASCII码的IHDR)是文件头数据块的标示(IDCH)
  • (可变)13位数据块(IHDR)
    • 前四个字节代表该图片的宽
    • 后四个字节代表该图片的高
    • 后五个字节依次为:
      Bit depth、ColorType、Compression method、Filter method、Interlace method
  • (可变)剩余四字节为该png的CRC检验码,由从IDCH到IHDR的十七位字节进行crc计算得到。

hex特征

c4a47e7cbe994f5681d87ff9ae4a3f3f.png

看文件头,IHDR CRC 值是否正确。
高 00 00 03 84,宽 00 00 00 96

- (固定)八个字节89 50 4E 47 0D 0A 1A 0A为png的文件头
- (固定)四个字节00 00 00 0D(即为十进制的13)代表数据块的长度为13
- (固定)四个字节49 48 44 52(即为ASCII码的IHDR)是文件头数据块的标示(IDCH)
- (可变)13位数据块(IHDR)
- 前四个字节代表该图片的宽
- 后四个字节代表该图片的高
- 后五个字节依次为:
Bit depth、ColorType、Compression method、Filter method、Interlace method
- (可变)剩余四字节为该png的CRC检验码,由从IDCH到IHDR的十七位字节进行crc计算得到。

 

0af0bef433e01c621e8f916592f70021.png

求高: 

import os
import binascii
import structmisc = open("dabai.png","rb").read()for i in range(1024):data = misc[12:20] +struct.pack('>i',i)+ misc[24:29]crc32 = binascii.crc32(data) & 0xffffffffif crc32 == 0x6d7c7135:print(i)print("hex:"+hex(i)) #转为16进制

求宽:

# -*- coding: utf8 -*-
import os
import binascii
import structmisc = open("dabai.png","rb").read()for i in range(1024):data = misc[12:16] +struct.pack('>i',i)+ misc[20:29]crc32 = binascii.crc32(data) & 0xffffffffif crc32 == 0x6d7c7135:print(i)print("hex:"+hex(i)) #转为16进制

数据块

PNG格式的数据结构-CSDN博客

TweakPNG

查看数据块是否有问题,

合并,删除等等

IDAT数据块

614a3b2c712d4bb6bde92ba0b17212b9.png

pngcheck

类似于pngcheck,主要检查一下数据块。

-7 打印文本块的内容,除了多于128个的字符,因为只有7位。
-f 即使在出现重大错误后仍强制继续。
-p 显示PLTE,tRNS,hIST,sPLT和PPLT的内容(可与-q一起使用)。
-q 安静地测试(仅输出错误)。
-s 在另一个文件中搜索PNG。
-t 显示tEXt块的内容(可与-q一起使用)。
-v test verbosely(打印大多数块数据)。
-x 搜索PNG并在找到时提取它们。

 

 

 


宽 / 高 一个有问题

CRC在线计算 (lddgo.net)

 

c7ea763834ed6b1314b254c422c7f482.png

根据题目提示高度正确,宽度有问题,而且是png图片的前提下,我们知道这是考到了crc效验原理。

已知png图片的结构是如下的:

1、开头的0~7八个字节为png的文件头:89 50 4E 47 0D 0A 1A 0A (固定格式)

2、8~11四个字节:00 00 00 0D 表示头部数据块的长度为13(固定格式)

3、12~15四个字节:49 48 44 52 表示文件头数据块的标示(固定格式)

4、16~19四个字节:00 00 03 84表示图片的宽(不固定)

5、20~23四个字节:00 00 00 96表示图片的高(不固定)

6、24~28五个字节:08 02 00 00 00表示Bit depth(图像深度)、ColorType(颜色类型)、 Compression method(压缩方法)、 Filter method(滤波器方法)、Interlace method(隔行扫描方法)这五个字节不固定,均为可变数据

49 48 44 52 00 00 03 84 00 00 00 96 08 02 00 00 00

7、29~32四个字节:76 EC 1E 40(原宽高为图片的crc校验值由从第12个字节到第28个字节的十七位字节进行crc计算得到)

所以我们直接从12个字节开始复制到28字节结束,一共17个字节,粘贴到在线crc效验网站:CRC在线计算,选择hex内容格式、算法选择crc-32,再点击计算得到结果为09 DA D1 61 (原宽高所对应的正确的CRC)

然后再观察原图结构里的crc效验码为E1 4A 4C 0B(原宽高对应的错误的CRC),所以明显这是高度、宽度出错了。

脚本跑。。。


把IHDR块的CRC也改了,知道宽度大于900

63fbb6e01827401b8ffb451c1ee37ea8.png


jpg

修改高度

96aaa589c79b4dd5b3c3bb735bc5bb1b.png

 

 

 


bmp

https://blog.csdn.net/qrsysterm/article/details/50629171

宽高计算:

举例说明,        (根据提示本题的宽度是没问题的,所以只需要修改高度即可。)

右击属性可以看到目前像素是900 x 153=137700,而文件头占了53字节,文件结尾在675053字节处。

又因为每个像素点由三个字节(三基色)表示,每个字节控制一种颜色,分别为红、绿、蓝三种颜色。

所以文件真实像素大小为(675053-53)/3=225000。

高度=225000/900=250


exiftool 查看是多少字节

bmp共675056字节

目前像素是900x153=13700字节

文件结尾在675053处,真是像素大小:675053-53=225000 /900 = 真实宽度


62c65fef3bf74f41be12abed3f8328d0.png

十六进制打开文件,0x1c-0x1d是每像素比特数,18 00 即每像素占24位,3字节(bmp数据是小端序存储的,要倒过来看,即实际数据为 00 18)。

0x12-0x15是文件宽度,83 03 00 00,即900。

0x16-0x19是文件高度,96 00 00 00,即150。

0x22-0x25是图像数据的字节数,1A 87 06 00,即427802字节,去掉末尾补0的两个字节,实际是427800。

假设文件宽正常,高被修改了,那么一行数据字节为900*3=2700字节,bmp每行数据必须为4的倍数,否则需要补0 ,2700是4的倍数,无需再补0,计算实际高是427800/2700=158.4,不是整数,说明这个思路不对。

假设文件高正常,宽被修改了,那么一行是数据的字节应该是427800/150=2852,2852是4的倍数但不是3的倍数,说明末尾补了0, 2852/3得商为950,余数为2,说明一行有950个像素,末尾补了两个0,修改地址0x12-0x15为B6 03 00 00,打开图像得flag。


 

 

 

 

 

JPHS 

JPEG 图像的信息隐藏软件 JPHS,它是由 Allan Latham 开发设计实现在 Windows 和 Linux 系统平台针对有损压缩 JPEG 文件进行信息加密隐藏和探测提取的工具。

【隐写工具】【试一试?】jphide seek(JPHS) 使用方法,检测提示,附下载地址-CSDN博客

 

JPHS工具提取隐写数据,Stegdetect探测隐写方式和密码。

 


 

文本隐写:

文本隐写笔记 | 独奏の小屋


盲水印

单图

双图

文本盲水印

GitHub - chishaxie/BlindWaterMark: 盲水印 by python

b4370392208248708f71ebbd73529dac.png

 

 


频域盲水印

Misc 总结 ----隐写术之图片隐写(四) - 先知社区

JAVA盲水印

Releases · ww23/BlindWatermark · GitHub

 


snow隐写

需要密码

主要就是一段文本里有很多的空格和制表符。

 

 

 

 

 

零宽度字符隐写

(Zero-Width Space Steganography)

将隐藏消息编码和解码为不可打印/可读字符。

vim看

零宽度字符隐写 | Lazzaro

零宽度字符隐写(CTF)_零宽字符-CSDN博客

加解密网站:Unicode Steganography with Zero-Width Characters


 颜色通道

三基色 + Alpha

在计算机图形学中,一个RGB颜色模型的真彩图形,用由红、绿、蓝三个色彩信息通道合成的,每个通道用了8位色彩深度,共计24位,包含了所有彩色信息。为实现图形的透明效果,采取在图形文件的处理与存储中附加上另一个8位信息的方法,这个附加的代表图形中各个素点透明度的通道信息就被叫做Alpha通道。

Alpha通道使用8位二进制数,就可以表示256级灰度,即256级的透明度。白色(值为255)的Alpha像素用以定义不透明的彩色像素,而黑色(值为0)的Alpha通道像素用以定义透明像素,介于黑白之间的灰度(值为30-255)的Alpha像素用以定义不同程度的半透明像素。因而通过一个32位总线的图形卡来显示带Alpha通道的图形,就可能呈现出透明或半透明的视觉效果。

0通道隐写,双图,xor

LSB...

 

直接换通道

stegsolve工具:

c4465b4ccda3419aa9ad6d2d67cbe534.png

 

 

LSB

(最低有效位)

网络安全 - Lsb图片隐写 - 个人文章 - SegmentFault 思否

浅谈LSB隐写解题与出题-CSDN博客

LSB隐写,

 


RGB

RGB图像转三通道灰度图像 | CTF of Z2BNS

zsteg直接分析每个通道

zsteg -e 通道 xxx.png > xxx.txt

979762712dc0490f8d0c6c3df37956e6.png

MSB

8a9f381655ee465187599c3058e68e3f.png

(keng~)

BGR,RBG等等

就要分析,多试!

 

0通道问题

xor

 

 


音频隐写

.flac

.wav

.mp3

---频谱,波形,01,摩斯,

1a2846a238d44c5c84b395a8db872c9e.png

--可以发现 类似 摩斯密码。(  长=-   短=.   )

等等


 

DTMF

拨号隐写(你拨号时的声音)拨号音

(诺基亚手机按键)

三、音频隐写[Audacity、deepsound、dtmf2num、MMSSTV、虚拟声卡、MP3Stego]-CSDN博客

【工具】-Misc-DTMF2num 拨号音识别 | 青少年 CTF - 优秀文库

BUUCTF:[WUSTCTF2020]girlfriend-CSDN博客

dtmf工具下载网址:csdn - 安全中心


二维码

QRazyBox - QR Code Analysis and Recovery Toolkit

拼接,反色,异或,标识,

汉信码:在线汉信码识别器|汉信码识别SDK|汉信码SDK

QR码

 

 


压缩包分析

暴力破解

尽可能知道密码的组成。直接爆破!

掩码攻击: 攻击类型选择掩码,不知道的密码扣?

5e44dba5deb449418ba72c23156f8ee1.png

已知明文攻击

c56a633dcb50437598fd9310a08d25a1.png


CRC碰撞

例:有很多个zip文件,CRC32的值也就有很多个。

GitHub - theonlypwner/crc32: CRC32 tools: reverse, undo/rewind, and calculate hashes

GitHub - kmyk/zip-crc-cracker

 


伪加密

rar伪加密:

CTF解题技能之压缩包分析基础篇 - FreeBuf网络安全行业门户

zip伪加密原理及操作_zip加密原理-CSDN博客

(大佬写得非常好了~) 

zip:

df7298fe6ca24e959a22595fa3ce30cf.png

 


取证分析

流量分析

tcp/http追踪流,上传流量,登录,过滤,统计,hacker工具的流量特征,

网络流量

http ,tcp,telnet,dns,

 

 

USB流量

键盘,鼠标,坐标,

 


内存取证

volatility:取证分析。

CTF Misc(2)内存取证基础以及原理,覆盖了大部分题型_ctf misc raw-CSDN博客

【MISC】Volatility取证分析工具 | 狼组安全团队公开知识库

内存取证-Volatility安装使用以及一些CTF比赛题目-CSDN博客

volatility -f easy_dump.img --profile=Win7SP1x64 filescan | grep "txt\|jpg\|png"(文件导出)
volatility -f easy_dump.img --profile=Win7SP1x64 dumpfiles -Q 0x000000002408c460 -D ./ -u
-Q:指定文件在内存中的地址。-D:指定文件导出的地址。-u:指定原文件名导出/volatility -f easy_dump.img --profile=Win7SP1x64 memdump -p 2616 -D ./
(进程导出)

kit : 追溯密码

veracrypt:https://www.veracrypt.fr/en/Downloads.html

磁盘加密软件

DiskGenius: 数据恢复软件

 

 

 


其他知识面:

GitHub - AabyssZG/Raster-Terminator: CTF之光栅图秒杀器

条形码扫描

...没见过怎么办???  百度呀!!!

gnuplot模块画图

拼图:montage

zlib解压:

import zlib
s = '789C4BCB494CAF4E4B36324D4E4A324FB230B534B54C4B35303637B63032314CB4344B4A33324EA90500E9E20B5FD01C6808'  # hex数据
b = bytes.fromhex(s)
flag = zlib.decompress(b)
print(flag)

爆破hash:

import hashlib
def md5(s):return hashlib.md5(s).hexdigest()
for i in range(1, 9999999):if md5(str(i)).startswith('bf5ede'):print i
#找到md5前6位是bf5ede的值

 

 

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

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

相关文章

索引的使用和优化

索引就是一种快速查询和检索数据的数据结构,mysql中的索引结构有:B树和Hash。 索引的作用就相当于目录的作用,我么只需先去目录里面查找字的位置,然后回家诶翻到那一页就行了,这样查找非常快, 创建一个表结…

短视频矩阵系统源码开发优势,短视频矩阵系统oem部署

短视频矩阵系统就是在多个短视频平台上构建自己的内容生态,通过多平台、多账号、多内容的运营策略,实现品牌曝光、用户引流、产品销售等目的。短视频矩阵的核心在于通过矩阵式的布局,实现资源优化配置和利用,提升企业市场竞争力。…

.Net 8 Web API CRUD 操作

本次介绍分为3篇文章: 1:.Net 8 Web API CRUD 操作https://blog.csdn.net/hefeng_aspnet/article/details/143228383 2:在 .Net 8 API 中实现 Entity Framework 的 Code First 方法https://blog.csdn.net/hefeng_aspnet/article/details/1…

【C++干货篇】——类和对象的魅力(四)

【C干货篇】——类和对象的魅力(四) 1.取地址运算符的重载 1.1const 成员函数 将const修饰的成员函数称之为const成员函数,const修饰成员函数放到成员函数参数列表的后面。const实际修饰该成员函数隐含的this指针(this指向的对…

nuxt3项目创建

安装 npx nuxilatest init <project-name> 此时会出现报错&#xff0c;需要在host文件中加入 185.199.108.133 raw.githubusercontent.com 再次执行命令&#xff0c;进入安装 此处选择npm&#xff0c;出现下图表示安装成功 启动项目 执行npm run dev&#xff0c;访…

【力扣 + 牛客 | SQL题 | 每日4题】牛客大厂笔试真题SQLW6, W7, W8

1. 牛客大厂笔试真题SQLW6&#xff1a;统计所有课程参加培训人次 1.1 题目&#xff1a; 描述 某公司员工培训信息数据如下&#xff1a; 员工培训信息表cultivate_tb(info_id-信息id,staff_id-员工id,course-培训课程)&#xff0c;如下所示&#xff1a; 注&#xff1a;该公…

【大数据技术基础 | 实验五】ZooKeeper实验:部署ZooKeeper

文章目录 一、实验目的二、实验要求三、实验原理四、实验环境五、实验步骤&#xff08;一&#xff09;安装JDK&#xff08;二&#xff09;修改ZooKeeper配置文件&#xff08;三&#xff09;启动ZooKeeper集群 六、实验结果七、实验心得 一、实验目的 掌握ZooKeeper集群安装部署…

基于Netty构建WebSocket服务并实现项目群组聊天和实时消息通知推送

文章目录 前言需求分析技术预研Web端方案服务端技术 技术方案设计思路功能实现添加依赖自定义NettyServer自定义webSocketHandler使用NettyServer向在线用户发送消息 需要完善的地方 前言 我们的项目有个基于项目的在线文档编制模块&#xff0c;可以邀请多人项目组成员在线协同…

python爬虫-爬取蛋白晶体和分子结构

文章目录 前言一、环境准备二、爬取PDB蛋白结构1.下载指定数量的随机PDB2.下载指定靶标的PDB二、从ZINC爬取小分子mol2结构1.下载指定数量的随机分子2.下载指定分子三、从ChEMBL爬取小分子信息1.下载指定ID的SMILES(测试不成功,网站变成readonly了)四、总结爬虫1.查看对应的…

AMD锐龙8845HS+780M核显 虚拟机安装macOS 15 Sequoia 15.0.1 (2024.10)

最近买了机械革命无界14X&#xff0c;CPU是8845HS&#xff0c;核显是780M&#xff0c;正好macOS 15也出了正式版&#xff0c;试试兼容性&#xff0c;安装过程和之前差不多&#xff0c;这次我从外网获得了8核和16核openCore&#xff0c;分享一下。 提前发一下ISO镜像地址和open…

JavaScript完整笔记

JS引入 JavaScript 程序不能独立运行&#xff0c;它需要被嵌入 HTML 中&#xff0c;然后浏览器才能执行 JavaScript 代码。 通过 script 标签将 JavaScript 代码引入到 HTML 中&#xff0c;有两种方式&#xff1a; 内部方式 通过 script 标签包裹 JavaScript 代码 我们将 &…

安装Maven配置以及构建Maven项目(2023idea)

一、下载Maven绿色软件 地址&#xff1a;http://maven.apache.org/download.cgi 尽量不要选择最高版本的安装&#xff0c;高版本意味着高风险的不兼容问题&#xff0c;选择低版本后续问题就少。你也可以选择尝试。 压缩后&#xff1a; 打开后&#xff1a; 在该目录下新建mvn-…

SQLite 3.47.0 发布,大量新功能来袭

SQLite 开发团队于 2024 年 10 月 21 日发布了 SQLite 3.47.0 版本&#xff0c;我们来了解一下新版本的改进功能。 触发器增强 SQLite 3.47.0 版本开始&#xff0c;触发器函数 RAISE() 的 error-message 参数可以支持任意 SQL 表达式。在此之前&#xff0c;该参数只能是字符串…

SQL注入之sqlilabs靶场21-30题

重点插入&#xff1a;html表 第二十一题 分析过程&#xff1a;&#xff08;没有正确的账号密码是否能拿到Cookie&#xff1f;最后注释好像只能使用#&#xff0c;--好像无法注释&#xff09; 查看源码 这里输入账号密码处被过滤了 但Cookie被base64编码了 可以从Cookie入手 …

vue2结合echarts实现数据排名列表——前端柱状进度条排行榜

写在前面&#xff0c;博主是个在北京打拼的码农&#xff0c;工作多年做过各类项目&#xff0c;最近心血来潮在这儿写点东西&#xff0c;欢迎大家多多指教。 数据排名列表——图表开发&#xff0c;动态柱状图表&#xff0c;排名图 UI 直接搜到类似在线代码&#xff08;数据列表…

多线程——线程池

目录 前言 一、什么是线程池 1.引入线程池的原因 2.线程池的介绍 二、标准库中的线程池 1.构造方法 2.方法参数 &#xff08;1&#xff09;corePoolSize 与 maximumPoolSize &#xff08;2&#xff09;keepAliveTime 与 unit &#xff08;3&#xff09;workQueue&am…

Redis集群分片存储最佳实践,手把手搭建Redis集群

目录 一、Redis集群介绍1、设计目标2、为什么需要分片存储 二、官网集群方案三、搭建集群1、准备6个独立的Redis服务2、通过redis-cli工具创建集群3、检验集群4、集群重新分片5、故障转移测试6、集群扩容7、集群节点删除 四、集群关心的问题五、集群功能限制 一、Redis集群介绍…

蓝桥杯题目理解

1. 一维差分 1.1. 小蓝的操作 1.1.1. 题目解析&#xff1a; 这道题提到了对于“区间”进行操作&#xff0c;而差分数列就是对于区间进行操作的好方法。 观察差分数列&#xff1a; 给定数列&#xff1a;1 3 5 2 7 1 差分数列&#xff1a;1 2 2 -3 5 6 题目要求把原数组全部…

基于SpringBoot的高校体测管理系统设计与实现(源码+定制+开发)高校体测记录系统设计、高校体测信息管理平台、智能体测管理系统开发、高校体测记录系统设计

博主介绍&#xff1a; ✌我是阿龙&#xff0c;一名专注于Java技术领域的程序员&#xff0c;全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师&#xff0c;我在计算机毕业设计开发方面积累了丰富的经验。同时&#xff0c;我也是掘金、华为云、阿里云、InfoQ等平台…

25届电信保研经验贴(自动化所)

个人背景 学校&#xff1a;中九 专业&#xff1a;电子信息工程 加权&#xff1a;92.89 绩点&#xff1a;3.91/4.0 rank&#xff1a;前五学期rank2/95&#xff0c;综合排名rank1&#xff08;前六学期和综合排名出的晚&#xff0c;实际上只用到了前五学期&#xff09; 科研…