2017-03-16 16 views
2

Base64でエンコードされたテキストをデコードして、ウェブサイトにログインしたいとします。 base64でエンコードされたテキストは、ユーザー名とパスワードです。私はBase64.exeやb64.exeのようなツールを見つけましたが、私の場合、入力は文字列ですが、ファイルとして入力します。 PLZは私を助けます。このすべてのバグはバッチファイルでのみ行われ、config.txtファイルからエンコードされたテキストを読み込んでいます。StringバッチファイルのBase64デコード

+2

お試しいただいた内容をお見せした場合は、お手伝いできます。あなたはちょうど解決策が必要な場合は、まずGoogleを見てください。 –

答えて

1

と私は解決策を見つけました。私は "config.txt"から "tmp.txt"という新しいファイルにbase64でエンコードされたテキストを抜き出しています。今私はcmd "b64.exe -d tmp.txt tmp2.txt"を実行します。新しい "tmp2.txt"ファイルのデコードされたテキストを取得します。 「tmp.txt」と「tmp2.txt」を削除すると、ユーザー名とパスワードが読み込まれます。 ありがとうございました

3

あなたは(それは一時ファイルが必要になりますが)外部のソフトウェアをインストールせずにCERTUTILコマンドを使用することができます。

@echo off 
del /q /f "%temp%\b64" >nul 2>nul 
del /q /f "%temp%\decoded" >nul 2>nul 

set "base64string=YmFzZTY0c3RyaW5n" 
echo -----BEGIN CERTIFICATE----->"%temp%\b64" 
<nul set /p=%base64string% >>"%temp%\b64" 
echo -----END CERTIFICATE----->>"%temp%\b64" 

certutil /decode "%temp%\b64" "%temp%\decoded" >nul 2>nul 


for /f "useback tokens=* delims=" %%# in ("%temp%\decoded") do set "decoded=%%#" 
echo %decoded% 
del /q /f "%temp%\b64" >nul 2>nul 
del /q /f "%temp%\decoded" >nul 2>nul 

何の一時ファイルは存在しませんにもかかわらず、あなたも遅くなりますPowerShellを使用することができます。

set "base64string=YmFzZTY0c3RyaW5n" 
for /f "tokens=* delims=" %%# in ('powershell [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String("""%base64string%"""^)^)') do set "decoded=%%#" 
echo %decoded% 

あなたはatob.batでも試すことができます。

call atob.bat YmFzZTY0c3RyaW5n decoded 
echo %decoded% 

それともbase64.bat

for /f "tokens=* delims=" %%# in ('base64.bat -decode YmFzZTY0c3RyaW5n') do set "decoded=%%#" 
echo %decoded% 
関連する問題