dll注射 – Dll注射 – 有什么可能吗?

最近我正在浏览互联网,当我绊倒了Dll注射.

我认为它是一个有趣的话题,但我不知道它的目的是什么?

我已经看到它可以用于破解/黑客游戏和软件,但也可以做一些积极的事情吗?

如果是,可以用什么?

什么语言支持这个?

为了纪录,我不会尝试和破解/黑客任何游戏的知识获得,不打算做一些非法的!

谢谢你的时间,

Emerion

ps:关于这个问题的网站/书籍将不胜感激!

有几个用处我想到:

>热补丁:允许您更新/修补代码部分,而无需实际关闭进程或重新启动.微软本身确保Windows的大部分是通过使用5字节nop块前缀的功能进行热补丁的.为什么?因为您可以以5个字节将JMP发送到代码的任何其他部分,所以热补丁基本上将带有JMP的前缀字节覆盖到更新/修补的代码,瞧,您的代码做了全新的事情.这通常与DLL注入一起用于将新代码加载到目标进程中,而不是强制性的,它是其中的一个用途
>日志记录:同样的精神,迂回代码通常用于为记录目的而前缀一个函数,即查看它被称为什么参数.此外,一些记录DirectX应用程序的屏幕输出的应用程序通过迂回DirectX调用来执行此操作,DirectX调用再次将DLL注入到监视调用的进程中.
> Subclassing:不是在OOP的意义上,但在Windows的意义上,即为现有的窗口提供一个新的WndProc来改变它的行为.虽然您可以通过SetWindowLongPtr简单地设置不同的消息处理例程,但限制因素是该功能需要驻留在目标进程地址空间中.这是再次注入的地方 – 您在DLL中提供了一个新的实现,将其注入到目标进程中并调用SetwindowLongPtr.例如,这可以用于在外部窗口上提供自定义的附加图形.

以前我个人不得不处理以上所有上述用例,在正常业务应用中,使用热补丁来确保医疗服务关键通知系统的正常运行时间,以绕行/记录方式进行专有记录管理(由一个已经死了的软件商店)与实时的全面的CRM解决方案进行交谈.

和往常一样,它只是一个工具在你的盒子里,没有什么本质上是“邪恶的”.这是为了你使用它的任何目的.

相关文章

Windows注册表操作基础代码 Windows下对注册表进行操作使用的...
黑客常用WinAPI函数整理之前的博客写了很多关于Windows编程的...
一个简单的Windows Socket可复用框架说起网络编程,无非是建...
Windows文件操作基础代码 Windows下对文件进行操作使用的一段...
Winpcap基础代码 使用Winpcap进行网络数据的截获和发送都需要...
使用vbs脚本进行批量编码转换 最近需要使用SourceInsight查看...