0

我正在使用 Visual Studio 2019 - Visual Basic。

我正在尝试通过代码查找程序的基地址。我已经知道基址,但我需要我正在制作的程序自己找到它。

我使用它,它显示了来自模块的很多地址:

Dim target As Process = Process.GetProcessesByName("The Program")(0)
For Each mo As ProcessModule In target.Modules
    ListBox1.Items.Add(mo.BaseAddress.ToString())

    'MsgBox(Hex(mo.BaseAddress.ToString()))
Next

(我从上面的代码中重命名了程序的名称,以防程序出现版权问题。)

我正在尝试获取基地址 我的基地址是:

Base Address in Hex = 00007FF7BE6B0000
Base Address in Dec = 140702028333056

当我运行上面的代码时,它列出的地址都不是我拥有的基地址。

我使用 PE 编辑器查看程序的基地址。我使用了一个来自 GitHub的名为PE Tools的程序。

那么如何编码来获取这个图像基地址呢?

4

1 回答 1

0

我让它与这段代码一起工作:

Dim p As Process = Process.GetProcessesByName(GetCurrentProcessName)(0)
For Each moz As System.Diagnostics.ProcessModule In p.Modules
    If moz.FileName.IndexOf(GetCurrentProcessName) <> -1 Then
      Hex(moz.BaseAddress.ToString)
    End If
Next
于 2021-04-25T15:22:37.293 回答