【发布时间】:2019-02-25 19:47:14
【问题描述】:
好的,这很奇怪。我需要在 vb.net(不是我的应用程序)中获取进程的基地址。为了深入研究另一个进程的内存(在将其编码到 vb.net 之前探索我需要的值),我使用了作弊引擎。作弊引擎给了我这样的地址:
Client.exe + 00BBD310
这里的问题是,每当我重新运行程序时,Client.exe 地址都会发生变化。我已经在我的代码中声明了该过程,所以我尝试了这个:
bAddress = handle_s.MainModule.BaseAddress
handle_s 是有问题的进程。这里的问题是我在 bAddress 中获得的值不是作弊引擎“Client.exe”所代表的值 - 我可以向后工作以找出作弊引擎所指的内容,因为它告诉我上面的总和是,但是随着每次值的变化,我需要一种方法来简单地获取 vb.net 中的值。
欢迎任何意见/建议。
【问题讨论】:
-
这不是
00BBD310偏移量吗?含义 Module.Address +BBD310. -
@Jimi 确实只是一个偏移量。在作弊引擎中,我可以看到基地址 + 偏移量等于多少。由此我可以重新排列方程以获得作弊引擎中的基地址。这个值不等于 module.Baseaddress 这是我的问题
-
我应该补充一点,我是 Fraserofsmeg。我的移动帐户和桌面帐户不会同步!
-
在不知道
Client.exe的情况下很难说些什么。你确定这个可执行文件只有一个进程吗?另外,你能说(作弊引擎)显示的地址实际上是主模块入口点,而不可能是另一个地址引用吗?标题偏移量,也许。除非您一开始没有正确计算偏移量:对齐可能很棘手。您可以使用从Process.GetProcessByName()获得的地址搜索您拥有的值,看看您是否能理解作弊引擎指向的地址。无聊的程序,我知道。 -
可能是ASLR
标签: vb.net process cheat-engine base-address