Csharp/C#教程:检测对进程的内存访问分享


检测对进程的内存访问

我正在尝试检查一个应用程序是否试图操纵一个特定的进程(例如,挂钩它自己)。 我找不到一个合适的方法来实现这一目标。 是否可以计算运行过程的校验和? 如果不是我怎么能检测到这种情况?

其他进程无法在你的进程中挂钩,可以修改内存但是要挂钩这段代码必须在你的地址空间中,这可以做到在启动时向你的进程注入DLL(在运行时注入dll是一个很难的) ,您可以通过在您的过程中列出DLL并在其代码中搜索一些ReadProcessMemoryWriteProcessMemoryOpenProcessCallNextHookEx函数调用来轻松检查这一点。 为此,在代码中获取函数和搜索值的地址( GetProcAddress )(您可以为紧密范围结果添加一些asm call预测)。

你可以检查你的PE文件在磁盘和内存中出了什么问题 ,当启动时注入DLL时,你的PE文件被复制到文件中的内存应该被破坏,在最后一个dll库你应该用你的覆盖调试符号额外的DLL导入。 此修改可以在文件中与内存中相同地完成。

使用C#语言时,最好的方法可能不容易,但是会混淆代码 。 我认为这是一个很好的方法,因为你不会挂钩你不知道如何工作的东西 ,因为你不知道你必须做什么钩子以及在哪里。 但是对于好的混淆C#代码,你必须找到好的软件,并且可能支付不低的价格。

上述就是C#学习教程:检测对进程的内存访问分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/1026412.html

(0)
上一篇 2022年1月9日
下一篇 2022年1月9日

精彩推荐