2013-09-26 39 views
-1

我现在正在为一款游戏的“反热”工作(仅仅为了好玩,我不是程序员:D)。所以,我想做一些事情来阻止玩家操纵/注入记忆到游戏过程(使命召唤4)。VB.NET检测内存操作?

我已经试过了解一些有关的信息,而我在互联网上发现的所有东西都是创建一个CRC32或检查十六进制校验和。 有人可以帮助我做到这一点?没有其他方法吗?

这是我发现: http://www.slavasoft.com/fastcrc/samples/vb_net_sample_checksum_crc32_file.htm http://www.vbforums.com/showthread.php?342839-VB-Net-CRC32-HashAlgorithm

对不起我的英文不好我是意大利和感谢你:d

+1

这是非常棘手的,因为A)你必须识别代码与数据内存分配。游戏数据将一直在变化; B).NET不直接提供对存储器的本地访问; C)我不相信你可以访问另一个进程的内存,而不用作为操作系统的一部分运行(例如作为驱动程序)。我可能是错的; D)使命召唤4可能会写入代码块(例如,为了防止黑客入侵...这在几年前我对这个主题感兴趣时很常见)。 –

+0

您可以使用ReadProcessMemory访问内存,但校验和将无用,因为程序正常功能会更改数据内存,并且检查加载的DLL是毫无意义的,因为可以通过编辑数据内存来执行合理数量的作弊。 – user1937198

回答

0

您将需要下去逆转和antireversing。看到这里一些技术http://www.symantec.com/connect/articles/windows-anti-debug-reference。 我认为在托管语言上做这些事情很难。您将需要完全访问内存和一些组装知识。

+0

so ...用VB.net做成的东西是不可能的,所以...你能帮我建立一个crc32函数/ hex校验和吗?而且我认为有可能通过这个函数获得与某个进程相关的所有模块? http://msdn.microsoft.com/en-us/library/windows/desktop/ms682621(v=vs.85).aspx – KLi

+0

所以...你有什么建议? – KLi

+0

我会建议学习C和一些大会。它非常有趣的研究领域。但是你要完成的事情并不是那么容易完成的。但是如果你以前不成为程序员,你不能做这种事情,你必须知道如何编写代码。祝你好运。 –