首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >确定远程应用程序访问/更改的内存/值?

确定远程应用程序访问/更改的内存/值?
EN

Stack Overflow用户
提问于 2013-02-26 21:13:22
回答 1查看 72关注 0票数 0

让我们举一个例子,这个例子在IT世界中随处可见:

我们有一个游戏,例如纸牌,有人制造和释放一个教练为它,你的动作总是'0‘。

我如何编程确定哪些附件和哪些价值观的“黑客”改变?

如果有可能的话,最好的方法是什么?

  • 从游戏中注入/加载我自己的dll?
  • 用我自己的进程拦截黑客和目标进程之间的通信?

我问这个问题是因为两件事:

  • 保护应用程序不受“黑客攻击”(至少受到脚本孩子的攻击)
  • 逆向工程教练(这样你就不必重新发明轮子 /避免NIH综合症)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-26 21:20:02

你不能。一些失败的尝试可能设置两个地址,然后比较它们(他们会找到另一个地址)。或者他们可以简单地删除您的比较调用。

它们可以更改用于“编程确定”的任何保护函数,以始终返回错误的结果。他们可以对你的可执行文件做任何事情,所以没有办法。

除非您挂起打开进程以修改内存的内核函数。但这也是易碎的,如果我没有错,你需要让你的“保护内核驱动程序”现在数字签名。

在每个正在运行的进程和新生成的进程中加载DLL还有另一种方式(这可能会提醒防病毒程序您的程序是病毒),使用该DLL您可以将OpenProcess挂起(如果有另一种选择,也可以)在每个进程中运行,并检查它是否针对您的程序,如果是这样,则阻止它。搜索函数挂钩。我相信有一种叫“Detour女士”的东西。

尽管如此,这场游戏甚至不会接近安全。

总之,没有办法是好的保护您的游戏本地。如果您正在存储分数或其他东西,您应该创建一个服务器程序,客户端应该报告每一个移动到服务器。

即使这样,他们也可以创建一个机器人来自动响应服务器。那么,你能做的最好的就是以某种方式验证这是一个正在玩的人。(也许是卡普查,或者把解题速度与人的平均速度进行比较?)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15099368

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档