0

フラッシュ ドライブをコンピュータに挿入すると、最初の 512 バイトが実行されますか? はいの場合 (そうである必要があります)、MBR を抽出して逆アセンブルし、(フラッシュ ドライブ上に) 保存されている実行可能ファイルのメモリ位置を指す参照を挿入すると、その実行可能ファイルがいつでも実行れると思います。コンピューターに接続されている..?

どうすればそれができますか?つまり、単純なことをするだけでcall <address>はそれはできません..フラッシュドライブのMBRについても知りたいです.オペレーティングシステムをブートストラップするMBRとは異なるためです。それをグーグルで調べても、まったく役立つものは何も表示されません..だから、誰かが以前にこのようなことをしたことがあるかどうか、コミュニティに尋ねることを考えました.

4

1 に答える 1

2
  1. いいえ
  2. 一部のオペレーティング システムには、推奨されていない「自動実行」機能があります。

フラッシュ ドライブは、ドライバーの必要性を回避するために、レガシー テクノロジのレイヤーに基づいています。
最下位レベルには、USB パケットがあります (Pascal Cuoq による大容量記憶装置の仕様を参照してください)
。各 USB トランザクションは、SCSI コマンド/応答のペアです。
OS はフラッシュ ドライブを SCSI ディスクとして扱います (たとえば、Linux では /dev/sdX が表示されます)。

フラッシュ ドライブは通常の SCSI ディスクのように見えるため、通常は MBR/パーティション テーブルがあります。ただし、ほとんどのオペレーティング システムは「スーパーフロッピー」モードをサポートしており、この場合、ディスクは FAT ブートセクタで始まります。一部の小さなフラッシュ ドライブ、またはレガシー ユーティリティでフォーマットされたフラッシュ ドライブは、その構成にある可能性があります。

Microsoft の DSKPROBE ユーティリティ (PhysicalDrive オプションを使用) を使用するか、.\PhysicalDriveX を使用して 'dd.exe' を使用して、Windows でフラッシュ ドライブ MBR を例に挙げることができます (ここで、X は数字で、ハード ドライブの数に基づいて、通常は 2 です)。あなたが持っている)

適切に構成されたコンピューターでは、デバイスが接続されているときにコードを実行する方法はありません。
「自動実行」機能がデフォルトでオンになっている場合でも、CDROM のように見えるデバイスを使用する必要がありました。
(SCSI コマンド セットを使用すると、デバイスは CD か HD かを判別できますが、フラッシュ ドライブのファームウェアは簡単に嘘をつくことができます)。

于 2011-09-05T22:07:30.887 に答える