- 博客(8)
- 收藏
- 关注
原创 力扣最长公共前缀c++
是调用字符串的 find 函数来查找子串 prefix 在字符串 strs[i] 中的位置。循环遍历了字符串向量 strs 中的每个字符串,并使用变量 i 依次表示每个字符串。**输入:**strs = [“flower”,“flow”,“flight”]**输入:**strs = [“dog”,“racecar”,“car”]表示从索引0开始截取 sz 个字符,即获取最短字符串的前缀。编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。**解释:**输入不存在公共前缀。
2023-09-14 13:40:39
92
原创 缓冲区溢出(栈溢出)
共有rax、rbx、rcx、rdx、rsi、rdi、rbp、rsp、r8、r9、r10、r11、r12、r13、r14、r15这16个寄存器,除了 rsp、rbp CPU对它们的用途没有做特殊规定,可以自定义其用途。"Canary" 是一个随机生成的特殊值,它被插入到栈帧的布局中,位于局部变量和返回地址之间。标准的可执行程序需要固定的地址,并且只有被装载到这个地址才能正确执行,PIE能使程序像共享库一样在主存的任何位置加载,引入PIE的原因就是让程序能装载在随机地址,从而缓解缓冲区溢出攻击。
2023-09-05 13:01:43
147
1
原创 删库跑路-
某星星在离职前给公司服务器来了一记rm -rf /*,真实演绎了什么叫"删库跑路",老板把恢复数据的希望寄托在刚刚入职的你身上。你能帮助公司恢复出硬盘里的重要数据吗。Hint1:通常来说删除文件只是把磁盘上对应的空间标记为未使用状态,数据本身还是存在于原本的位置。Hint2:有一款强大的工具可以识别或提取常见二进制文件内的数据。打开kali的终端,用binwalk来解压文件。解压完成后可以看到有三个文件。其中一个压缩包就隐含falg。:XSCTF联合招新赛。
2023-03-23 19:53:13
473
原创 汇编语言第3版 王爽 实验3
1.首先把代码打入到文件中,这里我使用的是Notepad++作为编译环境,命名为t1.asm。8.到了int21h ,我们要用 -p 来执行命令,重新返回到debug中,表示程序的结束。7.现在我们可以开始跟踪了,用 -t 命令单步执行每一条指令,并且观察每一个执行的结果。根据源代码其实我们也可以知道每一个执行的结果,但是这个命令可以更清晰地知道栈顶的内容。3.在对源程序进行编译获得目标文件之后,我们需要对目标文件进行连接,获得可执行文件。2.编译t1.asm,获得t1.ojb。打开Dosbox,输入。
2022-11-14 17:31:19
580
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人