19_C基础文件操作
#include <stdio.h>
#include <string.h>
int main ()
{
fprintf(stdout, "Hello\n");
/*
stdin 标准输入设备
stdout 标准输出设备
stderr 标准错误设备
FI
159
|
0
18_C指针的使用规范、位运算
2024-11-02
指针的使用规范 在C和C++中,指针是强大的工具,但如果不小心使用,可能会引发复杂的错误。因此,了解指针的规范使用原则可以帮助编写更安全和易于维护的代码。以下是一些使用指针的规范: 1. 初始化指针 指针变量在声明后,应尽量初始化,避免使用未初始化的指针导致未定义行为。常见的初始化方式包括: 将指针
182
|
0
06_Ret2Shellcode-64位
可以发现我们的字符串/bin/sh只有一个斜杠了,这是因为在32位我们担心会补0,但是64位,可以mov一下都传过去。 #include<stdio.h>
char buf2[200];
int main()
{
setvbuf(stdout,0,2,0);
char buf[20]
113
|
0
04_Ret2Shellcode-32位
Ret2Shellcode和Ret2libc区别在于有没有nx保护,先来讲讲shellcode shellcode Shellcode 是一种小巧的、用于攻击目的的机器代码,其通常在目标系统中执行,以获得控制权或执行特定的指令。Shellcode这个名称来源于早期的攻击目标是获取系统的 shell,
169
|
0
16_结构体数组、共用体、枚举类型
结构体、共用体与枚举类型的使用及应用场景 1. 结构体(Struct) 1.1 结构体的定义与变量声明 在C语言中,结构体是一种用户自定义的数据类型,允许将不同类型
172
|
0
03_gdb附加动态调试
2024-10-13
如何在GDB中附加调试64位程序,尤其是在开发脚本时? 1. 使用GDB调试64位程序 当我们处理 ELF 文件时,可能需要进行动态调试。在这种情况下,我们通常会借助 GDB 工具。而在使用 pwntools 进行开发时,pwntools 提供了对 GDB 的内置支持模块,简化了调试流程。 其中,最
245
|
0