[英]Do I need to copy command line arguments in assembly
我与 fasm 合作,但也许这个问题不依赖于汇编语言版本。 命令行 arguments 字符串存储在哪里? 我需要在程序启动时复制这个字符串还是保证它无限期地存在? 我的程序中的缓冲区溢出等可以覆盖原始文件吗?
命令行 arguments 是进程环境块 (PEB)的一部分,在进程启动后不会更改。 您可以通过GetCommandLineW
访问命令行,也可以自己解析 arguments。 还存在CommandLineToArgvW
可以为您进行一些解析。
字符串数据在可写的 memory 中,所以是的,如果您有修改一个 arg 的错误/不安全代码,其中的溢出可能会修改另一个。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.