问题标签 [format-string]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - C 中的 %n 格式说明符有什么用?
C中的%n
格式说明符有什么用?任何人都可以用一个例子来解释吗?
c - 你知道 %#x,C 语言格式的字符串吗?
有点奇怪。尖锐是什么意思?
python - data="@/some/path" 在 Python 中是什么意思?
这是来自我正在查看的一些代码......我认为这是一种特殊的格式字符串,它将路径中的文件加载到分配给数据的二进制字符串中,但我不确定何时尝试复制它我得到的只是一个标准字符串。或者它实际上是一个标准字符串,我读得太多了?
c - printf 转换规范的大小限制
printf
转换规范%
后跟标志、宽度、精度、长度修饰符和转换说明符。转换规范的大小是否有实际限制?
即%s
2 个字符长,而%08.2f
6 个字符长。我的问题是,根据 C99 标准,可以创建的格式字符串中的最大单个规范的长度是多少?
c - What does an 'F' in the Format specifier of printf mean?
What does %.8Ff
format specifier in printf do?
What does F
mean?
string - 调用 printf() 编辑可执行文件
我试图“破解”一个控制台程序,迫使它显示一些东西。问题是我无法打印换行符 ( \r\n
)。使用 disassebler 我找到了这个地方并编辑了二进制文件:
正如我所说,我无法打印换行符。我尝试"\r\n"
在格式字符串中进行编码(所以它变成"%s\r\n"
,就像我在 C 中所做的那样)并打印"Hi guys\r\n"
,并在字符串本身中对其进行编码(制作它"Hi guys\x13\x10"
)并获取"Hi guys"
两个奇怪的字符,可能是 0x13 和 0x10 的 ASCII 表示。
c - 如何在格式字符串攻击中将值写入地址
我正在学习安全课程,需要我们对 unix 虚拟机进行格式字符串攻击。该漏洞是使用命令行参数的格式字符串。
我的问题是如何将值写入格式字符串的地址(例如将 shell 代码地址写入函数返回地址)?
例如,我尝试将值 987654 写入返回地址位置 0xaabbccdd。我尝试了一些类似的字符串"AAAA_%10$x"
,这可以导致程序打印AAAA_41414141
。
然后我用我的地址替换字母并尝试覆盖它。
但它不起作用。我看到一篇文章说我应该使用较小的数字,%54321x
因为我已经写了一些字符,但我也不知道我以前写过多少个字符%54321x
。
注意:环境有老版本的gcc,不用担心值太大。有什么建议么?谢谢。
python - 转义 html %20
我正在用 Python 做一些事情,我需要从 URL 中的空格 %20 中转义。例如:
所以我需要使用 %20 作为 URL,然后使用 %d 作为数字。但我得到这个错误:
我知道问题出在哪里,我只是不知道如何摆脱 %20 并修复它。
algorithm - 反转 sprintf/format 的方法
我必须通过分析格式化结果来启发式地确定格式模式字符串。
例如我有这些字符串:
您有3条未读消息。
您有10条未读消息。
对不起,戴夫。恐怕我做不到。
对不起,弗兰克。恐怕我做不到。
这种说法是错误的。
我想派生这些格式字符串:
您有%s 条未读消息
对不起,%s。恐怕我做不到。
这种说法是错误的。
哪些方法和/或算法可以在这里帮助我?
我的第一个想法是使用机器学习的东西,但我的直觉告诉我这可能是一个相当经典的问题。
一些额外的要求:
%s
参数的类型无关紧要,即如果参数最初是,或者%d
如果它被填充或对齐,我不需要信息。- 可以有多个参数(或根本没有)
- 通常,数据由数千个格式化字符串组成,但只有几十个格式模式。
c# - 如何在不乘以 100 的情况下在 FormatString 中使用百分比?
我想将整数格式化为百分比,而不用乘以 100,如此处所示。因为我的源是一个 int,所以将它除以 100 不是一个有效的选项。这可能吗?