0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Chrismas】「このコマンド打ってみて」で、友達のWindowsをハッキング風にジャックして祝う(PowerShell)

Posted at

はじめに

もうすぐクリスマスですね!🎄
エンジニアの私は「せっかくエンジニアなんだから、コードで友達にサプライズを仕掛けたい」と考えました。

プログラミングを知らない友達に、「黒い画面(ターミナル)にコマンドを打つ」というハッカー映画のような体験をプレゼントしつつ、画面いっぱいのクリスマスツリーと音楽を届けたら面白いんじゃないか?

そう思い立ち、Macで開発し、Windowsの友達に届けるためのワンライナー(一行コマンド)を作ってみました。

完成したもの

友達に送るのは、たった一行のコマンドです。

xmas.sh

iex (irm x.gd/tfTf3)

スクリーンショット 2025-12-18 10.54.50.png
スクリーンショット 2025-12-18 10.54.57.png

※「x.gd/tfTf3」は自作したスクリプトの短縮URL
これをWindowsのPowerShellに貼り付けてもらうと……

  1. ハッキング風の演出(プログレスバーなどが動く)
  2. Access Granted! と表示される
  3. メッセージがタイプライター風に流れる
    という挙動になります。

仕組み

Windows標準の PowerShell を使っています。

  1. irm (Invoke-RestMethod): ネット上のコード(Gist)を取得
  2. iex (Invoke-Expression): 取得したコードを実行
    要は、ネットに置いたスクリプトをダウンロードしてその場で実行させているだけです。
    シンプルですが、非エンジニアの方には魔法のように見えます。

ソースコード (PowerShell)

xmas.sh
# 画面設定
$Host.UI.RawUI.WindowTitle = "Christmas Surprise Protocol"
Clear-Host

# 色の定義関数
function Print-Color($text, $color) {
    Write-Host $text -ForegroundColor $color -NoNewline
}
function Print-Line($text, $color) {
    Write-Host $text -ForegroundColor $color
}

# 1. ハッキング風演出
Print-Line "Connecting to Christmas Server..." "Cyan"
Start-Sleep -Milliseconds 800

Print-Color "Bypassing firewall" "Gray"
for($i=0; $i -lt 5; $i++) { Print-Color "." "Gray"; Start-Sleep -Milliseconds 400 }
Write-Host ""
Print-Line "Access Granted." "Green"
Start-Sleep -Milliseconds 800

Print-Line "Downloading Surprise Package..." "Yellow"
# プログレスバー風
Write-Host "[" -NoNewline
for($i=0; $i -lt 30; $i++) { 
    Print-Color "|" "Green"
    Start-Sleep -Milliseconds 50
}
Write-Host "]" 
Start-Sleep -Seconds 1
Clear-Host

# 2. ツリー表示
Write-Host ""
Print-Line "       ★       " "Yellow"
Print-Line "      / \      " "Green"
Print-Line "     /   \     " "Green"
Print-Line "    /  o  \    " "Green"
Print-Line "   /_______\   " "Green"
Print-Line "   |       |   " "DarkYellow"
Write-Host ""

# 3. メッセージを一文字ずつ表示
$message = "Merry Christmas! 素敵なクリスマスを!"
$charArray = $message.ToCharArray()
foreach ($char in $charArray) {
    Print-Color $char "White"
    Start-Sleep -Milliseconds 100
}

Write-Host ""
Print-Line "From: あなたの名前" "Magenta"
Start-Sleep -Seconds 5

実装の手順

  1. 上記のコードを自分の好きなメッセージに書き換える。
  2. GitHub Gistに xmas.sh という名前で保存する。
  3. ここが重要! 保存後、「Raw」 ボタンを押して、そのURLをコピーする。
  4. GistのページURLのままだとHTMLが返ってきてしまい、PowerShellがエラーを吐きます。必ず gist.githubusercontent.com/... で始まるURLを使いましょう。
  5. URLが長すぎるので、Bit.lyなどで短縮する。
  6. 友達に送りつける!

さいごに

技術の無駄遣い……かもしれませんが、こういう遊び心のあるコードを書くのはとても楽しかったです! 「黒い画面」に抵抗がある友達も、「ハッカーみたいでカッコいい!」と喜んでくれました。

みなさんも今年のクリスマスは、自作コマンドをプレゼントしてみてはいかがでしょうか? Happy Hacking & Merry Christmas🎅

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?