2017-07-11 16 views
2

私はNASMを使用して、次のコードを組み立てていますOllyDbgの左下のペインには何が表示されますか?

global _start 

section .data 
    var1 DD 0xA1A2A3A4  ; 4 bytes 
    var2 DD 0xB1B2B3B4  ; 4 bytes 
section .bss 
    var3: RESD 1    ; 4 bytes 

section .text 
_start: 
    mov DWORD [var3], 0xC1C2C3C4 

私はOllyDbgでファイルを開いて、それが命令実行製:mov DWORD [var3], 0xC1C2C3C4を。

これは、この命令を実行した後OllyDbgで左下ペインの状態:

enter image description here

は、左下のペインが表示され何私が知りたいのですか?それはプロセスのデータセクションとbssセクションを表示していますか?

もしそうなら、プロセスのデータセクションのサイズは、データセクション(この場合は8バイト)に割り当てられたバイト数に依存しますか?

答えて

1

下段にはMemoryが表示されますので、必要な部分を表示するように尋ねることができます。デフォルトでは、データセクションに焦点を当てます。 OllyでMemory Mapウィンドウを開き、アドレスを確認することで確認できます。

enter image description here

しかし、私が言ったように、あなたはコマンド「に行く」とあなたにマッピングされた部分を表示するには、これを聞いて使用することができます。最小のサイズについては、デフォルトの最小値はおそらく1000hだと思います。

+0

NASMの 'セクション.bss'で宣言された変数は、プロセスのbssセクションではなく、プロセスのデータセクションに読み込まれますか? –

+0

私のケースでは、var3は.bssセクションにあり、.dataではなく、あなたと少し違った動作をします。あなたのメモリマップはどのように見えますか? –

+0

データセクションはアドレス0x01182000から始まり、そのサイズは0x1000バイトです(したがって 'var3'はデータセクションの一部です)。 –

関連する問題