addr$k%s

程序是这样的:


我们gdb,在0x080484EA处下断,即第一次调用printf后。

如图

运行,输入%08x.%08x.%08x

注意此时代码和堆栈情况,


继续

继续


好,接下来认真看了。


执行push eax后,会发现堆栈图成了下图这样:


会发现,格式化字符串,和格式化字符串相对的第一个参数是一样的,神奇吧。

你可能感兴趣的:(addr$k%s)