什么是windows上的代码注入?

代码注入在Windows上很常见。应用程序将自己的代码片段“注入”到另一个正在运行的进程中,以修改其行为。这项技术可以用来做好事或坏事,但无论哪种方式,它都可能导致问题。...

什么是windows上的代码注入?

代码注入在Windows上很常见。应用程序将自己的代码片段“注入”到另一个正在运行的进程中,以修改其行为。这项技术可以用来做好事或坏事,但无论哪种方式,它都可能导致问题。

代码注入通常也称为DLL注入,因为注入的代码通常是以DLL(动态链接库)文件的形式出现的。然而,应用程序也可以将其他类型的非dll代码注入到进程中。

代码注入的用途是什么

代码注入用于在Windows上完成各种技巧和功能。正当程序使用它的同时,恶意软件也在使用它。例如:

  • 反病毒程序通常会将代码注入web浏览器。例如,他们可以用它来监控网络流量和阻止危险的web内容。
  • 恶意程序可能会向您的web浏览器添加代码以更好地跟踪您的浏览,窃取受保护的信息(如密码和信用卡号),并更改您的浏览器设置。
  • Stardock的WindowBlinds为您的桌面设置了主题,它注入了修改窗口绘制方式的代码。
  • Stardock的Fences注入代码来改变Windows桌面的工作方式。
  • AutoHotkey允许您创建脚本并为其分配系统范围的热键,它注入代码来完成这一点。
  • 像NVIDIA的injectdll这样的图形驱动程序可以完成各种与图形相关的任务。
  • 有些程序注入DLL以向应用程序添加额外的菜单选项。
  • 电脑游戏作弊工具经常向游戏中注入代码,以修改游戏行为,并获得比其他玩家不公平的优势。

代码注入不好吗?

Windows上的各种应用程序经常使用这种技术。这是完成各种任务的唯一真正方法。与苹果iOS或谷歌Android这样的现代移动平台相比,Windows桌面如此强大,是因为if为开发者提供了这种灵活性。

当然,伴随着这些力量,也会带来一些危险。代码注入会导致应用程序出现问题和bug。谷歌表示,将代码注入Chrome浏览器的Windows用户,其Chrome崩溃的可能性要高出15%,这就是谷歌正在努力阻止这种情况的原因。微软指出,恶意应用程序可能会利用代码注入来篡改浏览器设置,这也是它在Edge中已经被阻止的原因之一。

Microsoft甚至提供了检查第三方DLL是否加载到Microsoft Outlook的说明,因为它们会导致大量Outlook崩溃。

正如一位微软员工在2004年的开发者博客中所说:

DLL injection is never safe. You’re talking about squirting code into a process that was never designed, built, or tested by the process’s author, and co-opting or creating a thread to run that code. You run the risk of creating timing, synchronization, or resource issues that weren’t there before or exacerbating issues that were there.

换句话说,代码注入是一种肮脏的黑客行为。在一个理想的世界里,会有一个更安全的方法来实现这一点,而不会造成潜在的不稳定。然而,代码注入只是当今Windows应用程序平台的一个普通部分。它经常发生在你的Windows电脑的后台。你可以称之为一个必要的邪恶。

如何检查注入的DLL

您可以使用Microsoft强大的Process Explorer应用程序检查系统上的代码注入。它基本上是一个任务管理器的高级版本,包含了额外的特性。

如果愿意,请下载并运行Process Explorer。单击“视图”>“下窗格视图”>“DLL”,或按Ctrl+D。

什么是windows上的代码注入?

在顶部窗格中选择一个进程,然后在下部窗格中查看已加载的DLL。“公司名称”列提供了筛选此列表的有用方法。

例如,在这里看到“微软公司”生产的各种DLL是很正常的,因为它们是Windows的一部分。在下面的屏幕截图中,同样可以看到DLL是由同一家公司生产的,比如Chrome的“谷歌公司”。

我们也可以在这里找到一些由“AVAST软件”**的DLL。这表明我们系统上的Avast反恶意软件正在向Chrome注入类似“Avast脚本阻止过滤器库”的代码。

什么是windows上的代码注入?

如果在系统上发现代码注入,除了卸载程序注入代码以防止它引起问题之外,您没有什么可以做的。例如,如果Chrome经常崩溃,您可能希望查看是否有任何程序将代码注入Chrome并卸载它们,以防止它们篡改Chrome的进程。

代码注入是如何工作的?

