禁断のツールを作成してしまいました。
今のお仕事において、
お客様が管理されているシステムを
遠隔操作により保守することがあります。
職場とお客様の拠点との間でVPNを張っており、
お客様が許可されている方式により保守対象のサーバへ接続します。
GUIでの保守作業(リモートデスクトップなど)は許可されているものの、
お客様のセキュリティポリシーによっては
ファイルの送受信ができない場合があります。
そんなときに備えて、送信したいファイルと
16進数を列記したテキストファイルとを相互変換するための
2つのPowerShellスクリプトを書きました。
送信できないのなら、作成すればいい。
ファイルを表す16進数をキータイプし、
その文字列からファイルを再現すれば、
制限に抵触せずにファイルを配置することができます。
実際にはAutoHotKeyなどでキー送信を行えば、
タイプミスも発生せず、正確なファイル再現が可能でしょう。
そのためのAutoHotKeyスクリプトとサクラエディタマクロも書きました。
……そうです。本当に「使ってはならない」ツールです。
使用して問題になろうものなら、
PowerShellやリモートデスクトップ、
遠隔保守作業そのものを禁止されることにもなりかねません。
でもせっかく作ったのにもったいないので、公開しておきますね!
ご利用は各自の責任で!!
----------------------------------------
◆bin2txt.ps1
###BIN to TXT
$bfn = $Args[0]
$tfn = $Args[1]
[Byte[]]$bs = Get-Content $bfn -Encoding Byte
$bfn = $null
[string]$ts = [System.BitConverter]::ToString($bs)
$ts = $ts -Replace('-', ' ')
$bs = $null
Set-Content $tfn -Value $ts -Encoding String
$ts = $null
$tfn = $null
----------------------------------------
◆txt2bin.ps1
###TXT to BIN
$tfn = $Args[0]
$bfn = $Args[1]
[string]$ts = Get-Content $tfn -Encoding String
$tfn = $null
[string[]]$ts = $ts.Split(" ")
[Byte[]]$bs = $ts|foreach { [System.Convert]::ToByte( $_ , 16 ) }
$ts = $null
Set-Content $bfn -Value $bs -Encoding Byte
$bs = $null
$bfn = $null
----------------------------------------
終わりや終わり! 終了!!
書いた人: 久世うりう (kuzeuriu) お問い合わせ
コメント