Pokaż wyniki 1 do 2 z 2

Temat: Rejestr CS i dziwne wartości

  1. #1
    Zarejestrowany
    Jan 2015
    Postów
    2

    Domyślnie Rejestr CS i dziwne wartości

    Na początek podam kod:

    Kod:
    mov eax,cs
    push eax
    
    lea eax,[esp]
    push eax
    
    call format1
    db "%x",0xa,0
    format1:
    call [ebx+3*4]      <-  Pointer na funkcję printf (c++)
    ret
    ---------------------
    Funkcja zwraca mi różne wartości od tych które zwraca mi debbugger
    I.E Raz debbugger mi wypisał że program został załadowany na 0xb7704100
    Tylko że program zwrócił mi 0xbfccb348
    ?
    Jakieś logiczne objaśnienie?
    Z góry dziękuję.

  2. #2
    Zarejestrowany
    Jan 2009
    Postów
    836

    Domyślnie

    CS jest 16bit a Ty wypychasz 32bit (EAX). Może zdejmują się jakieś nadmiarowe bity ?

Zasady Postowania

  • Nie możesz zakładać nowych tematów
  • Nie możesz pisać wiadomości
  • Nie możesz dodawać załączników
  • Nie możesz edytować swoich postów
  •  
Subskrybuj

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52