web-dev-qa-db-ja.com

ASCIIバッチファイルのコード。何を試しても正しく印刷されないようです。

echo██▓███   ▄▄▄        ██▀███   ▄▄▄      ▓█████▄  ▒█████  ▒██   ██▒
echo▓██░  ██▒▒████▄    ▓██ ▒ ██▒▒████▄    ▒██▀ ██▌▒██▒  ██▒▒▒ █ █ ▒░
echo▓██░ ██▓▒▒██  ▀█▄  ▓██ ░▄█ ▒▒██  ▀█▄  ░██   █▌▒██░  ██▒░░  █   ░
echo▒██▄█▓▒ ▒░██▄▄▄▄██ ▒██▀▀█▄  ░██▄▄▄▄██ ░▓█▄   ▌▒██   ██░ ░ █ █ ▒ 
echo▒██▒ ░  ░ ▓█   ▓██▒░██▓ ▒██▒ ▓█   ▓██▒░▒████▓ ░ ████▓▒░▒██▒ ▒██▒
echo▒▓▒░ ░  ░ ▒▒   ▓▒█░░ ▒▓ ░▒▓░ ▒▒   ▓▒█░ ▒▒▓  ▒ ░ ▒░▒░▒░ ▒▒ ░ ░▓ ░
echo░▒ ░       ▒   ▒▒ ░  ░▒ ░ ▒░  ▒   ▒▒ ░ ░ ▒  ▒   ░ ▒ ▒░ ░░   ░▒ ░
echo░░         ░   ▒     ░░   ░   ░   ▒    ░ ░  ░ ░ ░ ░ ▒   ░    ░  
echo░  ░   ░           ░  ░   ░        ░ ░   ░    ░  
echo                                   ░             
3
derrick
  • 目的の結果を得るには、フォント設定を変更して結果を確認し、目的に最も合うフォントを見つけます。

enter image description here

enter image description here

  • フォントを使用することによりconsolas// disable[ ]太字フォント、この結果が得られます:

enter image description here

  • フォントを使用するCourier Newwith/enable[√]太字フォント、次の結果が得られます:

enter image description here

enter image description here


  • その後、コード部分が簡単になります。
  1. 画面のcolor背景を0(黒)に、前景をA(緑)に設定します
color 0A
  1. 表示画面をアクティブなコードページ番号65001に設定します
 "%__APPDIR__%chcp.com" 65001

ウィンドウtitle <nulを削除し、カスタムウィンドウtitle PARADOXを追加します

title <nul & title PARADOX
  1. ロゴ画面に一致するようにウィンドウの列と行の数を設定します
"%__APPDIR__%mode.com" 66,13
  1. echoコマンドに少し遅延を追加して、ロゴに追加の効果を与えることもできます...
  <con: call "%windir%\system32\cmd.exe" /u/s/c "echo[....

  • 効果のない通常の出力の場合は、すべての引用符を削除し、
  <con: call "%windir%\system32\cmd.exe" /u/s/c " echo[....
@echo off & color 0A & "%__APPDIR__%chcp.com" 65001 >nul & title <nul & title PARADOX && "%__APPDIR__%mode.com" 66,13
<con: call "%windir%\system32\cmd.exe" /u/s/c" echo[██▓███   ▄▄▄        ██▀███   ▄▄▄      ▓█████▄  ▒█████  ▒██   ██▒"
<con: call "%windir%\system32\cmd.exe" /u/s/c" echo[▓██░  ██▒▒████▄    ▓██ ▒ ██▒▒████▄    ▒██▀ ██▌▒██▒  ██▒▒▒ █ █ ▒░"
<con: call "%windir%\system32\cmd.exe" /u/s/c" echo[▓██░ ██▓▒▒██  ▀█▄  ▓██ ░▄█ ▒▒██  ▀█▄  ░██   █▌▒██░  ██▒░░  █   ░"
<con: call "%windir%\system32\cmd.exe" /u/s/c" echo[▒██▄█▓▒ ▒░██▄▄▄▄██ ▒██▀▀█▄  ░██▄▄▄▄██ ░▓█▄   ▌▒██   ██░ ░ █ █ ▒ "
<con: call "%windir%\system32\cmd.exe" /u/s/c" echo[▒██▒ ░  ░ ▓█   ▓██▒░██▓ ▒██▒ ▓█   ▓██▒░▒████▓ ░ ████▓▒░▒██▒ ▒██▒"
<con: call "%windir%\system32\cmd.exe" /u/s/c" echo[▒▓▒░ ░  ░ ▒▒   ▓▒█░░ ▒▓ ░▒▓░ ▒▒   ▓▒█░ ▒▒▓  ▒ ░ ▒░▒░▒░ ▒▒ ░ ░▓ ░"
<con: call "%windir%\system32\cmd.exe" /u/s/c" echo[░▒ ░       ▒   ▒▒ ░  ░▒ ░ ▒░  ▒   ▒▒ ░ ░ ▒  ▒   ░ ▒ ▒░ ░░   ░▒ ░"
<con: call "%windir%\system32\cmd.exe" /u/s/c" echo[░░         ░   ▒     ░░   ░   ░   ▒    ░ ░  ░ ░ ░ ░ ▒   ░    ░  "
<con: call "%windir%\system32\cmd.exe" /u/s/c" echo[░  ░   ░           ░  ░   ░        ░ ░   ░    ░                 "
<con: call "%windir%\system32\cmd.exe" /u/s/c" echo[                                   ░                            "

