我需要在程序集中复制命令行参数吗

我使用 fasm 但也许这个问题不依赖于汇编语言版本。命令行参数字符串存储在哪里?我需要在程序启动时复制这个字符串还是保证它无限期地存在?我的程序中的缓冲区溢出等可以覆盖原始文件吗?

回答

命令行参数是进程环境块 (PEB) 的一部分,在进程启动后不会更改。您可以通过 访问命令行GetCommandLineW,也可以自己解析参数。也存在CommandLineToArgvW为你做一些解析的。

字符串数据在可写内存中,所以是的,如果您有修改一个参数的错误/不安全代码,其中的溢出可能会修改另一个参数。


以上是我需要在程序集中复制命令行参数吗的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>