随笔分类 - 调试汇总
摘要:0x00:函数原理源码 在程序添加了canary保护后,如果我们读取的bof覆盖了对应的值时,程序就会报错,我们可以利用报错信息。 程序在启动canary保护之后,如果发现canary被修改的话,程序就会执行__stack_chk_fail函数来打印argv[0]指针所指向的字符串,正常情况下,这个
阅读全文
摘要:0x00:ida与栈空间 源码 偏移量为4+4+4+4(旧的ebp的值占4个字节)= 0x10 'a'去填充 gcc m32 fno stack protector z execstack o text text.c 断点一般下在call ___ios99_scanf的下一条指令,可以认为是返回地址
阅读全文
摘要:结合源代码和Fun函数,了解一下scanf,puts的工作机理具有一定的相似性,尤其在取址方面 lea指令与之相关 在gdb-peda中s进入Fun,查看首地址之后的内容(未被写入前),之后再看写入后的变化
阅读全文
摘要:gcc 当不使用任何选项时,gcc将会生成一个名为a.out的可执行文件 objdump d a.out 则会查看主要的反汇编代码,反汇编a.out中的需要执行指令的那些section,我先定位到main(由于是64位ubuntu,所以默认程序是64位,下图可以看到canary,具体的传参机制可以参
阅读全文