繁体   English   中英

我是否需要在程序集中复制命令行 arguments

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM