Как прочитать значение по конкретному адресу в с++

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by hiphop191817, 5 Nov 2010.

  1. hiphop191817

    hiphop191817 New Member

    Joined:
    25 Apr 2009
    Messages:
    26
    Likes Received:
    0
    Reputations:
    0
    Как в с++ прочитать значение по конкретному адресу? То есть вот у меня запущена программа и я хочу прочитать что в ней находится по адресу x400100 например. Пробовал через указатели, но им можно присваивать лишь адреса переменных.
    Ассемберные вставки не предлагать, так как в dev c++ там какой-то извращённый компилятор ассемблерного кода.
     
  2. WNZRS

    WNZRS Member

    Joined:
    3 Sep 2009
    Messages:
    294
    Likes Received:
    52
    Reputations:
    1
    *(TYPE*)(0x400100) если 0х400100 - глобальный адрес
    *(TYPE*)(0x400100 + dwLoadOffset) если 0х400100 - локальный адрес, dwLoadOffset - начало адресного пространства проги
     
  3. hiphop191817

    hiphop191817 New Member

    Joined:
    25 Apr 2009
    Messages:
    26
    Likes Received:
    0
    Reputations:
    0
    *(TYPE*)(0x400100) не компилируется. И не совсем понятно, отуда такой код? ни в какой книге ничего подобного не видел
     
  4. WNZRS

    WNZRS Member

    Joined:
    3 Sep 2009
    Messages:
    294
    Likes Received:
    52
    Reputations:
    1
    вместо TYPE надо написать тип (char, short, int, long, float, double, и тд.)
    Если и дальше не будет компилиться, пиши вывод компиля

    то что я написал, можно расписать в:
    Code:
    TYPE *link = (TYPE*)0x400100; // указатель на переменную типа TYPE
    TYPE value = *link; // Получаем значение
     
    #4 WNZRS, 5 Nov 2010
    Last edited: 5 Nov 2010
  5. Catbert

    Catbert Banned

    Joined:
    29 Jun 2010
    Messages:
    80
    Likes Received:
    27
    Reputations:
    10
    http://msdn.microsoft.com/en-us/library/ms680553%28VS.85%29.aspx

    Не вариант?
     
  6. Dralka

    Dralka New Member

    Joined:
    20 Dec 2007
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    люди ,подскажите
    задача примерно та же .
    надо узнать что находится по конкретному адресу
    + надо способ изменения этих данных в этом адресе
    тока на C#
     
  7. BrainDeaD

    BrainDeaD Elder - Старейшина

    Joined:
    9 Jun 2005
    Messages:
    774
    Likes Received:
    292
    Reputations:
    214
    ReadProcessMemory, WriteProcessMemory