Base64エンコード/デコードや16進数変換など、開発作業を行っている際必要となるさまざまな処理を一つに纏めたWebアプリケーション「CyberChef」。
JavaScriptを使って作られたオープンソースソフトウェアで、自サイトにインストールして使用することができるほか、オンラインデモサイトですぐに試すこともできます。
CyberChefがユニークな点は、単に多数の操作を呼び出せるだけではなく、操作をまとめた「レシピ」を作成できる点にあります。レシピは保存、読み込み可能で、一連の操作を一気に実行できるだけなく、一部操作を無効にしたり、ブレークポイントをしかけたり、ステップ実行することが可能なのです。
以下簡単に使用法を説明します。
CyberChefの使用方法
CyberChefの画面は4つのエリアに分かれています。左側が呼び出せる操作をリストアップした「Operations」エリア。真ん中が操作を組み立てる「Recipe」エリア。右側が入力を表す「Input」エリアと出力を表す「Output」エリアです。
例えばOperationsエリアから「To Base 64」をRecipiエリアにドロップし、Inputエリアに「hello」と入力すると、Outputエリアに「aGVsbG8=」という出力が表示されます。これがBase64エンコードの結果となります。
続けて「From Base 64」もドロップして追加すると、Outputエリアの出力が「hello」に変化します。これはBase64のエンコード、デコード処理が連続して実行されため元に戻ったことを意味しているのです。
CyberChefではこのように複数の操作を連続して実行することができます。個別の操作は無効可能で、エリア外にドロップすれば削除することもできます。
まとめ
CyberChefには、データフォーマット、エンコード、公開鍵、論理演算、ネットワーク、言語、ユーティリティ、日付・時間など多数のカテゴリにわたる操作があらかじめ準備されています。操作単体でも便利ですが、それらを組み合わせることでさらに便利に活用することが可能となります。