代码注入技术之双刃性
2018-11-22威海职业学院赵永华
■ 威海职业学院 赵永华
编者按:宏代码注入技术是一把双刃剑,在给人们带来便利的同时,也潜藏着安全风险。一些恶意软件往往采取此类方式对用户网络和应用实施攻击。因此,我们应当学会辨别其好坏。
代码注入是Windows系统中常用的一种幕后技术,常用于改写DDL文件,所以也称作DLL注入,其实有时也会修改其他文件。
代码注入技术是一种典型的双刃剑,例如安全工具通过代码注入浏览器去监控网络流量,从而阻止危险内容。但是一些恶意软件采用相同手段,其目的却是窃取用户隐私。
而且,很多应用程序将代码注入作为一种技巧,为用户解决实际问题,比如改变桌面布置,美化系统界面。AutoHotkey程序可以通过代码注入编写系统脚本完成一些操作任务。NVIDIA显卡功能是通过注入DLLs完成图显,一些应用程序注入DLLs提供菜单项,一些工具软件通过代码注入提供自动抢票和点赞等。
代码注入也会带来bugs,比如在 Windows系统下使用Chrome浏览器时,代码注入有时会引起Chrome崩溃。Windows中的浏览器Edge出于安全考虑,会阻止代码注入修改浏览器设置。我们很难简单说代码注入是好是坏,代码注入为用户带来了方便,而且有时是一种必不可少的功能,但它确实有时又会带来隐患,那么我们如何判定它是好是坏呢?
对此,微软网站提供了一个检查工具Process Explorer,它颇似一个升级版的Windows任务管理器,它可以让我们查看当前系统DLLs的详情,其下载地址如下:
https://docs.microsoft.com/en-us/sysinternals/downloads/process-explorer
运行Process Explorer后,进入菜单“View→Lower Pane View→DLLs”(如图 1)。

图1 Process Explorer显示DLLs
此时我们……