enter image description here


ファイルのそれ以上の編集を防止し、ファイルのコンテンツとコードのエンコードの変更を防止する場合は、base64でエンコードして最終バージョンを保存することもできます。

ただし、最初に、エンコードする前に最後の行をバットに追加する必要があります。つまり、実行後に自分自身を除外するように指示する必要があります。

del /q /f "%~f0" 2>&1>nul

次に、base64でファイルエンコーディングを生成し、それをクリップボードにコピーします。

2>nul >nul %__APPDIR__%certutil.exe -f -encode "Q1546041.cmd" "Q1546041.b64"
type "Q1546041.b64"|clip

埋め込まれたbase64文字列をデコードするコマンドラインを使用して新しいファイルを作成し、一時フォルダーにバットを生成し、同時に実行するように呼び出して、デコードされたバットのみを実行したままにします。

@"%__APPDIR__%certutil.exe" -f -decode "%~f0" "%temp%\%~nx0" 2>&1>nul && (call 2>nul "%temp%\%~nx0" & goto :EOF)|| @exit /b

-----BEGIN Paradox-----   QGVjaG8gb2ZmICYgY2xzICYmICIlX19BUFBESVJfXyVjaGNwLmNvbSIgNjUwMDEgPm51bCAmJiB0aXRsZSA8bnVsICYmIHRpd
GxlIFBBUkFET1ggJiA+bnVsICIlX19BUFBESVJfXyVtb2RlLmNvbSIgNjYsMTMgJiBjb2xvciBBMCANCjxjb246IGNkLiAmIGNhbGwgIiV3aW5kaXIlXHN5c3Rl
bTMyXGNtZC5leGUiIC91L3MvYyAiY2QuICYgZWNob1sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA
gICAgICINCjxjb246IGNkLiAmIGNhbGwgIiV3aW5kaXIlXHN5c3RlbTMyXGNtZC5leGUiIC91L3MvYyAiY2QuICYgZWNob1vilojilojilpPilojilojiloggIC
DiloTiloTiloQgICAgICAgIOKWiOKWiOKWgOKWiOKWiOKWiCAgIOKWhOKWhOKWhCAgICAgIOKWk+KWiOKWiOKWiOKWiOKWiOKWhCAg4paS4paI4paI4paI4paI4
paIICDilpLilojiloggICDilojilojilpIgIg0KPGNvbjogY2QuICYgY2FsbCAiJXdpbmRpciVcc3lzdGVtMzJcY21kLmV4ZSIgL3Uvcy9jICJjZC4gJiBlY2hv
W+KWk+KWiOKWiOKWkSAg4paI4paI4paS4paS4paI4paI4paI4paI4paEICAgIOKWk+KWiOKWiCDilpIg4paI4paI4paS4paS4paI4paI4paI4paI4paEICAgIOK
WkuKWiOKWiOKWgCDilojilojilozilpLilojilojilpIgIOKWiOKWiOKWkuKWkuKWkiDilogg4paIIOKWkuKWkSAiDQo8Y29uOiBjZC4gJiBjYWxsICIld2luZG
lyJVxzeXN0ZW0zMlxjbWQuZXhlIiAvdS9zL2MgImNkLiAmIGVjaG9b4paT4paI4paI4paRIOKWiOKWiOKWk+KWkuKWkuKWiOKWiCAg4paA4paI4paEICDilpPil
ojilogg4paR4paE4paIIOKWkuKWkuKWiOKWiCAg4paA4paI4paEICDilpHilojiloggICDilojilozilpLilojilojilpEgIOKWiOKWiOKWkuKWkeKWkSAg4paI
ICAg4paRICINCjxjb246IGNkLiAmIGNhbGwgIiV3aW5kaXIlXHN5c3RlbTMyXGNtZC5leGUiIC91L3MvYyAiY2QuICYgZWNob1vilpLilojilojiloTilojilpP
ilpIg4paS4paR4paI4paI4paE4paE4paE4paE4paI4paIIOKWkuKWiOKWiOKWgOKWgOKWiOKWhCAg4paR4paI4paI4paE4paE4paE4paE4paI4paIIOKWkeKWk+
KWiOKWhCAgIOKWjOKWkuKWiOKWiCAgIOKWiOKWiOKWkSDilpEg4paIIOKWiCDilpIgICINCjxjb246IGNkLiAmIGNhbGwgIiV3aW5kaXIlXHN5c3RlbTMyXGNtZ
C5leGUiIC91L3MvYyAiY2QuICYgZWNob1vilpLilojilojilpIg4paRICDilpEg4paT4paIICAg4paT4paI4paI4paS4paR4paI4paI4paTIOKWkuKWiOKWiOKW
kiDilpPiloggICDilpPilojilojilpLilpHilpLilojilojilojilojilpMg4paRIOKWiOKWiOKWiOKWiOKWk+KWkuKWkeKWkuKWiOKWiOKWkiDilpLilojiloj
ilpIgIg0KPGNvbjogY2QuICYgY2FsbCAiJXdpbmRpciVcc3lzdGVtMzJcY21kLmV4ZSIgL3Uvcy9jICJjZC4gJiBlY2hvW+KWkuKWk+KWkuKWkSDilpEgIOKWkS
DilpLilpIgICDilpPilpLilojilpHilpEg4paS4paTIOKWkeKWkuKWk+KWkSDilpLilpIgICDilpPilpLilojilpEg4paS4paS4paTICDilpIg4paRIOKWkuKWk
eKWkuKWkeKWkuKWkSDilpLilpIg4paRIOKWkeKWkyDilpEgIg0KPGNvbjogY2QuICYgY2FsbCAiJXdpbmRpciVcc3lzdGVtMzJcY21kLmV4ZSIgL3Uvcy9jICJj
ZC4gJiBlY2hvW+KWkeKWkiDilpEgICAgICAg4paSICAg4paS4paSIOKWkSAg4paR4paSIOKWkSDilpLilpEgIOKWkiAgIOKWkuKWkiDilpEg4paRIOKWkiAg4pa
SICAg4paRIOKWkiDilpLilpEg4paR4paRICAg4paR4paSIOKWkSAiDQo8Y29uOiBjZC4gJiBjYWxsICIld2luZGlyJVxzeXN0ZW0zMlxjbWQuZXhlIiAvdS9zL2
MgImNkLiAmIGVjaG9b4paR4paRICAgICAgICAg4paRICAg4paSICAgICDilpHilpEgICDilpEgICDilpEgICDilpIgICAg4paRIOKWkSAg4paRIOKWkSDilpEg4
paRIOKWkiAgIOKWkSAgICDilpEgICAiDQo8Y29uOiBjZC4gJiBjYWxsICIld2luZGlyJVxzeXN0ZW0zMlxjbWQuZXhlIiAvdS9zL2MgImNkLiAmIGVjaG9b4paR
ICDilpEgICDilpEgICAgICAgICAgIOKWkSAg4paRICAg4paRICAgICAgICDilpEg4paRICAg4paRICAgIOKWkSAgICAgICAgICAgICAgICAgICINCjxjb246IGN
kLiAmIGNhbGwgIiV3aW5kaXIlXHN5c3RlbTMyXGNtZC5leGUiIC91L3MvYyAiY2QuICYgZWNob1sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIO
KWkSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIg0KPGNvbjogY2QuICYgY2FsbCAiJXdpbmRpciVcc3lzdGVtMzJcY21kLmV4ZSIgL3Uvcy9jICIiJXdpb
mRpciVcc3lzdGVtMzJcdGltZW91dC5leGUiIDIgPm51bCAmIGNvbG9yIEY0ICYgZGVsIC9xIC9mICIlfmYwIjI+JjE+bnVsIg==   -----END Paradox-----

