Less-5 知识点

concat()

CONCAT() 是MySQL中的字符串连接函数,用于将两个或多个字符串合并成一个字符串

语法:

1
2
3
CONCAT(string1, string2, string3, ...)
SELECT CONCAT('User ID: ', id, ', Name: ', name) AS user_info FROM users;
-- 结果: 'User ID: 1, Name: John'
Read more »

搭建SQLi-Labs靶场

1
2
3
4
5
6
7
8
# 搜索 sqli-labs 镜像 (可选)
docker search sqli-labs

# 拉取一个常用的镜像
docker pull acgpiano/sqli-labs

# 运行容器 (-p 81:80 表示将容器的80端口映射到宿主机的81端口)
docker run -dt --name sqli-labs -p 81:80 acgpiano/sqli-labs
Read more »

静态链接与重定位

以下述c代码为例,我们讨论一下重定位的过程

Read more »

ret2syscall

32位和64位进行系统调用时的区别

  1. 32位程序的函数调用用栈传参,使用 int 0x80 中断来进行系统调用
  2. 64位程序的函数调用前6个参数用寄存器传参,剩下的参数通过栈传参,使用 syscall 指令进行系统调用

Linux下64位的系统调用表格:参见博客

Read more »

配置环境

笔者选择在 Windows 11 中的 WSL2 中的 kali-linux 中安装 docker

Read more »

1.课程设计目的

  1. 熟悉各常用可编程接口芯片的工作原理、使用方法及引脚连接特性,正确操作实验设备,能根据设计要求制定总体方案,完成硬件连线,承担责任。
  2. 能够根据要求编写出满足功能要求的软件代码,能够利用开发工具进行设计调试、协助分析运行结果、定位设计错误等。
  3. 具有创新意识。尝试对所要求的功能设计提出有效的改进设想并努力实现;或尝试增加新的系统功能并努力实现。
  4. 具有对微机输入输出系统进行需求分析的能力,能针对具体的问题获取新知识完成系统的设计。
  5. 能够以口头和书面方式准确地描述、总结所完成的设计和主要成果,撰写比较规范的课程设计报告。
  6. 掌握综合控制键盘、数码管、步进电机的能力。
  7. 掌握有关中断服务程序的编制方法。
Read more »

单调栈

1
2
3
4
5
6
7
8
9
10
11
// 常见模型:找出每个数左/右边离它最近的比它大/小的数
// 以下代码是找到每个数左边第一个比它小的数
stack<int> stk;
for(int i = 0; i < n; i++)
{
cin >> a;
while(stk.size() && a <= stk.top()) stk.pop(); // 对于后面的数来说,a 比当前栈顶更优
if(stk.size()) cout << stk.top() << " ";
else cout << "-1 ";
stk.push(a);
}
Read more »
0%