Wymiana danych w pamięci RAM - jak?

dział ogólny

Wymiana danych w pamięci RAM - jak?

Nowy postprzez Chlorek » sobota, 8 stycznia 2011, 17:00

WItam. Jak można zmienić dane w pamięci RAM? Mam aplikację i wiem pod jakim adresem są dane, które chcę zmienić jednak nie potrafię. Czy jest możliwość zmiany tych danych? Czy mogę zrobić to aplikacją konsolową?
Kevin Mitnick - łamacz ludzi, nie haseł.
Najlepszy sposób nauki c++... pisać, pisać, pisać, pisać i jeszcze raz pisać!
Avatar użytkownika
Chlorek
Bladawiec
Bladawiec
 
Posty: 41
Dołączył(a): czwartek, 6 stycznia 2011, 20:20
Lokalizacja: Tu i tam
Podziękował : 2
Otrzymał podziękowań: 0
System operacyjny: Linux Macpup & Win XP Prof & Linux SlackWare & Linux Ubuntu
Kompilator: Dev-C++ v4.9.9.2 (mingw 3.4.2); Code::Blocks v10.05 (mingw najnowsze)
SKYPE: chlorekcl
    Windows XPFirefox

Re: Wymiana danych w pamięci RAM - jak?

Nowy postprzez polymorphism » sobota, 8 stycznia 2011, 17:09

A co, aplikacje konsolowe to jakieś ograniczone możliwości mają?

Chodzi Ci o dłubanie w pamięci obcego procesu? Jeśli tak, to poczytaj sobie o funkcjach ReadProcessMemory i WriteProcessMemory.
C++ Reference - opis wszystkich klas STL-a i funkcji C.
Avatar użytkownika
polymorphism
Doświadczony Programista ● Moderator
Doświadczony Programista ● Moderator
 
Posty: 2156
Dołączył(a): piątek, 19 grudnia 2008, 13:04
Podziękował : 0
Otrzymał podziękowań: 200
System operacyjny: Windows 8.1
Windows 10
Linux Mint 21.1
Kompilator: Visual Studio
Visual Studio Code
MSYS2 (MinGW, clang)
g++
clang
Gadu Gadu: 0
    Windows XPFirefox

Re: Wymiana danych w pamięci RAM - jak?

Nowy postprzez Chlorek » sobota, 8 stycznia 2011, 17:33

O tak... o to mi chodziło. Nawet nie jest to takie trudne ;) nigdzie jednak nie mogę znaleźć informacji o potrzebnych header'ach. Jakie są wymagane?
Kevin Mitnick - łamacz ludzi, nie haseł.
Najlepszy sposób nauki c++... pisać, pisać, pisać, pisać i jeszcze raz pisać!
Avatar użytkownika
Chlorek
Bladawiec
Bladawiec
 
Posty: 41
Dołączył(a): czwartek, 6 stycznia 2011, 20:20
Lokalizacja: Tu i tam
Podziękował : 2
Otrzymał podziękowań: 0
System operacyjny: Linux Macpup & Win XP Prof & Linux SlackWare & Linux Ubuntu
Kompilator: Dev-C++ v4.9.9.2 (mingw 3.4.2); Code::Blocks v10.05 (mingw najnowsze)
SKYPE: chlorekcl
    Windows XPFirefox

Re: Wymiana danych w pamięci RAM - jak?

Nowy postprzez polymorphism » sobota, 8 stycznia 2011, 19:05

No proszę Cię :twisted: Wystarczy, że wpiszesz w google nazwę funkcji, wejdziesz na stronę microsoftu i przewiniesz na sam dół. W tabelce (Requirements) masz napisane co i jak.
C++ Reference - opis wszystkich klas STL-a i funkcji C.

Za ten post autor polymorphism otrzymał podziękowanie od:
Chlorek
Avatar użytkownika
polymorphism
Doświadczony Programista ● Moderator
Doświadczony Programista ● Moderator
 
Posty: 2156
Dołączył(a): piątek, 19 grudnia 2008, 13:04
Podziękował : 0
Otrzymał podziękowań: 200
System operacyjny: Windows 8.1
Windows 10
Linux Mint 21.1
Kompilator: Visual Studio
Visual Studio Code
MSYS2 (MinGW, clang)
g++
clang
Gadu Gadu: 0
    Windows XPFirefox

Re: Wymiana danych w pamięci RAM - jak?

Nowy postprzez Chlorek » niedziela, 9 stycznia 2011, 17:35

Nie czytałem nic na stronie microsoft'u ale przejrzałem kilka zagranicznych stronek o programistyce i mam coś takiego... jest to programik konsolowy tak jak chciałem.
Kod: Zaznacz cały
#include <windows.h>
#include <iostream>

using namespace std;

int main()
{
    LONG address = 0x0;
    BYTE newvalue[] = {0x0};
    HWND hwnd;
    HANDLE phandle;
    DWORD pid;
    hwnd = FindWindow(NULL, "Nazwa_procesu");
    if (hwnd != 0) {
        GetWindowThreadProcessId(hwnd, &pid);
        phandle = OpenProcess(PROCESS_ALL_ACCESS, 0, pid);
    } else {
        cout << "Nie znaleziono procesu.";
        cin.get();
        return 0;
    }
    if (phandle != 0) {
        WriteProcessMemory(phandle, (LPVOID)address, (LPVOID) &newvalue, 2, 0);
        cout << "Zapisano do pamięci.";
        cin.get();
    } else {
        cout << "Nie znaleziono uchwytu.";
        cin.get();
    }
}


Dzięki za pomoc polymorphism ;)
Kevin Mitnick - łamacz ludzi, nie haseł.
Najlepszy sposób nauki c++... pisać, pisać, pisać, pisać i jeszcze raz pisać!
Avatar użytkownika
Chlorek
Bladawiec
Bladawiec
 
Posty: 41
Dołączył(a): czwartek, 6 stycznia 2011, 20:20
Lokalizacja: Tu i tam
Podziękował : 2
Otrzymał podziękowań: 0
System operacyjny: Linux Macpup & Win XP Prof & Linux SlackWare & Linux Ubuntu
Kompilator: Dev-C++ v4.9.9.2 (mingw 3.4.2); Code::Blocks v10.05 (mingw najnowsze)
SKYPE: chlorekcl
    Windows XPFirefox


  • Podobne tematy
    Odpowiedzi
    Wyświetlone
    Ostatni post

Powrót do Ogólne problemy z programowaniem

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 6 gości