Update 3.1.1_format_string.md

This commit is contained in:
Firmy Yang 2020-02-03 13:10:41 +08:00 committed by GitHub
parent 95fe0c40c6
commit 4623496dcf
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1108,7 +1108,7 @@ gdb-peda$ x/4wb 0xffffd538
$ python2 -c 'print("\x38\xd5\xff\xff"+"\x39\xd5\xff\xff"+"\x3a\xd5\xff\xff"+"\x3b\xd5\xff\xff"+"%104c%13$hhn"+"%222c%14$hhn"+"%222c%15$hhn"+"%222c%16$hhn")' > text $ python2 -c 'print("\x38\xd5\xff\xff"+"\x39\xd5\xff\xff"+"\x3a\xd5\xff\xff"+"\x3b\xd5\xff\xff"+"%104c%13$hhn"+"%222c%14$hhn"+"%222c%15$hhn"+"%222c%16$hhn")' > text
``` ```
其中前四个部分是 4 个写入地址,占 4*4=16 字节,后面四个部分分别用于写入十六进制数,由于使用了 `hh`,所以只会保留一个字节 `0x78`16+104=120 -> 0x56、`0x56`120+222=342 -> 0x0156 -> 56、`0x34`342+222=564 -> 0x0234 -> 0x34、`0x12`564+222=786 -> 0x312 -> 0x12。执行结果如下 其中前四个部分是 4 个写入地址,占 4*4=16 字节,后面四个部分分别用于写入十六进制数,由于使用了 `hh`,所以只会保留一个字节 `0x78`16+104=120 -> 0x78、`0x56`120+222=342 -> 0x0156 -> 0x56、`0x34`342+222=564 -> 0x0234 -> 0x34、`0x12`564+222=786 -> 0x312 -> 0x12。执行结果如下
```text ```text
$ gdb -q a.out $ gdb -q a.out