Главная страница
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.49 MB
Время: 0.029 c
2-1159637385
waaw
2006-09-30 21:29
2006.10.15
{$INCLUDE ...


2-1159324834
balepa
2006-09-27 06:40
2006.10.15
Не пойму почему не видно Label ов


15-1158740215
Ega23
2006-09-20 12:16
2006.10.15
Зачем по уентральным каналам крутят рекламу ГазПрома?


3-1155295880
DelphiLexx
2006-08-11 15:31
2006.10.15
TFIBDataSet перемещение записи


15-1158739787
TUser
2006-09-20 12:09
2006.10.15
Из правил пользования компьютерным классом