Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2005.07.18;
Скачать: [xml.tar.bz2];

Вниз

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

 
Витёк   (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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.52 MB
Время: 0.035 c
14-1119470222
NewWonder
2005-06-22 23:57
2005.07.18
Сколько стоит написать курсовик?


14-1119956998
Knight
2005-06-28 15:09
2005.07.18
Кто бесплатно отправлял факсы через инет?


1-1120240535
Бу
2005-07-01 21:55
2005.07.18
jpg


14-1119373720
ANB
2005-06-21 21:08
2005.07.18
Есть ли инсталлятор, позволяющий работать с Oracle ?


5-1090583947
Death_R
2004-07-23 15:59
2005.07.18
Создание компонент: использование свойств одного контрола в друго





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский