これは、Ubuntu Online、Fedora Online、Windowsオンラインエミュレーター、MACOSオンラインエミュレーターなどの複数の無料オンラインワークステーションのXNUMXつを使用してOnWorks無料ホスティングプロバイダーで実行できるコマンドndisasmです。
プログラム:
NAME
ndisasm-80x86バイナリファイル逆アセンブラであるNetwideDisassembler
SYNOPSIS
ディザズム [ -o 元 ] [ -s 同期点[...]] [ -a | -i ] [ -b ビット] [ -u ] [ -e hdrlen]
[ -p ベンダー] [ -k オフセット、長さ[...]]ファイル内
DESCRIPTION
この ディザズム コマンドは、バイナリファイルinfileの逆アセンブリリストを生成し、
stdoutにそれ。
OPTIONS
-h
目的 ディザズム 呼び出しオプションの概要を示した後、すぐに終了します。
-r|-v
目的 ディザズム バージョン番号を表示した後、すぐに終了します。
-o 起源
ファイルの想定ロードアドレスを指定します。 このオプションにより、 ディザズム 取得するため
左側の余白にリストされているアドレスと、
PCに相対的なジャンプと呼び出し、そうです。
-s 同期点
次のように、同期アドレスを手動で指定します。 ディザズム 何も出力しません
アドレスの両側のバイトを含むマシン命令。 従って
そのアドレスで始まる命令は正しく分解されます。
-e hdrlen
開始する前にファイルの先頭から破棄するバイト数を指定します
分解。 これは、分解オフセットの計算にはカウントされません。
最初の 分解した 命令は、指定されたロードアドレスから開始して表示されます。
-k オフセット、長さ
それを指定します 長さ 分解オフセットから始まるバイト オフセット、でなければなりません
出力を生成せずにスキップしました。 スキップされたバイトは引き続き
分解オフセットの計算。
-a|-i
自動(またはインテリジェント)同期モードを有効にします。 ディザズム 推測しようとします
ターゲットアドレスを調べることにより、同期を実行する必要がある場所
相対的なジャンプのとそれを分解すると呼びます。
-b ビット
16ビット、32ビット、または64ビットモードを指定します。 デフォルトは16ビットモードです。
-u
'-b32'を使用するよりもコンパクトに32ビットモードを指定します。
-p ベンダー
によって定義された命令を優先します ベンダー 競合の場合。 既知 ベンダー 名
include インテル, AMD, サイリックス, idt。 デフォルトは インテル.
制限事項
ディザズム バイナリファイルを分解するだけです:ヘッダー情報を理解していません
オブジェクトまたは実行可能ファイルに存在します。 オブジェクトファイルを逆アセンブルする場合は、
おそらく使用する必要があります オブジェクトダンプとします。
自動同期モードは、必ずしもすべての同期の問題を解決するわけではありません。同期マーカーは
ジャンプまたは呼び出し命令がそれを参照していることがわかった場合にのみ自動的に配置されます
ディザズム 実際にコードのその部分を分解します。 また、偽のジャンプや呼び出しがあった場合
マシンコード以外のデータを逆アセンブルした結果、同期マーカーが奇妙な場所に配置される可能性があります
場所。 自動同期をオフにして、必要に応じて手動での同期に戻ってください。
onworks.netサービスを使用してオンラインでndisasmを使用する