問題タブ [mbr]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linux - アセンブリ コードについて
誰もが次のアセンブリ コードにいくつかの洞察を提供できますか:
詳しくは:
ブートローダーは、実際には、Xor 復号化を使用して解読する小さな 16 ビット ブートローダーであり、より大きなものであり、セクター 3 から 34 にある Linux ブートローダーです (1 セクターは、そのディスクでは 512 バイトです)。
全体が、組み込み Linux で実行される exec の保護システムです。
保護が削除されたバージョンには、Linux ブートローダーが既に解読されているため (IDA を使用して元に戻すことができました)、保護のないバージョンでは xor キーをゼロでのみ作成する必要があると想定しています。
保護が削除されたバージョンのオフセット 0x800 から 0x8FF を見ると、ゼロで埋められていないため、これをキーにすることはできません。そうしないと、このバージョンをロードできず、プレーン データを xor してゴミしかロードしません。
セクター 3->34 は元のバージョンでは暗号化されており、私たちのバージョンでは暗号化されていません (保護が削除されています) が、MBR コード (小さなプリブートローダー) は両方のバージョンで同一です。
では、MBR のアセンブリ コードに、xor キーの場所をわずかに変更する細部があるのではないでしょうか?
これは単に、アセンブリ コード ローダーをよりよく理解するために行っている演習であり、これを実行するのは非常に困難であることがわかりました。これまでにご意見をお寄せいただきありがとうございます。
nasm - ブートローダーが次の起動デバイスにジャンプする
これまでのところ、NASM を使用して「Hello world」を出力してからハングする単純なブートローダーを作成することができました。このブートローダーの長さは 512K で、ペンドライブの MBR に格納されています。BIOS は、最初に USB 外部デバイスを起動し、次に対応するオペレーティング システムでハード ドライブを起動するように構成されています。前に言ったように、終了しないループ命令 (jmp $) が原因で、'Hello world' を出力した後にブートローダーがハングします。したがって、ブートローダーが実行を終了した後、ブート シーケンスを続行できるかどうか (次のブート デバイスにジャンプする) が可能かどうかを知りたいです。ペンドライブから「Hello world」を印刷した後、(HD から) OS の実行を続行する方法はありますか? これを達成するのはどの命令または割り込みですか?
前もって感謝します。
assembly - nasm に MBR を書き込んで保存する
自分の OS に独自のMBRを書きたいboot.Mbr in diffrent file Bootloader indiffrent file int 13h で mbr をメモリにロードしたいが、bootloader.i しかロードしないのは org が原因だと思う サンプルコード:
そこにMbrを書きたいのですが、ブートロードを書いていました
Windows nasm で compaling を行っていたので、iso miso.exe と copy.exe を用意しました。ありがとうございます。
bash - bashスクリプトでパーティションのオフセットを取得するには?
parted
画像のオフセットを調べるために使用できます。
たとえば、パーティションは から始まり2097152
ます。
どうすれば2097152
bash スクリプトで取得できますか?
おそらく出力を解析できますが、おそらくもっと適切な方法がありますか?
c - CでMBR(マスターブートレコード)を「読み取る」方法は?
CでMBRを分析するプログラムを書きたいだけです。
Windows の API または Linux のコマンドを介してそれを読み取るいくつかの方法を知っています。
しかし、プラットフォームに依存する制限なしに C で実行できますか?
できない場合、何か理由はありますか?