Mat*_*hew 60 c security string format
我有一个小问题.我知道%x格式说明符可用于在格式字符串攻击中从堆栈中读取值.
我找到了以下代码:
%08x%08x%08x%08x
Run Code Online (Sandbox Code Playgroud)
08是什么意思?它到底在做什么?谢谢 :)
son*_*ave 115
分解:
8 说你要显示8位数0你想用0's而不是空格前缀x 您想要以小写十六进制打印.简单的例子(感谢Grijesh Chauhan):
#include <stdio.h>
int main() {
int data = 29;
printf("%x\n", data); // just print data
printf("%0x\n", data); // just print data ('0' on its own has no effect)
printf("%8x\n", data); // print in 8 width and pad with blank spaces
printf("%08x\n", data); // print in 8 width and pad with 0's
return 0;
}
Run Code Online (Sandbox Code Playgroud)
输出:
1d
1d
1d
0000001d
Run Code Online (Sandbox Code Playgroud)
另请参阅http://www.cplusplus.com/reference/cstdio/printf/以供参考.
| 归档时间: |
|
| 查看次数: |
188312 次 |
| 最近记录: |