C#学习教程:检测对进程的内存访问我找不到合适的方法来实现这一目标。是否可以计算正在运行的进程的校验和?如果不是,我怎么能检测到这种情况?其他进程不能在你的进程中挂钩,可以修改内存但是要挂钩这段代码必须在你的地址空间中,这可以通过在启动时向你的进程中注入一个DLL来完成(在运行时注入一个dll是非常困难的),您可以通过在您的进程中列出DLL并在其代码中搜索一些ReadProcessMemory、WriteProcessMemory、OpenProcess、CallNextHookEx函数调用来轻松检查这一点。为此,获取函数的地址并在您的代码中搜索值(GetProcAddress)(您可以添加一些asm调用预测以获得小范围结果)。您可以检查磁盘和内存中的PE文件有什么问题,当启动时注入dll时,将PE文件复制到文件中的内存应该已损坏,在最后一个dll库中,您应该用附加DLL覆盖导入调试符号。这种修改可以像在内存中一样在文件中完成。在使用C#语言的时候,最好的办法可能不是简单,而是混淆代码。我认为这是一个很好的方法,因为您不会挂钩一些您不知道如何工作的东西,因为您不知道必须挂钩什么以及在哪里。但是对于好的混淆C#代码,您必须找到好的软件,并且可能要付出合理的代价。以上就是C#学习教程:检测进程内存访问及全部内容分享。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权请点击右侧联系管理员删除。如需转载请注明出处:
