我有一个问题,我不知道如何在C#中可能做。所以我有一个运行的进程,但启动后,我删除执行文件或交换/修改它。如何才能获取正在运行的进程文件内容并从中生成md5散列?我可以得到进程列表,但是我不能得到它的上下文。你能给予我一些提示或者密码吗?我试着在google /etc中找到答案,但不幸的是我没有找到解决方案。非常感谢。
b4lqfgs41#
不幸的是,我认为你的问题没有解决方案,因为地址空间布局随机化和其他的安全和非安全特性,你永远不会得到可靠的结果。
hpxqektj2#
你试过这个吗?
Process.GetCurrentProcess().Modules[0].FileName
jjhzyzn03#
在后台运行powershell并从以下脚本获取输出:
foreach ($proc in get-process) { try { Get-FileHash $proc.path -Algorithm MD5 -ErrorAction stop } catch { $proc.name | out-file c:\error.log -Append } }
ecbunoof4#
你尝试转储进程与windows(或visual studio工具),并检查哪些字节存在里面...我将开始与该选项对于我的需要https://github.com/glmcdona/Process-Dump创建最相似的可执行文件不一样,但大多数字节内的主体正确。
4条答案
按热度按时间b4lqfgs41#
不幸的是,我认为你的问题没有解决方案,因为地址空间布局随机化和其他的安全和非安全特性,你永远不会得到可靠的结果。
hpxqektj2#
你试过这个吗?
jjhzyzn03#
在后台运行powershell并从以下脚本获取输出:
ecbunoof4#
你尝试转储进程与windows(或visual studio工具),并检查哪些字节存在里面...我将开始与该选项
对于我的需要https://github.com/glmcdona/Process-Dump创建最相似的可执行文件不一样,但大多数字节内的主体正确。