Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.07.18;
Скачать: CL | DM;

Вниз

Изменить память по адресу   Найти похожие ветки 

 
Витёк   (2005-06-29 04:48) [0]

Помогите пожалуйста! Как изменить значение памяти по адресу! Например по адресу 0390242C значение равное 500, а я хочу изменить его на 1000! Как это сделать? Помогите пожалуйста! Заранее благодарен!


 
Kerk ©   (2005-06-29 06:50) [1]

var
 p: PDWORD;
begin
 p := Pointer($0390242C);
 p^ := 1000;
end;


 
-=XP=- ©   (2005-06-29 07:12) [2]

1. pword($0390242C)^ := 1000;
2. word(pointer($0390242C)^) := 1000;

Только следует помнить, что память эта - виртуальная. Поэтому влезть в системные области памяти хоть и можно, но это навредит только Вашей программе.


 
имя   (2005-06-29 08:36) [3]

Удалено модератором


 
Kerk ©   (2005-06-29 08:39) [4]

"Так то в сети. В сети проще у вас спросить. А вот на компе..." (с)

У тебя такая же жизненная философия?


 
имя   (2005-06-29 08:53) [5]

Удалено модератором


 
Kerk ©   (2005-06-29 08:59) [6]

Бухало_в_одиночку)))   (29.06.05 8:53) [5]
а) поддерживаю тему разговора


Малаца! :)


> б) пытаюсь заранее найти ответы на вопросы, которые
> могут возникнуть у других

Идем в конфу WinAPI, делаем поиск по "получить список процессов".

> в) добавляю несколько своих слов на форум, что
> добавляет вероятность попадания на этот форум с
> поисковых машин :)

Это хорошо. И текст хороший. Давай я помогу: porno, xxx, teen, nude, celebs, Kournikova, Pamela Anderson


 
vidiv ©   (2005-06-29 09:03) [7]

Хы.. а в видео память можно напрямую записать чегонить??


 
имя   (2005-06-29 09:05) [8]

Удалено модератором


 
имя   (2005-06-29 09:15) [9]

Удалено модератором


 
-=XP=- ©   (2005-06-29 09:29) [10]

Давай я помогу: porno, xxx, teen, nude, celebs, Kournikova, Pamela Anderson

Первые семь строк из IE History?


 
Kerk ©   (2005-06-29 09:30) [11]

-=XP=- ©   (29.06.05 9:29) [10]
Первые семь строк из IE History?


У меня FireFox! :))


 
Kerk ©   (2005-06-29 09:32) [12]

-=XP=- ©   (29.06.05 9:29) [10]
Давай я помогу: porno, xxx, teen, nude, celebs, Kournikova, Pamela Anderson

Первые семь строк из IE History?


А ты молодец. Хорошая идея. :)
Чем больше раз процитируем, тем выше страница в результатах поиска. :))


 
имя   (2005-06-29 09:51) [13]

Удалено модератором


 
имя   (2005-06-29 09:54) [14]

Удалено модератором


 
Kerk ©   (2005-06-29 09:55) [15]

Удалено модератором
Примечание: Offtopic


 
имя   (2005-06-29 09:56) [16]

Удалено модератором


 
Kerk ©   (2005-06-29 09:57) [17]

> Так лучше?

Сейчас узнаем.
А что в [13] было?


 
имя   (2005-06-29 09:59) [18]

Удалено модератором


 
TUser ©   (2005-06-29 10:01) [19]

Я отношусь к отсталой интеллепупции, - что такое "celebs" даже не знаю.


 
имя   (2005-06-29 10:01) [20]

Удалено модератором


 
имя   (2005-06-29 10:03) [21]

Удалено модератором


 
Kerk ©   (2005-06-29 10:04) [22]

имя, ###, кончай флуд. достал. видишь, что режут, зачем продолжаешь?

> > что такое "celebs" даже не знаю

Знаменитости всякие


 
uny ©   (2005-06-29 10:11) [23]

Kerk баловался красненьким...)


 
Чай толпой   (2005-06-29 10:26) [24]

(C)тырено

Delphi version:

1) copy&paste:
    function GetWindowProcessIDHandle(AppName: PAnsiChar): DWORD;
    begin
     if LongBool(GetWindowThreadProcessId(FindWindow(nil,AppName),Result)) then
      // С помощью FindWindow мы получаем хендл нужного окна и с помощью
      // GetWindowThreadProcessId пытаемси получить в Result PID (Process ID) окошка,
      // результатом работы функции будет TID (Thread ID), поскольку результат 4х байтный,
      // то с помощью LongBool проверяем на 0. 0 = False, >0 = True..
      Result := OpenProcess(PROCESS_ALL_ACCESS,False,Result);
      // А с помощью OpenProcess получаем хендл процесса, всё гениально и просто...
    end;

2) юзаем фукнц. под названием WriteProcessMemory/ReadProcessMemory...думаю сами разберётесь что к чему...
   *function WriteProcessMemory( hProcess: THandle;  
                                // тот самый хэндл, который мы получили
                                const lpBaseAddress: Pointer;
                                // указатель на переменную с адресом
                                lpBuffer: Pointer;
                                // указатель на переменную с записываемым значением
                                nSize: DWORD;
                                // ВАЖНО ТОЧНО!!! знать размер заменяемого значения
                                // если вы попытаетесь записать 4х байта в 2х..
                                // то сами знаете, ничего хорошего не выйдет..
                                var lpNumberOfBytesWritten: DWORD): BOOL; stdcall;
    // а здесь мы получаем кол-во реально записанных байт
   
   *function ReadProcessMemory( hProcess: THandle;
                               // думаю и сами догадались :)
                               const lpBaseAddress: Pointer;
                               // я не ошибся ?
                               lpBuffer: Pointer;
                               // а енто, указатель на переменную, куда буим записывать
                               // прочитанное значение..
                               nSize: DWORD;
                               // Хехе, думаю догадались да?
                               var lpNumberOfBytesRead: DWORD): BOOL; stdcall;
   // а здесь мы получаем кол-во реально прочитанных байт

* если функция выполнилась успешно, результат True, иначе False...

3) после работы с хендлом PID"a, надо его закрыть CloseHandle(hObject: DWORD); P.S: Да и с любым хендлом надо так же поступать, закрывать.



Страницы: 1 вся ветка

Текущий архив: 2005.07.18;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.044 c
14-1118869482
Soft
2005-06-16 01:04
2005.07.18
Я сегодня окончательно убедился во влиянии звезд на судьбу.


4-1116935485
Antonn
2005-05-24 15:51
2005.07.18
Синхронизация времени в Internet


3-1118154518
ryds
2005-06-07 18:28
2005.07.18
Подскажите какой есть аналог SQL-функции REPLACE в IB?


1-1119637492
rolex
2005-06-24 22:24
2005.07.18
Как вычислить уровень itema в TreeView?


10-1096551187
AntonSh
2004-09-30 17:33
2005.07.18
COM Server