代码注入不会修改磁盘上的底层应用程序。相反,它会等待应用程序运行,并向正在运行的进程中注入额外的代码,以更改其运行方式。

Windows包括各种应用程序编程接口(api),可用于代码注入。进程可以将自身附加到目标进程,分配内存,将DLL或其他代码写入该内存,然后指示目标进程执行代码。Windows不能防止计算机上的进程像这样相互干扰。

有关更多技术信息,请查看这篇解释开发人员如何注入dll的博客文章,并查看Windows上其他类型的代码注入。

在某些情况下,有人可能会更改磁盘上的底层代码,例如,用修改过的DLL文件替换PC游戏附带的DLL文件,以启用作弊或盗版。从技术上讲,这不是“代码注入”,代码并没有被注入到正在运行的进程中,而是被诱使程序加载具有相同名称的不同DLL。

图片来源:Lukatme/Shutterstock.com网站.

  • 发表于 2021-04-05 00:45
  • 阅读 ( 1163 )
  • 分类:互联网

你可能感兴趣的文章

xss公司(xss)和sql注入(sql injection)的区别

...胁。其中两个是XSS和SQL注入。 目录 1. 概述和主要区别 2. 什么是XSS 3. 什么是SQL注入 4. 并排比较——XSS与SQL表格形式的注入 5. 摘要 什么是xss公司(xss)? XSS代表跨站点脚本,它是最常见的网站攻击之一。它可以影响特定网站以及...

  • 发布于 2020-10-08 17:54
  • 阅读 ( 736 )

xss公司(xss)和csrf公司(csrf)的区别

...威胁。其中两个是XSS和CSRF。 目录 1. 概述和主要区别 2. 什么是XSS 3. 什么是CSRF 4. 并列比较——XSS与CSRF的表格形式 5. 摘要 什么是xss公司(xss)? XSS是一种向网站注入恶意代码的代码注入攻击。这是最常见的网站攻击之一。它可以...

  • 发布于 2020-10-18 08:51
  • 阅读 ( 316 )

如何让2017年成为linux桌面年

... 为什么? ...

  • 发布于 2021-03-16 11:36
  • 阅读 ( 306 )

如何检查google chrome的不兼容软件冲突

... 为此,谷歌在Windows上引入了Chrome的一项新功能。这将检查您的计算机中的软件,可能会导致稳定问题的铬,并帮助您删除它。下面是如何看一看。 ...

  • 发布于 2021-03-23 18:29
  • 阅读 ( 368 )

如何在windows 10中修复错误代码0xc0000225

... 什么是错误代码0xc0000225(error code 0xc0000225)? ...

  • 发布于 2021-03-24 06:54
  • 阅读 ( 495 )

什么是mylobot恶意软件?它是如何工作的,该怎么办

... 什么是微型机器人(mylobot)? ...

  • 发布于 2021-03-24 09:02
  • 阅读 ( 343 )

爱上linux mint的10个原因

...哪个版本的Linux?四处打听,肯定会有人推荐LinuxMint。为什么?它只是Linux最友好、最通用的发行版之一。 ...

  • 发布于 2021-03-24 18:59
  • 阅读 ( 449 )

如何修复windows 10错误代码0xc00000e

...时会感到沮丧,因为Windows没有在错误代码中指定发生了什么问题以及需要做什么来修复它。通常,当未检测到硬件组件或损坏的系统文件阻止Windows 10启动时,会发生此错误。 ...

  • 发布于 2021-03-29 12:05
  • 阅读 ( 682 )

为什么病毒在chrome操作系统上不成问题?

...样,他们是如何做到这一点的?请允许我们解释一下。 什么是计算机病毒(a computer virus)? 首先,让我们考虑一下什么是计算机病毒。病毒属于“恶意软件”的范畴,它们具有破坏性,因为它们将代码注入文件(通常是可执行...

  • 发布于 2021-04-01 07:31
  • 阅读 ( 272 )

为什么chrome告诉我“更新或删除不兼容的应用程序”?”

...浏览器崩溃,所以谷歌采取了阻止这些技术的立场。 为什么应用程序要注入代码? 一些应用程序将代码注入其他正在运行的进程以修改其行为。在Windows上,这种技术已经存在很长时间了。它被许多不同类型的应用程序使用,...

  • 发布于 2021-04-05 00:11
  • 阅读 ( 268 )
whj1822
whj1822

0 篇文章

相关推荐