これは、Ubuntu Online、Fedora Online、Windowsオンラインエミュレーター、MACOSオンラインエミュレーターなどの複数の無料オンラインワークステーションのXNUMXつを使用してOnWorks無料ホスティングプロバイダーで実行できるコマンドscanelfです。
プログラム:
NAME
scanelf-ELFファイルをスキャンするためのユーザースペースユーティリティ
SYNOPSIS
スカネルフ [オプション] ELF or ディレクトリ
DESCRIPTION
スカネルフ は、特定のELF、ディレクトリ、または一般的なシステムをすばやくスキャンするためのユーザースペースユーティリティです。
さまざまな情報のパス。 これには、ELFタイプ、それらのPaXマーキング、TEXTREL、
など...
OPTIONS
-A, -アーカイブ
アーカイブのスキャン(.aファイル)
-a, - すべて
すべての有用な/簡単な情報を印刷する
-B, --バナーなし
ヘッダーを表示しない
-b, - 練る
シンボルバインディング情報を印刷します(遅延または現在)
-D, -エンディアン
ELFエンディアンを印刷します(大きい/小さい/ ...)
-E, --etype ETYPE
指定されたetype(ET_DYN、ET_EXECなど)に一致するELFファイルのみを印刷します
-e, - ヘッダ
GNU_STACKマーキングを印刷します
-F, - フォーマット FORMAT
出力には指定された形式を使用します。 を参照してください FORMAT 詳細はセクション
-f, - から FILE
指定されたファイル名から入力ストリームを読み取ります
-g, --gmatch
strncmpを使用してライブラリを照合します( -N)。 または、シンボルマッチングを使用した正規表現
-h, - 助けて
凝縮された使用法を表示して終了します
-I, -おさび
OSABIを印刷する
-i, --インタープ
通訳者情報を印刷する(.interp / PT_INTERP)
-k, - セクション セクション
指定されたセクションのELFを検索します。 一致するように複数回指定できます
同時に複数のセクション。 見る セクション マッチング 詳細はこちら
-L, --ldcache
ld.so.cache情報を利用します( -r/-n)
-l, --ldpath
のすべてのディレクトリをスキャンします /etc/ld.so.conf
-M, -ビット BITS
指定された数値ビット(32/64など)に一致するELFファイルのみを印刷します
-m, - マウント
マウントポイントを再帰的に交差させないでください
-N, --lib そなめ
指定されたSONAMEを必要とするELFを検索します。 一致するように複数回指定できます
複数のSONAMEを同時に。 見る そなめ マッチング 詳細はこちら
-n, -必要
ELFがリンクされている印刷ライブラリ(DT_NEEDED)
-O, -パーマ パーマ
指定された755進ビット(XNUMXなど)が一致するELFファイルのみを印刷します
-o, - ファイル FILE
指定されたファイル名に出力ストリームを書き込みます
-p, - 道
PATH環境のすべてのディレクトリをスキャンします
-q, - 静かな
「悪い」ものだけを出力する
-R, -再帰的
ディレクトリを再帰的にスキャンする
-r, --rpath
ELFでエンコードされた実行パスを出力します(DT_RPATH / DT_RUNPATH)
-S, --そなめ
ELFの共有ライブラリ名(DT_SONAME)を出力します
-s, - シンボル SYMBOL
指定された記号を見つけます。 見る SYMBOL マッチング 詳細は
-T, --textrels
objdumpを介してTEXTRELの原因を特定します
-t, --textrel
TEXTREL情報を印刷する
-V, - バージョン
バージョンを印刷して終了します
-v, -詳細
冗長にする(複数回使用できます)
-X, - 修理
悪いことを「修正」してみてください( -r/-e)
-x, --パックス
PaXマーキングを印刷する
-Y, --eabi
EABIを印刷します(いくつかのアーキテクチャでのみ重要です)
-y, -シンボリックリンク
シンボリックリンクをスキャンしないでください
-Z, - サイズ サイズ
ELFファイルサイズを印刷する
-z, --setpax FLAGS
EI_PAX / PT_PAX_FLAGSを指定されたフラグに設定します( -Xx)
--use-ldpath
ld.so.confパスを使用して、ライブラリへのフルパスを検索します(
-必要)。
- 根 パス
代わりに、指定されたルートツリーを検索します /. 通常、-lや
-p。 これにより、コマンドラインで指定されたすべてのパスが、
ルートなので、ELFを明示的にリストする場合は、必ず省略してください。
FORMAT
フォーマット文字列は、フラグ付きのリテラル文字列であるという点でprintf文字列によく似ています。
別の情報を要求する。 たとえば、フォーマット文字列を使用して期待できます
以下の結果。
# スカネルフ -BF 「ファイル%fには%nが必要です;ファンキーな時間」 /bin/bash
ファイルbashにはlibncurses.so.5、libdl.so.2、libc.so.6が必要です。 ファンキーな時間
フォーマット文字列を使用する場合、通常、情報関連のフラグは次のようになります。
省略。 言い換えれば、NEEDED出力を要求しようとしないでください(-n)そして
これらの操作は相互に排他的であると同時に、フォーマット出力を指定します。 各
情報関連フラグには同等の変換指定子があるため、代わりにそれらを使用してください。 君
もちろん、情報に関連しないフラグ( -詳細).
変換指定子を紹介するXNUMXつの文字があります。
· % -情報に置き換えます
· # -サイレントブール一致
· + -冗長一致
そして、いくつかの変換指定子があります。 指定子をと一致させようとします
対応するオプション。
· a -マシン(EM)タイプ
· b -バインドフラグ
· e -プログラムヘッダー
· D -エンディアン
· I -おさび
· Y --eabi
· F -長いファイル名
· f -短いファイル名
· i --interp
· k - セクション
· M -EIクラス
· N -指定が必要
· n -必要なライブラリ
· p -ファイル名(マイナス検索)
· o -etype
· O -パーマ
· r -ランパス
· S -SONAME
· s -記号
· T -すべてのテキストレル
· t -textrelステータス
· x --paxフラグ
SYMBOL マッチング
指定された文字列は次の形式を取ります [%[修飾子]%] [[+-] 名前>] [、[.....]].
Status シンボル 名 が空の場合、すべてのシンボルが一致します。
Status シンボル 名 グロブです( "*")、その後、すべてのシンボルがデバッグ形式でダンプされます。しないでください
この出力の構造は、必要に応じて変化するため、この出力の構造に依存します。
シンボル名の最初の文字がプラス( "+")、定義された記号のみに一致します。
マイナスです( "-「)、未定義の記号のみに一致します。「定義済み」とは、
シンボルはELFで定義されているのに対し、外部参照があります。
パーセント記号の間に修飾子を入れます( "%")より詳細なフィルターが可能です。
修飾子のグループがあります。 グループのメンバーを指定しない場合、すべてのタイプは
そのグループは一致しています。
· STT グループヘッド (記号タイプ)
· n -STT_NOTYPE
· o -STT_OBJECT
· f -STT_FUNC
· F -STT_FILE
· STB グループヘッド (シンボルバインディング)
· l -STB_LOCAL
· g -STB_GLOBAL
· w -STB_WEAK
· STV グループヘッド (シンボルの可視性)
· p -STV_DEFAULT
· i -STV_INTERNAL
· h -STV_HIDDEN
· P -STV_PROTECTED
· SHN グループヘッド (セクションヘッダー)
· d -定義済み
· u -SHN_UNDEF
· a -SHN_ABS
· c -SHN_COMMON
カンマ( ",") 分離するために
さまざまな検索。 一致するすべてのシンボルが表示され、一致しないシンボルは表示されます
しない。
ELF Eタイプ
ELFオブジェクトファイルタイプ(ETYPE)を指定することにより、検索を絞り込むことができます。 コマンドライン
オプションは、数値またはシンボリックタイプを取ります。 複数の値にコンマを渡すことができます
分離。 例-EET_EXEC、ET_DYN、1
これがあなたの喜びのために利用できる通常のリストです。 もちろん、自由に指定できます
必要な数値。
· 0 - ET_NONE -不明なタイプ
· 1 - ET_REL -再配置可能なファイル
· 2 - ET_EXEC - 実行可能ファイル
· 3 - ET_DYN -共有オブジェクト
· 4 - ET_CORE -コアファイル
ELF BITS
ELFビットサイズを指定して検索を絞り込むこともできます。 ここでも、数値を指定します
値またはシンボリック定義。
· 32 - エルフクラス32 -32ビットELF
· 64 - エルフクラス64 -64ビットELF
セクション マッチング
A ! プレフィックスは、指定されたセクションを持たないELFのみを表示します。
NEEDED そなめ マッチング
A ! プレフィックスは、指定されたライブラリに依存しないELFのみを表示します。
ホームページ
http://hardened.gentoo.org/pax-utils.xml
報告 バグ
(利用可能なデバッグオプションを使用して)できるだけ多くの情報を含めてください。
バグレポートをメンテナに送信します( 作者 セクション)。 ジェンツーペンギンをご利用ください
Bugzillaで http://bugs.gentoo.org/ 可能なら。
onworks.netサービスを使用してオンラインでscanelfを使用する