docker深入学习
docker在之前pwn出题的时候其实已经写过了,但是写的主要是用于出pwn题的,这次借着要给小登讲docker,从头开始深入学习
pwn出题小记 | mint1.
Docker深入学习下载
agent学习
这篇文章用来记录所学到的关于agent、大模型等关于AI的知识
学习资料:Lordog/dive-into-llms: 《动手学大模型Dive into LLMs》系列编程实践教程
大模型是如何理解自然语言的将自然语言转换为高维向量做数据相似匹配
文本
向量(简化版)
含义
猫喜欢吃鱼
(0.9, 0.1)
靠近 “宠物 / 动物” 方向
猫咪爱吃鱼
(0.88, 0.12)
和上一句向量几乎重合 → 关联度极高
汽车需要加油
(0.1, 0.9)
靠近 “交通工具” 方向,和前两句距离很远 → 关联度极低
概念引入LLM(大语言模型):一个会说话会生成文本的大脑,例如deepseek,chatgpt这样的模型,它能够理解自然语言,生成连贯的文本,基于上下文做推理等
向量(一个高维数组):
维度
数学里的向量
Embedding 里的向量
形式
(x, y) 或 (x, y, z) 等低维数组
比如长度为 1536、768 的高维数组,例如 [0.12, -0.34, 0.56, ..., 0.78]
核心作用
表示空间中的方 ...
数据结构学习
树一、先搞懂:什么是「树」?1. 直观理解树是一种非线性的数据结构,长得和现实中的树一样:
有一个「根」,从根上长出「树枝」,树枝再分叉出更多小树枝,最后到「叶子」。
和数组、链表这种 “一条线” 的线性结构不同,树是 “一层一层分叉” 的结构。
2. 核心定义(抽象版)树是由 n (n ≥ 1) 个节点组成的有限集合:
有且仅有一个特定的节点,称为根节点(Root);
其余节点可分为 m (m ≥ 0) 个互不相交的有限集合,每个集合本身又是一棵树,称为根的子树(Subtree)。
二、基础术语:先把 “零件” 认全以这棵简单的树为例(A 是根):
12345 A / \ B C / \D E
术语
解释
对应例子
根节点(Root)
树最顶层、没有父节点的节点
A
父节点(Parent)
有子节点的节点
A 是 B、C 的父节点;B 是 D、E 的父节点
子节点(Child)
某个节点下面直接连接的节点
B、C 是 A 的子节点;D、E 是 B 的子节点
叶子节点(Leaf)
没有子节点的节点
C、D、E
兄弟节 ...
agent使用相关记录
vibecodingCodeGraph问题:项目文件太大导致我30w输入100输出库库烧钱
问题本质是agent在开发时由于我提示词没有精准到文件或片段,导致它需要总览一遍代码再思考输出
了解到CodeGraph给项目做知识图谱,让agent能快速理解项目并定位文件
引用文章CodeGraph:给 AI 编程助手装上代码知识图谱,省 35% 费用、减少 70% 工具调用 - iTech - 博客园
初始化项目12cd your-projectcodegraph init -i
重启 Agent重启 Claude Code / Cursor / Codex 即可。Agent 检测到 .codegraph/ 目录会自动使用 CodeGraph 工具。
卸载改主意了?一行命令从所有 Agent 中移除:
1codegraph uninstall
python学习_01
基于期末项目数据工坊对于python的学习什么是.pyc文件?
在看到codex写的项目里有很多__pycache__文件夹,里面有些二进制的.pyc文件,他是python运行.py文件时所编译的字节码文件,若源码无变动的情况下后续运行就无需二次编译,解释器会直接执行.pyc文件
python中的.是什么?
在pwn中总是会先io=remote(xxxx,xxxx)来连远程靶机,后续io.sendline(xxx)发payload,io.sendline是什么意思呢,也就是从io对象中取出它的sendline方法,python简单来说就是从左边的东西里面取出右边的东西
1234# Django 里也是同样的道理request.user # 从 request 对象里取出user 属性request.user.is_authenticated # 从 user 对象里取出 is_authenticated 属性login(request, user) # 从导入的 django.contrib.auth 模块里取出 logi ...
Vim 详细使用指令
Vim 详细使用指令(按功能分类)
说明:本文默认你在 普通模式(Normal) 下输入命令;: 开头的是 命令行模式(Ex);Ctrl+x 表示按住 Ctrl 再按 x。记忆建议:先掌握 模式切换 → 移动 → 编辑 → 搜索替换 → 多文件/窗口 这条主线。
0. 模式与基础概念0.1 三大常用模式
普通模式(Normal):移动光标、触发编辑指令(默认进入)。
插入模式(Insert):输入文本。
可视模式(Visual):选中文本后再操作(复制/删除/缩进等)。
0.2 常用按键约定
ESC:回到普通模式(最重要的键之一)。
::进入命令行模式,输入 Ex 命令。
.:重复上一次“修改类”操作(极高频)。
u / Ctrl+r:撤销 / 重做。
1. 启动、退出与帮助1.1 启动
vim file.txt:打开文件
vim +n file.txt:打开并跳到第 n 行
vim +/pattern file.txt:打开并定位到第一次匹配
vim -o a b:横向分屏打开多个文件
vim -O a b:纵向分屏打开多个 ...
python学习
dd1b36faf1f3206dd5cfb42140fab0c09efad96affb5413616c8a6989d1834d63bf3b94ad46e8641ab12b10f49736be83e51c50449b970241ec11ba3265209c5e4ce8507961210cf8df72e73946ad796a07a6753915e32cd78d4de45240699dbfae15e060e16dcc5ddf874f17dd38fc97421060873550b861b3416b2e825f83e4f2ebd40429a5cc3bd1ddcc4f3e2d06ebcf1097c1d73a9f06a450b60d06e29bf7e93c81e79b15cf992d039a4b91d848fd8114c3c7c327d90981efdd10d580f899af6c1bfa74430ce11cb31d9b5d23a75e9eaaa5d1c1c8de2c7f59a49c3a10cc8afe442b565ebb9b1c3754b10861d5913a5029315a7d39e665 ...
第八届玄武杯pwn方向题解
ret2text 64出题人:mint1.wp:checksec:
堆栈不可执行,没有开canary防止栈溢出,没有开PIE
来到IDA中分析
有后面函数system('/bin/sh')位于hint中,记录其地址0x40136F
漏洞位于func函数
gets()函数不检查输入信息的长度,存在栈溢出风险
v1是栈上的变量,在执行完func函数后程序会根据栈上数据跳转到进入func函数前压入的父函数位置,我们需要利用gets函数输入数据覆盖掉这一返回地址,跳转到hint函数中利用后门函数获取shell,但是64位函数执行system(‘/bin/sh’)前需要堆栈平衡,当我们在backdoor函数之前加入一个 ret 指令后栈顶下移8个字节使之对齐 16Byte 为此满足了XMM寄存器的要求成功得到shell,关于堆栈平衡可以看这篇文章https://zhuanlan.zhihu.com/p/611961995
payload = b'a'*(0x30+8) + p64(ret) + p64(backdoor)
0x30个a是为了 ...
markdown语法教学
markdown语法教学什么是markdown语法?Markdown 是一种轻量级标记语言,用简单的符号标记文本格式,无需复杂排版操作就能生成结构化文档。
它的核心价值在于 “易读易写”,既适合日常记录(如笔记、待办),也能用于创作(如文章、报告),且生成的内容可轻松转换为 HTML、PDF 等格式。
核心优势
语法简单:仅需记住十几个基础符号,几分钟就能上手。
跨平台兼容:几乎所有笔记软件(如 Notion、Obsidian)、写作平台(如知乎、GitHub)都支持 Markdown。
专注内容:无需频繁点击格式按钮,用符号就能快速设置标题、列表等,减少排版干扰。
常用基础语法标题:在本软件中一共有6级标题 有几个#就是几级
加粗:这是一段加粗文本
1**这是一段加粗文本**
斜体:这是一段斜体文本
1*这是一段斜体文本*
转义如果你只是想要这个符号不想生成对应格式,可以使用” \ “转义
正常输入一段内容需要用到 *
12*3*3=
会变成这样:
233=
转义后则为
12\*3\*3=
2*3*3=
引用:
这是一段引用文本
1>这是一段 ...
AWDP
AWDP合集使用到的优秀插件
Accenture/VulFi: IDA Pro plugin for query based searching within the binary useful mainly for vulnerability research.
2025省赛电信量子杯这次的patch都很简单,但是还是要注意很多细节,比如patch.sh文件不能写错,challenge写漏了一个e导致浪费了16次机会(我就说这exp怎么这么厉害我改这么多都能利用成功),sh文件也就是执行shell的文件,用于把修改过的ELF文件替换到服务器上
打包命令1tar czvf patch.tar.gz patch.sh patch_ok
patch.sh一定要仔细检查有没有写对啊
12#!/bin/bash cp patch_ok /home/ctf/challenge/challenge
heap一道很典型的堆题应该是可以利用double free但是我不会打,但是漏洞还是知道的
ptr指针释放后未指零
出题人很友善在下面放了一个置零操作,那么来到汇编
改fre ...