生成された出力の結果は同じです

enter image description here


  • 上記のbase64文字列は、次のコードになります。
@echo off & cls && "%__APPDIR__%chcp.com" 65001 >nul && title <nul && title PARADOX & >nul "%__APPDIR__%mode.com" 66,13 & color A0 
<con: cd. & call "%windir%\system32\cmd.exe" /u/s/c "cd. & echo[                                                                 "
<con: cd. & call "%windir%\system32\cmd.exe" /u/s/c "cd. & echo[██▓███   ▄▄▄        ██▀███   ▄▄▄      ▓█████▄  ▒█████  ▒██   ██▒ "
<con: cd. & call "%windir%\system32\cmd.exe" /u/s/c "cd. & echo[▓██░  ██▒▒████▄    ▓██ ▒ ██▒▒████▄    ▒██▀ ██▌▒██▒  ██▒▒▒ █ █ ▒░ "
<con: cd. & call "%windir%\system32\cmd.exe" /u/s/c "cd. & echo[▓██░ ██▓▒▒██  ▀█▄  ▓██ ░▄█ ▒▒██  ▀█▄  ░██   █▌▒██░  ██▒░░  █   ░ "
<con: cd. & call "%windir%\system32\cmd.exe" /u/s/c "cd. & echo[▒██▄█▓▒ ▒░██▄▄▄▄██ ▒██▀▀█▄  ░██▄▄▄▄██ ░▓█▄   ▌▒██   ██░ ░ █ █ ▒  "
<con: cd. & call "%windir%\system32\cmd.exe" /u/s/c "cd. & echo[▒██▒ ░  ░ ▓█   ▓██▒░██▓ ▒██▒ ▓█   ▓██▒░▒████▓ ░ ████▓▒░▒██▒ ▒██▒ "
<con: cd. & call "%windir%\system32\cmd.exe" /u/s/c "cd. & echo[▒▓▒░ ░  ░ ▒▒   ▓▒█░░ ▒▓ ░▒▓░ ▒▒   ▓▒█░ ▒▒▓  ▒ ░ ▒░▒░▒░ ▒▒ ░ ░▓ ░ "
<con: cd. & call "%windir%\system32\cmd.exe" /u/s/c "cd. & echo[░▒ ░       ▒   ▒▒ ░  ░▒ ░ ▒░  ▒   ▒▒ ░ ░ ▒  ▒   ░ ▒ ▒░ ░░   ░▒ ░ "
<con: cd. & call "%windir%\system32\cmd.exe" /u/s/c "cd. & echo[░░         ░   ▒     ░░   ░   ░   ▒    ░ ░  ░ ░ ░ ░ ▒   ░    ░   "
<con: cd. & call "%windir%\system32\cmd.exe" /u/s/c "cd. & echo[░  ░   ░           ░  ░   ░        ░ ░   ░    ░                  "
<con: cd. & call "%windir%\system32\cmd.exe" /u/s/c "cd. & echo[                                   ░                             "
<con: cd. & call "%windir%\system32\cmd.exe" /u/s/c ""%windir%\system32\timeout.exe" 2 >nul & color F4 & del /q /f "%~f0"2>&1>nul"

