标题: x64dbg为目标程序指定命令行参数 https://scz.617.cn/misc/202205081348.txt "X:\path\x64dbg.exe" "C:\Windows\System32\notepad.exe" "X:\path\x64dbg.exe" -p 指定PE文件名启动调试时,必须使用绝对路径,即使相对路径使用点号,也不行。 当前目录不是想像中的".",而是"C:\Windows\System32",用Process Explorer看到 的。为了让notepad打开当前目录中的some.txt,可以用绝对路径指定some.txt,也 可以用绝对路径显式指定当前目录,这是x64dbg的幺蛾子。 "X:\path\x64dbg.exe" "C:\Windows\System32\notepad.exe" "X:\CodeVirtualizer\scz\some.txt" "X:\path\x64dbg.exe" "C:\Windows\System32\notepad.exe" some.txt "X:\CodeVirtualizer\scz" 目标PE命令行参数有多个时,必须用双引号包起来,必要时使用反斜杠转义。不用双 引号包起来,目标PE的argv[2]会被解释成当前目录。换句话说,目标PE只能有 argv[1],有多个参数时,用双引号包起来放在argv[1]这个位置。 "X:\path\x64dbg.exe" "X:\CodeVirtualizer\scz\cvtest2_p.exe" "0x51201314 \"I promised you\" 0x61" GUI操作也可以指定目标PE的命令行参数 -------------------------------------------------------------------------- File Open (F3) "X:\CodeVirtualizer\scz\cvtest2_p.exe" Change Command Line "X:\CodeVirtualizer\scz\cvtest2_p.exe" 0x51201314 "I promised you" 0x61 -------------------------------------------------------------------------- GUI操作时不必考虑转义符的事,查看"X:\path\db\",此目录下新生成 cvtest2_p.exe.dd64 cvtest2_p.exe.dd64.cmdline .cmdline文件优先级很高,除非再次GUI修改之,否则一直生效,之后即使x64dbg命 令行只指定目标PE,也会使用.cmdline文件。为了回到原始状态,删除db目录下的所 有文件。