摘要: 介绍 ADDI、ADDIU:加立即数,区别在于是否检测溢出。 Format: ADDI rt, rs, immediate rt = rs + immediate To add a constant to a 32-bit integer. If overflow occurs, then trap 阅读全文
posted @ 2023-05-11 11:24 叶际参差 阅读(764) 评论(0) 推荐(0) 编辑
摘要: Canary ^b25c98 用于防止栈溢出被利用的一种方法,原理是在栈的ebp/rbp下面放一个随机数,在函数返回之前会检查这个数有没有被修改,就可以检测是否发生栈溢出了。 如果栈中开启Canary found,那么就不能用直接用溢出的方法覆盖栈中返回地址,而且要通过改写指针与局部变量、leak 阅读全文
posted @ 2023-05-11 11:22 叶际参差 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 静态寻找 当libc加载地址不会改变的情况下,可以用gdb进行调试,找到某个libc库函数的地址a,一般高位是0x7f,然后再用ida打开libc文件,然后查找对应的函数的地址b,则libc基址=a-b 动态寻找 在现实世界中,libc的加载地址通常是在每次程序运行时都会发生变化的。这是因为在操作系 阅读全文
posted @ 2023-05-11 11:21 叶际参差 阅读(669) 评论(0) 推荐(0) 编辑