echo1是linux64下的溢出题。IDA逆出来的main函数: C int __cdecl main(int argc, const char **argv, const char **envp) { int *v3; // rsi@1 void *v4; // rax@1 int v6; // [sp+Ch] [bp-24h]@1 _QWORD v7[4]; // [sp+10h] [bp-20h]@1 setvbuf(stdout, 0LL, 2, 0LL); setvbuf(stdin, 0LL, 1, 0LL); o = mallo...

shellcode中如果存在0x00,那么在拷贝字符串时shellcode很有可能在中间部分被割断,为了防止shellcode被破坏,通常要去除shellcode中的0x00。去0的方法有很多,这里介绍一些常用的方法: 1. 异或操作去0 mov $0x0,$eax ---> xorl $eax,$eax 1 mov $0x0,$eax  --->  xorl $eax,$e...

在写栈溢出攻击shellcode时候,有时需要将字符串传递给某个函数或者直接使用,但是在栈中无法直接获取该字符串的地址。下面将介绍两种获取字符串地址的方法: 1.直接通过push来获取字符串的地址 Vim movl $0x65656565 ,%eax push %eax 12 movl $0x65656565 ,%eaxpush %eax 上面两句...

+
跳转到评论