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

Вниз

Нужна помощ!!!!   Найти похожие ветки 

 
root ©   (2006-09-25 18:18) [0]

Существет процесс в процессе есть переменная TBitmap
как из другого приложения сделать следующее:

найти эту переменную
прочитать с нее данные
записать в нее данные


 
@!!ex ©   (2006-09-25 18:46) [1]

Щютник, нафик.....
Где то я похожий вопрос уже видел. неть?

Процесс твой? Ты можеш его код менять?


 
@!!ex ©   (2006-09-25 19:02) [2]

P.S.
Кстати, стороний процесс не имеет доступа к памяти другого процесса.
Так что придется делать через Hook...
Если процесс твой, то ИМХО глупо делать хук для своего процесса....
Если процесс  не твой и код его ты изменять не можеш... То толку от хука не будет. ИМХО

Объясни чего добится хочеш.
Этот тот случай, когда задачу надо знать целиком.


 
Dmitrij_K   (2006-09-25 20:03) [3]


> Кстати, стороний процесс не имеет доступа к памяти другого
> процесса.

Зато может получить
program Project1;
uses
 Windows, Messages, Classes;
procedure DumpMemory(ProcessID: dword);
var
 hProcess: THandle;
 Mbi:      TMemoryBasicInformation;
 Buf:      PByte;
 adr, r:   dword;
 fs:       TFileStream;
begin
 adr := 0; r := 0;
 hProcess := OpenProcess(PROCESS_QUERY_INFORMATION or PROCESS_VM_READ or
                         PROCESS_VM_OPERATION, false, ProcessID);
 if hProcess <> 0 then
 begin
   try
     fs := TFileStream.Create("C:\dump.mmr", fmCreate);
   except fs := nil; end;
   while VirtualQueryEx(hProcess, pointer(Adr), Mbi, SizeOf(Mbi)) <> 0 do
   begin
     if (Mbi.State = MEM_COMMIT) and not ((Mbi.Protect and PAGE_GUARD) = PAGE_GUARD) then
     begin
       GetMem(Buf, Mbi.RegionSize);
       try
         if ReadProcessMemory(hProcess, Mbi.BaseAddress, Buf, Mbi.RegionSize, r) then
           if fs <> nil then fs.Write(Buf^, r);
       finally
         FreeMem(Buf);
       end;
     end;
     adr := adr + Mbi.RegionSize;
   end;
   fs.Free; CloseHandle(hProcess);
 end;
end;
begin
 DumpMemory(GetCurrentProcessId);
end.


 
Leonid Troyanovsky ©   (2006-09-25 22:39) [4]


> Dmitrij_K   (25.09.06 20:03) [3]

>    fs.Free; CloseHandle(hProcess);


Фу-фу. В одну-то строку.

И, вообще, ожидающие исключений от win32 вызовов -
неисправимые оптимисты.

Ну, и, наконец, серьезные люди не могут быть анонимами.

--
Regards, LVT.


 
Dmitrij_K   (2006-09-26 08:52) [5]


> Фу-фу. В одну-то строку.

Код не мой, содрал откуда-то. Критиковать каждый может, напиши тогда как правильно.


 
Сергей М. ©   (2006-09-26 09:08) [6]


> root ©   (25.09.06 18:18)


> Существет процесс в процессе есть переменная TBitmap


Это процесс твоего приложения ? Или "чужого" ?


 
root ©   (2006-09-26 10:51) [7]

TBitmap находится в чужем процессе.
данные  поступают в эту переменную через TImage или TPanel пока непонятно повторяю процесс чужой была задача получить HWND  TPanel  и перерисовать его но переменная TBitmap осталась неизменной т.е. в нее непоступили изменения из этого вопрос есть ли путь изменения значения переменной находящейся в другом процессе например из режима драйвера?
ктонибудь имеет представление как это реализовать?


 
Сергей М. ©   (2006-09-26 11:27) [8]

А с чего ты взял, что вражеское приложение написано в Делфи ?


 
Leonid Troyanovsky ©   (2006-09-26 12:18) [9]


> Dmitrij_K   (26.09.06 08:52) [5]

> > Фу-фу. В одну-то строку.

> напиши тогда как правильно.


В две :)

Насчет же, писать либо критиковать, я уж решу сам.
А для чужого кода принято приводить копирайт.

--
Regards, LVT.

PS Извини, но я избегаю длительных дискуссий с анонимами.


 
Elen ©   (2006-09-26 12:31) [10]


> данные  поступают в эту переменную

Если эти данные хранятся как ресурсы тебе проще выдрать-заменить их там чем нибудь типа ExeScope, а не писать свой патчер



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

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

Наверх




Память: 0.47 MB
Время: 0.045 c
3-1155627561
Death
2006-08-15 11:39
2006.10.15
Создание индексов в THalcyonDataSet


2-1159683245
Колобок
2006-10-01 10:14
2006.10.15
не знаю какая тут тема


15-1159197705
Konstantin555
2006-09-25 19:21
2006.10.15
Как в Microsoft Excel записать ячейку-константу?


2-1159444795
Alex_C
2006-09-28 15:59
2006.10.15
Иметация нажатия клавиши в Memo


15-1159188089
Crazy monkey
2006-09-25 16:41
2006.10.15
TES4: Oblivion. Чем все закончилось?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский