首页
社区
课程
招聘
[原创]格式化(美化)PowerShell脚本
2020-6-22 18:53 4299

[原创]格式化(美化)PowerShell脚本

2020-6-22 18:53
4299

前言

如果是一个正常的IT人员需要对服务器或者个人PC进行管理,采用了PowerShell脚本进行辅助,那这篇文章其实没有多大意义,因为不太可能会遇到混淆过的脚本,并且格式混乱且阅读体验非常差,因为这是阻碍安全分析人员分析的一种小手段。

探索

对于PowerShell脚本,如果从网上搜索会发现暂没有在线进行脚本内容格式美化的站点。


但是这种需求在全球来说其实很强烈,所以仔细搜索的话会发现存在一个项目。


项目地址:https://github.com/DTW-DanWard/PowerShell-Beautifier

实践

大致阅读完说明后,就准备开始配置该工具。首先采用微软自带的ISE进行调试恶意脚本会发现格式混乱,在一定程度上会影响阅读相关代码而影响调试效果。


需要包管理器安装对应的PowerShell包,而在Win7系统环境下,对于包管理器是不支持的,所以需要额外进行安装,如下。

Using Package Management in Windows PowerShell v3

https://powershell.org/2015/10/using-package-management-in-windows-powershell-v3/


所以这里采用Win10环境,版本如下。


由于Win10有自带的BuGet包,所以只需等待安装即可,Win7下暂时不行,需要对应安装相应的包管理器。右键管理员权限打开PowerShell,使用安装命令:Install-Module -Name PowerShell-Beautifier


上述包安装完成后,对其进行导入:Import-Module PowerShell-Beautifier

如果不允许执行脚本则执行该命令:Set-ExecutionPolicy RemoteSigned

最后对需要格式化的脚本文件进行代码美化:Edit-DTWBeautifyScript C:\Users\onion\Desktop\123.ps1_2020_5_7\123.ps1 -IndentType Tabs

-IndentType Tabs是采用Tab键进行缩进。代码格式化前,需要自行备份好文件,因为结果会直接写入原文件。


实际测试格式化效果还可以,不过需要自行删除多余的空行。


使用神器Notepad++删除空行(不包括有空格类符号的空行),只需进行\r\n转义符替换,按ctrl+h,跳出搜索替换框,把查找模式定义为扩展(\n,\r...)查找目标:\r\n\r\n替换为:\r\n。


接着对其进行调试的时候就不会过多影响阅读效果了,如下。



[培训]内核驱动高级班,冲击BAT一流互联网大厂工 作,每周日13:00-18:00直播授课

收藏
点赞3
打赏
分享
最新回复 (1)
雪    币: 2652
活跃值: (2303)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
. 2020-9-24 13:59
2
0
对于很长一行的powershell这个好像没用
游客
登录 | 注册 方可回帖
返回