![]() |
1
1
不是说这是不可能的,但由于进程将使用的动态内存分配例程包括新操作符和malloc(),这实际上是太多的工作。此外,当可执行文件导入的DLL加载到内存中时,它们具有首选的imagebase,但如果该地址已被使用,则操作系统会将其加载到不同的内存位置。此外,可以在进程上启用地址空间布局随机化(ASLR),这是一种将代码段的内存地址随机化的安全措施。 解决你的问题比你所问的要容易得多。要解决上述动态内存分配问题,您仍然可以利用以下方法解析变量的正确地址:
作弊引擎内置了这三个功能。将地址保存到表中时,通常会将其保存为模块+相对偏移量。您可以用指针扫描地址并将其另存为多级指针,也可以自己反转指针并手动将其放入表中。模式扫描是通过使用CE脚本实现的,您可以将其放在作弊表中。 在这种情况下,ammo变量可能是一个“静态地址”,这意味着它相对于模块的基址。您可能会在作弊引擎中看到它被列为“client.dll+0xDEADCODE”。您只需在运行时获取模块的基址并添加相对偏移量。 如果您想在C++中进行外部黑客攻击,可以这样开始。 在外部黑客中,可以通过遍历ToolHelp32Snapshot来实现这一点:
要获取进程ID,请执行以下操作:
使用我的示例,您可以组合这些函数并执行以下操作:
如果地址不是“静态”的,您可以找到指向它的指针,指针的基址必须是静态的,然后您只需按照上面的指南,取消对指针每一级的引用并添加偏移量。 当然,我也有一个函数:)
我强烈建议观看一些Youtube教程,看看它是如何完成的,更好地用视频格式进行解释。 |
![]() |
CocoaMix86 · 变量超出作用域后未回收内存[重复] 4 月前 |
![]() |
Yousef Dawood · javascript中的不变性是什么意思 10 月前 |
![]() |
SkyBlue · Java Spring服务的内存/垃圾收集器问题 11 月前 |
![]() |
f99 · 需要在内存位置使用指针-bad_alloc返回对象实例的建议吗? 12 月前 |