1 つの疑問が浮かぶかもしれません:なぜ実行可能ファイルにテキストを追加するのですか?多くの開発者は、ソフトウェアやアプリケーションのリリース時にバイナリをパッケージ化しています。ただし、このバイナリ ファイルに ASCII テキストを含めることをお勧めします。開発者とユーザーが実行可能ファイルをよりよく理解することは有益です。その結果、「strings」コマンドは、これらの非テキスト ファイルの内容を判断するのに役立ちます。
この記事では、文字列をインストールして使用する方法について説明します Ubuntu で システム。それでは、先に進みましょう!
Ubuntu に文字列をインストールする方法
まず、binutils を実行する必要があります 「「文字列」を使用するためのパッケージ 」 Ubuntuのコマンド。このパッケージには、バイナリ ファイル、プロファイル データ、ライブラリ、オブジェクト ファイル、およびアセンブリ ソース コードを作成および管理するためのさまざまなプログラミング ツールが含まれています。
$ sudo 適切な binutils をインストールするには
Ubuntu で文字列のバージョンを確認する方法
このツールのバージョンを確認するには、次のコマンドを使用します:
$ 文字列 -実行
Ubuntu で文字列コマンドを使用する方法
strings コマンドの主な用途は、文字列を抽出することです。これを行うには、入力としてファイル名を入力し、Ubuntu ターミナルでこのコマンドを実行します。私たちのシステムには、「サンプル ファイル」というバイナリ/実行可能ファイルがあります。 」。すべての例でこのバイナリを使用します。
strings コマンドは、指定したファイルに存在するすべての文字列を抽出します。以下のコマンドを実行して、その機能を確認してください:
$ Strings サンプルファイル
これは、Strings コマンドで文字列の最小長を定義する方法です
文字列コマンドでは、最小文字列長のデフォルト値 4番目に設定されています 、つまり、このコマンドは最小長が 4 の文字列のみを出力します。この制限値は、「-n」キーを押すことで変更できます。 ”文字列コマンドのオプション。この「-n」 ”オプションは、文字列の制限を表す数値を取ります。
3 人を採用しました 以下の例の文字列の最小長として。このコマンドを実行すると、最小長が 3 文字の文字列が出力されます:
$ Strings -n 3 サンプルファイル
strings コマンドで文字列のオフセットを出力する方法
文字列コマンドを実行する 、「-T」を使用できます ”オフセットを表示するオプション 文字列の。このオプションでは、オフセットのベースを定義する単一の文字を入力する必要があります。以下を使用できます:
- 「D. 」を 10 進数に
- 「×」 」を16進数に
- 「ああ 」を8進数に
以下のコマンドを記述して、実行可能ファイルの文字列の 10 進オフセットを出力します。
$ Strings -T d サンプルファイル
Strings コマンドでファイル全体をスキャンする方法
「ストリングス」 コマンドは、その構成に依存するため、入力ファイル全体をスキャンする場合とスキャンしない場合があります。 「-a」を使用します ”strings コマンドが、システムに存在するバイナリ ファイル全体をスキャンすることを保証するオプション。
$ Strings -a サンプルファイル
文字列コマンドでデフォルトのセパレータを変更する方法
上記の例から、標準の文字列区切りが 改行です . 「-S」 これらの設定を変更するには、strings コマンドのオプションを使用します。たとえば、「–」と記載します。 「文字列区切りとして このコマンドで:
$ Strings -S – サンプルファイルコマンドを実行すると、次の出力が表示されます:
Strings コマンドで複数のファイルを検索する方法
ワイルドカードは、特定のファイルを検索するために使用されます。 「* 「文字列コマンドで文字が複数の値を表し、かつ」? 」は、単一の値を示すために使用されます。 「/Container」に含まれるすべてのバイナリ ファイルを検索します。 」「*」を含むディレクトリ ” 次の例のプレースホルダー。ここにも「-if」があります ”strings コマンドは、複数のバイナリ ファイルから抽出された結果を、各行の先頭にファイル名を付けて一覧表示するためのオプションです。
以下に示す Strings コマンドのもう 1 つの機能は、抽出された結果を「grep」に送信することです。 「[|]」を使用したコマンド 「パイプオペレーター。コマンドのこの部分は、「Copyright ©」を含む文字列を探します。 」 単語:
$ 文字列 -F /container/ * |著作権©指定されたコマンドを実行すると、次の出力が表示されます:
Strings コマンドを使用してシステム RAM を検索する方法
Strings コマンドは、バイナリ ファイルや実行可能ファイルから文字列を抽出する以外にも、さまざまな操作に使用できます。これにより、システムの RAM を確認できます。 「/dev/mem」をクリックするため、これには sudo 権限が必要です。 これには、システムのメイン メモリの設計図が含まれています。 「少ない ”この文字列コマンドの出力を制限するために使用されます:
$ sudo 文字列 /developer/mem |少ない
Ubuntu で Strings コマンドのマニュアルを開く方法
Strings コマンドのマニュアルを確認したい場合は、Ubuntu ターミナルに次のコマンドを書き込んでください:
$ man 文字列
文字列コマンドのヘルプについては、ターミナルで以下のコマンドを実行してください:
$ 文字列 -ヘルプ
卒業証書
バイナリファイルの内容を確認したい場合、Ubuntuでは「Strings」 」 コマンドが使用されます。 「文字列」とも呼ばれるバイナリ ファイルからテキスト フラグメントを抽出します。 」。この記事は、Ubuntu で文字列コマンドを使用する方法のデモンストレーションを行いました。 .これについても、さまざまな例を説明しました。これらを試して、strings コマンドをよりよく理解してください。