问题描述
我使用的是 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 的程序。
那么我如何编码以获取此图像基地址?
解决方法
我让它与此代码一起工作:
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