如何计算包含字符串片段的x86 Linux shellcode总字节数
字节数计算规则说明
你提到的//sh、/bin中的所有字符都是ASCII可打印字符,在C语言字符串中每个占1字节,统计规则和\x开头的十六进制转义字节完全一致,相邻的双引号包裹的字符串会被C编译器自动拼接,不会产生额外字节。
逐行统计结果
- 第1行
"\x31\xc0":2字节 - 第2行
"\x50":1字节 - 第3行
"\x68""//sh":\x68占1字节 + 4个ASCII字符各1字节,合计5字节 - 第4行
"\x68""/bin":\x68占1字节 + 4个ASCII字符各1字节,合计5字节 - 第5行
"\x89\xe3":2字节 - 第6行
"\x50":1字节 - 第7行
"\x53":1字节 - 第8行
"\x89\xe1":2字节 - 第9行
"\x99":1字节 - 第10行
"\xb0\x0b":2字节 - 第11行
"\xcd\x80":2字节
总字节数
所有段加和总长度为 24字节,并非你猜测的18字节。
内容的提问来源于stack exchange,提问作者Alureon
相关产品推荐
相关产品推荐

