PowerShell在恶意代码分析中是遇到比较多类型的样本文件类型,通常是通过Windows系统自带的ISE进行调试,但是特别卡(如果打开一个几兆的文件就能体会到了),不过也可以利用VS(毕竟是宇宙最强IDE)进行调试,效果会好些。VS官方并不附带支持PowerShell调试的工具,不过由于存在第三方作者开发的扩展插件,所以我们可以直接下载对应版本的插件即可。
下载链接如下:
PowerShell Tools for Visual Studio 2017https://marketplace.visualstudio.com/items?itemName=AdamRDriscoll.PowerShellToolsforVisualStudio2017-18561
PowerShell Tools for Visual Studio 2015https://marketplace.visualstudio.com/items?itemName=AdamRDriscoll.PowerShellToolsforVisualStudio2015
PowerShell Tools for Visual Studio 2013https://marketplace.visualstudio.com/items?itemName=AdamRDriscoll.PowerShellToolsforVisualStudio2013
以下来源于网上公开的文章,这里先记录下。下载完成后,双击进行安装。安装完成后,再使用VisualStudio新建项目时,可以看到已经可以创建Powershell项目。
创建项目完成后,在项目上单击右键-》添加-》新建项,选择“PowerShell Script”,单击确定。就可以开始编辑PowerShell脚本VisualStudio中的PowerShell也具有IntelliSense功能。脚本编辑完成以后,可以全部运行,也可以选择运行指定的脚本。
如果没有看到输入,可以选择视图->输出菜单,来打开输出窗口。
下面自己则开始本地实验,先安装好VS2015专业版(环境为Windows10,因为插件需要Windows8+以上的系统),通过i tell you 站点下载(还挺方便的),之后下载上面的插件。目前发现第一次在本地安装插件后,无法在新建项目里找到PowerShell项目模板,后续重新修改VS2015的安装配置还是无法在新建项目的时候找到PowerShell项目模板,可能笔者姿势不对吧。
后续在VS安装界面卸载了PowerShell扩展,接着又安装它,但是新建项目的时候还是没有发现存在PowerShell项目模板。过了一段时间,笔者开始采用VS2017专业版(环境为Windows10)进行实验,如下。
通过VS安装面板卸载第三方组件,然后又重新安装,在VS2017中竟然又可以了,神奇的事情,毕竟99%的问题都可以通过重装系统搞定,如果不行就换台PC,逃~。
调试的效果如下,还是很舒服的,语法高亮并没有之前使用ISE的时候那么卡卡卡。
不过经过实验,关闭VS2017后,重启系统,之后在项目模板里又没有PowerShell模板了,所以只能随用随安装,尽量别重启系统。在针对真实样本进行调试时,虽然早先已经关闭了Windows Defender的实时保护,但是一旦调试PowerShell时还是会被阻止,并自动开启实时保护,这是微软时刻为你保护,不能抱怨,嘿嘿。所以调试前得关闭Windows的防病毒程序,并在检测到后设置为允许该样本。
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)
非常棒,可以断点调试