如何用C#实现一个程序注入另一个程序

如何用C#实现一个程序注入另一个程序,第1张

我这里有个例子

System.Diagnostics.ProcessStartInfo Info = new System.Diagnostics.ProcessStartInfo()

//设置外部程序

Info.FileName = "eclipse.exe"

//设置外部程序工作目录为 C:\

Info.WorkingDirectory = @"D:\常用软件\eclipse"

//最小化方式启动

Info.WindowStyle = System.Diagnostics.ProcessWindowStyle.Minimized

//声明一个程序类

System.Diagnostics.Process Proc

try

{

Proc = System.Diagnostics.Process.Start(Info)

System.Threading.Thread.Sleep(500)

}

catch (System.ComponentModel.Win32Exception)

{

return

}

这个东西,不是C语言能实现的,

你必须好好学学WinSDK,调用Win32接口函数,去实现..C语言虽然强大,但没强大到异想就能天开的地步!!!

那得去找比尔盖茨,只有他有那1000多个,Win Api的内部实现代码,不过那是他的命根子,估计杀了他,他也不会拿出来的..

要真去理解它的内部实现,估计 成千上百个奇形怪状的结构,莫名奇妙的宏,面目可憎的指针的指针的指针的地址的指针就能吓死人了..算法就不提了.

可以自己写程序加壳,要注意PE文件的格式。

可能需要修改PE文件的头部某些字段,而且还要用到汇编代码的,最后把写的汇编的二进制数据写入这个PE文件,以前看过一点简单的注入代码的,网上应该有很多教程的。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11598271.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存