摘要: __int64 __fastcall main(int a1, char **a2, char **a3) { int i; // [rsp+8h] [rbp-68h] int j; // [rsp+Ch] [rbp-64h] __int64 v6[6]; // [rsp+10h] [rbp-60h 阅读全文
posted @ 2021-12-17 15:40 social_biao 阅读(40) 评论(0) 推荐(0) 编辑
摘要: 第一次遇到 全开 保护全开,一般是有关堆方面的题 __int64 __fastcall main(__int64 a1, char **a2, char **a3) { char *v4; // [rsp+8h] [rbp-8h] v4 = sub_B70(); while ( 1 ) { sub_ 阅读全文
posted @ 2021-12-16 19:44 social_biao 阅读(77) 评论(0) 推荐(0) 编辑
摘要: IDA查看 int __cdecl main(int argc, const char **argv, const char **envp) { char buf[80]; // [esp+2Ch] [ebp-5Ch] BYREF unsigned int v5; // [esp+7Ch] [ebp 阅读全文
posted @ 2021-12-16 19:26 social_biao 阅读(45) 评论(0) 推荐(0) 编辑
摘要: 老规矩先来一套 ida查看代码 ssize_t vuln() { char buf[32]; // [rsp+0h] [rbp-20h] BYREF puts("Pull up your sword and tell me u story!"); return read(0, buf, 0x64uL 阅读全文
posted @ 2021-12-16 17:34 social_biao 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 首先利用write函数来泄露当前libc版本 write函数write(int fd,const void*buf,size_t count); 即构造时 p32(0)+p32(write_addr)+p32(4)是在设置write函数的参数,对应函数原型看一下,32位程序是4位,所以这边写的4,对 阅读全文
posted @ 2021-12-16 16:14 social_biao 阅读(34) 评论(0) 推荐(0) 编辑
摘要: 1.经典的没有libc类型题目 检查了下只有一个 ssize_t vulnerable_function() { char buf[136]; // [esp+10h] [ebp-88h] BYREF return read(0, buf, 0x100u); } 2.溢出漏洞可以利用 buf0x88 阅读全文
posted @ 2021-12-16 16:05 social_biao 阅读(57) 评论(0) 推荐(0) 编辑
摘要: int __cdecl main(int argc, const char **argv, const char **envp) { int result; // eax int v4; // [esp+0h] [ebp-100h] BYREF char src[4]; // [esp+4h] [e 阅读全文
posted @ 2021-12-15 21:09 social_biao 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 1.在做之前补充一下知识点 写这道题之前, 大家首先要了解, 想要获得一个shell, 除了system("/bin/sh") 以外, 还有一种更好的方法, 就是系统调用中的 execve("/bin/sh", NULL, NULL)获得shell。 我们可以在 Linxu系统调用号表 中找到对应的 阅读全文
posted @ 2021-12-15 20:46 social_biao 阅读(300) 评论(0) 推荐(1) 编辑
摘要: 1.查壳 UPX 2.脱壳 UPX -d int __cdecl main(int argc, const char **argv, const char **envp) { int v3; // ecx int v5; // [esp-4h] [ebp-28h] int i; // [esp+10 阅读全文
posted @ 2021-12-15 16:30 social_biao 阅读(56) 评论(0) 推荐(0) 编辑
摘要: 1.查壳 无壳 2.拖进IDA int __cdecl main(int argc, const char **argv, const char **envp) { int v3; // esi int v5[3]; // [esp+8h] [ebp-74h] BYREF __int16 v6; / 阅读全文
posted @ 2021-12-15 12:24 social_biao 阅读(53) 评论(0) 推荐(0) 编辑