gpt4 book ai didi

windows - 使用 _RTL_USER_PROCESS_PARAMETERS

转载 作者:可可西里 更新时间:2023-11-01 10:48:49 26 4
gpt4 key购买 nike

我正在与 PEB 合作。我已经设法进入 _RTL_USER_PROCESS_PARAMETERS。我的目标-> 仅通过使用二进制文件(.exe 文件)来了解 argc 和 argv 的内存地址。(如果可能的话,它们的值也是如此)我当前的方法-> 访问命令行字符串(位于结构 _RTL_USER_PROCESS_PARAMETERS 内。

我通过在 C 程序中嵌入 asm 设法进入了它

mov eax:fs[0x30]
mov [PEBaddress] , eax

mov ebx, [eax+0x10]
mov [ProcessParameters] , ebx

我通过在 windows 调试器下研究二进制文件得到了偏移量 0x30 和 0x10

现在在 Processparameters 地址的 0x40 偏移处是字符串命令行,我认为它是一个缓冲区,我进一步相信它保存着 argc 和 argv 的值。

问题:我想读取那个缓冲区,并获取 argc 和 argv 的地址值(传递给进程的命令行参数)任何人都可以通过向我提供读取缓冲区(因为它是 Unicode 字符串)并获取所需地址的代码来实现这一点。

还有其他方法可以完成这项工作吗?(你也可以建议我,不要让我选择在 main 中打印 argc 和 argv 的地址)我想要静态答案。

最佳答案

Windows 不会将 argcargv 传递给程序。它以字符串形式传递完整的文字命令行。如果所讨论的程序甚至是 C 程序,则此解析由嵌入该程序的 C 运行时库完成。

关于windows - 使用 _RTL_USER_PROCESS_PARAMETERS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12980325/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com