问题标签 [cheat-engine]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - C++:从注入的 DLL 读取内存的好方法是什么?
我是这个专业领域的新手,所以我不完全确定......我知道你有两个功能: WriteProcessMemory 和 ReadProcessMemory ,但内部情况不同......我对指针也不够熟悉还没有自己做——但如果你能帮我评论一下,我想我会没事的:)。
那么,读取内存的最佳方法是什么?
顺便说一下,这是我的写记忆功能:
pointers - 转换作弊引擎基地址
我找到了一个内存地址并使用作弊引擎的指针扫描来获取引用指针。要在脚本中使用它,我需要一个基地址,即[game.exe+009274]
. 如何将其转换为用于 AutoIt 脚本的地址?
debugging - 作弊引擎 vs Ollydbg
除了一个用于游戏作弊而另一个是调试器之外,这两个程序之间有什么区别?我知道 Cheat Engine 是一个内存编辑器。但是 Ollydbg 究竟做了什么?它只编辑.exe文件吗?
java - 静态内存地址会随着不同的计算机而改变吗?
我一直在搞乱作弊引擎,我正在尝试学习如何作弊(对于非常基本和简单的视频游戏)。到目前为止,我知道有静态和动态内存,要获得静态内存,你必须做所有这些奇怪的指针东西。我有点困惑,因为我知道有些东西可以在不同的计算机上工作,比如瞄准机器人。无论计算机如何,静态内存地址都相同吗?如果没有,有人可以告诉我这是如何工作的吗?附言。我可以直接使用 Java 更改内存吗?
arrays - 将整数转换为字节数组
我正在尝试将 10 位的整数值转换为字节,但该函数只返回 4 个值,我需要 6 个点,如何解决?
我用来将整数转换为字节的函数
函数返回我
8B FF 55 8B
返回的值, 但我需要更多 2 个值
欧共体 51
该函数应该返回我
8B FF 55 8B EC 51
windows - 内存复制模块的大小而不需要永远?
我一直在尝试将内存从一个模块复制到一个模块大小,而不需要 5 年的时间,而且我的计算机的 CPU 比天空还高。
我放在一起的这个脚本在 Cheat Engine LUA 中,它通过读取复制内存,然后在一行上打印每个字节,以便我可以使用它来写入分配的空间(memcopy // newmem2):
我基本上是在尝试在分配的空间中重新创建确切的模块(我不在脚本中编写内存)。
非常感谢您的帮助!
c++ - C++ 无法读取内存地址
我正在创建一个简单的 HACK 仅用于教育目的。一个简单的 Triggerbot,它从内存中读取玩家瞄准敌人 YES = 1 或 NO = 0 的值。我已经做了一些其他类似的 HACKS 但我从未发现这个问题.. 在彩虹六号围攻中,我有静态或动态的内存地址但是作弊引擎读得很好,但是当我尝试从我的 C++ 程序中读取它时,它不起作用。不知道为什么它可以与其他游戏一起使用。我对此很陌生,也许我做错了什么。
这是简单的代码 Find the Window by name, 得到它的 PID 没问题。OpenProcess 然后当我用进程调用方法 ReadProcessMemory 时,通过参数的地址指针值无法读取它打印 if 条件并且永远不会读取值的 else 。
如果我从 If 条件中删除该函数只是为了测试是否至少指向它给出一些随机值的东西......很奇怪我无法读取内存它总是有效::(有人可以帮我吗?它是一些安全软件之王或什么的?
ida - 通过反汇编程序更改窗口的宽度和高度
好吧,我有 IDA 和作弊引擎。我想要做的是改变应用程序的分辨率,实际上只是窗口的宽度和高度。我知道仅更改宽度和高度不会使应用程序正常工作,但这是我了解反汇编程序的第一步。经过不长时间的搜索,我找到了函数 CreateWindowEx。好吧,看起来我找到了应用程序创建窗口的位置,
好push 1E0h
= 480 和push 280h
= 640。嗯,看起来我找到了宽度和高度,所以我得到了恒定的地址,让我们尝试改变它们。(实际上通过搜索,我发现了另外两个具有此常量的位置。但它们都没有用于创建窗口,并且由于我只是尝试更改窗口高度和宽度,因此我将使用那些)。运行应用程序并作弊引擎。
十六进制值:280 (1E0) 扫描类型:精确值类型:4bytes
第一次扫描:找到 33
查看地址列表,其中没有一个甚至接近我们在 IDA 中的地址。如果我理解正确,因为作弊引擎从用于运行应用程序的内存中获取地址,而 Ida 分析代码并在其中找到地址。我不知道我说的是对还是错,你这边的任何解释都会很好。但问题不在于它。
好吧,让我们手动添加地址。好的,我们知道了,这个地址上的值是 163944。什么?让我们看一下十六进制:00028068。嗯,我看到了 280,但 68 是从哪里来的?让我们看一下高度:122984->0001E068。
所以现在我有一个问题,为什么会这样?这68到底是哪里来的?1E0 不是 1E068 的后续。我错了吗?任何我错过的建议。
好吧,让我们走得更远,让我们尝试改变它。好吧,我用十六进制绑定了两个变体:50068 和 3C068。如果没有 68,它实际上应该是怎样的(在我看来 :))。它们都不起作用,我认为这可能是因为应用程序稍后通过指针使用常量(我认为,但可能我错了)。所以我也需要改变指针。让我们找出访问此地址的内容。好吧,现在我遇到了一个问题,在简单的变体中,要找出访问此地址的内容,您只需要更改应用程序中的条件,比如说 value=5,单击按钮更改 value=3,然后作弊引擎找到有什么访问该地址。但是在我的情况下,窗口已经创建,我不知道如何获取此列表。所以现在我有点卡在这一点上。可能是我错过了什么。
unity3d - 游戏中的反作弊/故障
目前,我正在与一个基于 Unity 的游戏的团队合作。游戏仍处于开发阶段和 alpha 版本。
最近,我们发现该游戏存在作弊引擎、speedhack 等漏洞。更新后的更新,作弊现在稳定了。我们还介绍了 Unity 的 ACT 或反作弊工具包。由于游戏是基于 Unity 的,因此很容易在游戏中实现想法。
尽管“黑客”已经稳定,但“故障”却没有。
这是一个开放世界的生存游戏,它由拾取/丢弃物品组成。问题是当两个玩家一起拾取物品时(目前你必须在十字头在物品上方时按 E 才能拾取它)该物品会被复制。我们一直在努力修复它,但没有运气。
我们介绍了当附近有其他玩家时,玩家无法拾取物品。它看起来很奇怪,我们希望游戏流畅。我们还尝试了自动拾取物品。这是我们的计划,但我们还有什么想法可以做吗?
memory - 在游戏中找到特定的内存位置?
我正在使用作弊引擎来查找游戏内存中某些属性的存储位置。例如 - 我的球员的健康。最终,我想编写一个程序,该程序将知道在内存中查找的位置,以便我的程序可以根据当前的游戏状态做出决定。我可以并且已经找到某些东西存储在内存中的位置,问题是每次打开游戏时内存位置都会改变。我需要做什么才能使我的程序可以解决不断变化的内存位置?