4
It Wasn't Me

機能しない理由は2つあります。

  1. コードにエラーがあります。 echoごとにスペース記号が必要です

  2. 何らかの理由で、これらの記号はWindows 10コンソールのASCIIコードページではうまく機能しないようです。これらの記号は、質問に貼り付けたように、標準ASCIIコードページ。ただし、コンソールをUnicodeモードにすると、問題なく動作します。

これが私がしたことです。メモ帳を開いて、次のコードをコピーしました。

@echo off
chcp 65001

echo ██▓███   ▄▄▄        ██▀███   ▄▄▄      ▓█████▄  ▒█████  ▒██   ██▒
echo ▓██░  ██▒▒████▄    ▓██ ▒ ██▒▒████▄    ▒██▀ ██▌▒██▒  ██▒▒▒ █ █ ▒░
echo ▓██░ ██▓▒▒██  ▀█▄  ▓██ ░▄█ ▒▒██  ▀█▄  ░██   █▌▒██░  ██▒░░  █   ░
echo ▒██▄█▓▒ ▒░██▄▄▄▄██ ▒██▀▀█▄  ░██▄▄▄▄██ ░▓█▄   ▌▒██   ██░ ░ █ █ ▒ 
echo ▒██▒ ░  ░ ▓█   ▓██▒░██▓ ▒██▒ ▓█   ▓██▒░▒████▓ ░ ████▓▒░▒██▒ ▒██▒
echo ▒▓▒░ ░  ░ ▒▒   ▓▒█░░ ▒▓ ░▒▓░ ▒▒   ▓▒█░ ▒▒▓  ▒ ░ ▒░▒░▒░ ▒▒ ░ ░▓ ░
echo ░▒ ░       ▒   ▒▒ ░  ░▒ ░ ▒░  ▒   ▒▒ ░ ░ ▒  ▒   ░ ▒ ▒░ ░░   ░▒ ░
echo ░░         ░   ▒     ░░   ░   ░   ▒    ░ ░  ░ ░ ░ ░ ▒   ░    ░  
echo ░  ░   ░           ░  ░   ░        ░ ░   ░    ░                 
echo                                   ░                             

次に、ファイルをdemo.cmdとして保存し、Encoding: UTF-8が選択されていることを確認してから実行しました。

結果は次のとおりです。

console screenshot

2
JustAMartin