簡體   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