适用于PowerShell 3.0或者更高版本,
尽管我们并不推荐将密码硬编码在脚本文件中,但是仍旧有一些场景非如此不可。与将密码以一种纯文本的方式硬编码相比,我们还可以稍微花点心思,把密码混淆一下。虽然混淆密码是一种非常低级的保护方式,但是对于不懂PowerShell的人来讲,还是比较神秘的。
接下来的脚本会向用户询问用户名和密码,然后删除通过混淆脚本进行处理,产生用户凭据对象。
当你运行了下面的脚本以后,用户凭据已经被保存在$cred。接下来你几乎可以在任何带有–Credential参数的命令中使用它了。
$cred = Get-Credential -Message 'Enter Domain\Username and Password' $pwd = $cred.Password $user = $cred.UserName $key = 1..32 | ForEach-Object { Get-Random -Maximum 256 } $pwdencrypted = $pwd | ConvertFrom-SecureString -Key $key $private:ofs = ' ' $generatedScript = @() $generatedScript += '$password = ''{0}''' -f $pwdencrypted $generatedScript += '$key = ''{0}''' -f "$key " $generatedScript += '$passwordSecure = ConvertTo-SecureString -String $password -Key ([Byte[]]$key.Split('' ''))' $generatedScript += '$cred = New-Object system.Management.Automation.PSCredential(''{0}'', $passwordSecure)' -f $user $generatedScript += '$cred' $file = $psise.CurrentPowerShellTab.Files.Add() $file.Editor.Text = $generatedScript | Out-String $file.Editor.SetCaretPosition(1,1)
产生的密码可能像这样:
$password = '76492d1116743f0423413b16050a5345MgB8AHMAUQA3AFAAVwB0AGkAUQBUAC8AdwBqADYAUABVAFYAUwB4AEYAYgB4AFEAPQA9AHwAZgA0ADgAOQA4AGYANwA0AGEAMAA0ADUANwA5ADkAMwA5ADkAMwA1ADUANQA0AGYANwA5AGQANwBkAGYAOQBmAGEAYQA3ADMAYgBkADIAOQA3AGMAYQBmADUAMgA3ADEANwA3AGEAYgBmADAAYgA1AGYAYwAyADYAYgAzADkAOAA=' $key = '187 98 34 82 148 52 13 86 246 2 130 197 217 97 147 98 75 197 149 246 74 35 27 7 211 15 131 93 182 231 171 3' $passwordSecure = ConvertTo-SecureString -String $password -Key ([Byte[]]$key.Split(' ')) $cred = New-Object system.Management.Automation.PSCredential('mickey\mouse', $passwordSecure) $cred
问题内容: 我正在做一个登录页面。我有UITextField作为密码。 显然,我不希望看到密码。相反,我希望键入时显示圆圈。您如何设置发生这种情况的领域? 问题答案: 请将您的UItextField属性设置为安全。 试试这个.. textFieldSecure是您的UITextField …
本文向大家介绍Android 混淆代码详解及实例,包括了Android 混淆代码详解及实例的使用技巧和注意事项,需要的朋友参考一下 为了防止自己的劳动成果被别人窃取,混淆代码能有效防止被反编译,下面来总结以下混淆代码的步骤: 1. 大家也许都注意到新建一个工程会看到项目下边有这样proguard-project.txt一个文件,这个对混淆代码很重要,如果你不小心删掉了,没关系,从其他地方拷贝一个过
我正在测试
我一直在摆弄Proguard配置,我想测试只是为了优化 但我仍然会遇到这样的错误: java.lang.IllegalArgumentExc0019:找不到[org/apache/log/log4j/core/jackson/Log4jXmlMoules](有1个已知的超级类)和[org/apache/log/log4j/core/jackson/Log4jJsonMoules](有4个已知的超级
Powershell的混淆目前已经使用的越来越多,国内外也有了较多的研究,在今年的BH大会上也有对应的议题,关注点是反混淆,那么里面的一些姿势很值得我们学习,我们提供一些混淆实例,来让大家对于PS的混淆做到一个初步了解,也为防御混淆提供一些思路。 实例 在混淆之前,先看看powershell编码执行的方式。 -EC,-EncodedCommand,-EncodedComman,-EncodedCo
问题内容: 服务器上出现了一些垃圾邮件问题,在找出并删除了一些Perl和PHP脚本后,我决定检查它们的实际作用,尽管我是高级PHP程序员,但对Perl经验很少,有人可以给我一个建议吗?在这里手写脚本: http://pastebin.com/MKiN8ifp (这是一长行代码,脚本称为list.pl) 脚本的开始是: 它以很少的非标点字符继续,直到最后: 问题答案: 更换用得到这个。再次用有效负载