2019/06/15(土)passwordbox ファイル解析
2021/05/22 16:08
passwordbox ファイル解析
このサンプルマクロは、以下の仕様を満たすものとします。マクロの目的
getpassword コマンドで作成したファイルの暗号化部分を復号化し、同等構成のファイルを生成します。Tera Term の接続状況に拠らず実行可能です。
利用可能環境
Teraterm
依存する Tera Term バージョン:バージョン4.67以降種別:制御 | Ver | 機能の簡易説明 |
---|---|---|
break | 4.53以降 | ループから抜ける。 |
if,then,elseif,else,endif | 条件分岐 | |
while,endwhile | 繰り返す。 | |
種別:文字列操作 | Ver | 機能の簡易説明 |
sprintf2 | 4.62以降 | フォーマットされた出力を返す。 |
strlen | 文字列の長さを返す。 | |
strscan | 部分文字列の位置を返す。 | |
strspecial | 4.67以降 | 特殊文字を変換する。 |
strsplit | 4.67以降 | 文字列を分割する。 |
strtrim | 4.67以降 | 前後の文字を削除する。 |
種別:ファイル操作 | Ver | 機能の簡易説明 |
fileclose | ファイルハンドルを閉じる。 | |
fileopen | ファイルを開く。 | |
filereadln | ファイルから一行読む。 | |
filesearch | ファイルまたはフォルダがあるか確かめる。 | |
filewriteln | ファイルに文字列を改行付きで書き込む。 | |
種別:パスワードコマンド | Ver | 機能の簡易説明 |
getpassword | パスワードを読み出す。 | |
種別:その他 | Ver | 機能の簡易説明 |
inputbox | 文字列を入力するためのダイアログボックスを開く。 | |
4.53以降 | デフォルト入力文字を設定するオプションの追加。 | |
4.54以降 | 特殊文字の解釈を制御するオプションの追加。 | |
messagebox | ダイアログボックスを開き、ユーザーにメッセージを知らせる。 | |
4.54以降 | 特殊文字の解釈を制御するオプションの追加。 | |
4.60以降 | キャンセル時にマクロ停止を確認する機能の追加。 |
マクロの使い方
まず、メモ帳等の起動したテキストエディタへサンプルコードをコピペして「pw解析.ttl」等の適当な名前で保存します。.ttl が ttpmacro.exe に関連付けされている場合は、そのままダブルクリックしてマクロを起動します。
getpassword コマンドで作成したファイルのパスを入力すると、マクロを保存したフォルダに「パスワード解析結果.txt」が作成されます。
コード
著作権情報
著作権者
jing さんライセンス
著作権フリー関連情報
公開先サイト:https://ja.osdn.net/projects/ttssh2/ticket/38222サンプルコード
ファイルダウンロード
teraterm-pw-analyze.zip※ 解凍してご利用ください。
項目 | 内容 |
---|---|
文字コード | Shift JIS |
実行確認バージョン | Tera Term Ver 4.102 |
備考 | 上記公開先サイトから転載したものです。 |
コピペ用
以下のソースコードをファイルに保存のうえご利用ください。wfile = 'パスワード解析結果.txt' ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; ファイル定義 :FileInput inputbox 'パスワード DAT のパスを入力してください。' 'Path input' pwdat = inputstr strlen pwdat if result = 0 then goto FileInput endif ; ファイルの存在確認 filesearch pwdat if result = 0 then sprintf2 msg 'ファイル %s がありません\n終了します' pwdat strspecial msg messagebox msg 'Error' exit endif ; Passowrd file Open (ファイルハンドラ:fhPWDAT 読み取り専用) fileopen fhPWDAT pwdat 0 1 ; Write file open (ファイルハンドラ:fhWrDat) fileopen fhWrDat wfile 0 0 ; 上から順に変数へ格納 while 1 filereadln fhPWDAT line if result = 1 then break endif ;; 解析開始 strscan line '=' if result = 0 then ; [定義部分] strscan line '[' if result then pLpw = line strtrim pLpw '[' strscan pLpw ']' if result then strtrim pLpw ']' endif endif filewriteln fhWrDat line else ; パスワード識別子 strsplit line '=' PassName = groupmatchstr1 getpassword pwdat PassName pLpw sprintf2 msg '%s=%s' PassName pLpw filewriteln fhWrDat msg endif endwhile ; File Clese fileclose fhWrDat fileclose fhPWDAT