Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Parent Process Erişme
#1
Merhaba,

Bir adet ana uygulamam mevcut. Bu ana uygulamam içerisinde CreateProcess ile yavru uygulamamı oluşturuyorum. 
JobsApi ile ana uygulama kapatıldığında yavru uygulamanın da kapatılmasını sağladım. 
Yavru uygulamada ana uygulamamın handle, processid ve nesnelerin pointer adresini biliyorum.
Sorum şudur yavru uygulamadan ana uygulamadaki örnek olarak edit veya buton nesnesine pointer adresi üzerinden direk erişim sağlayabilirmiyim.
Alternatif önerilere ve araştırma için anahtar kelimelere açığım. Yapmak istediğim aslında pointer hook ile ana uygulama nesnelerine direk erişim.
Yalnızım ama bir kente yürüyen ordu gibiyim, edebiyattan kaçınmalıyım..
Cevapla
#2
Merhaba, her process'in hafıza alanı birbirinden bağımsızdır. Dolayısı ile aynı hafıza adresi her iki process için de sanal bellekte de ve elbette fiziksel bellekte de aslında farklı lokasyonları gösteriyor olacaktır. Gelelim, bir başka process'in hafıza alanlarını değiştirip değiştiremeyeceğinize. Evet, bunu yapabilirsiniz. Bunun için sizinle bir kaç API paylaşayım:

WriteProcessMemory
ReadProcessMemory
CreateRemoteThread
Mal sahibi, mülk sahibi
Hani bunun ilk sahibi ?
Mal da yalan mülk de yalan
Var biraz da sen oyalan...
WWW
Cevapla
#3
(05-05-2022, Saat: 18:38)Tuğrul HELVACI Adlı Kullanıcıdan Alıntı: Merhaba, her process'in hafıza alanı birbirinden bağımsızdır. Dolayısı ile aynı hafıza adresi her iki process için de sanal bellekte de ve elbette fiziksel bellekte de aslında farklı lokasyonları gösteriyor olacaktır. Gelelim, bir başka process'in hafıza alanlarını değiştirip değiştiremeyeceğinize. Evet, bunu yapabilirsiniz. Bunun için sizinle bir kaç API paylaşayım:

WriteProcessMemory
ReadProcessMemory
CreateRemoteThread
Teşekkürler inceleyeceğim
Yalnızım ama bir kente yürüyen ordu gibiyim, edebiyattan kaçınmalıyım..
Cevapla
#4
@Tuğrul HELVACI hocam merhabalar,
Öncelikle teşekkür ederim. Apileri kullanarak belirli bir ilerleme sağladım. Takıldığım bir kısım oldu size danışmak istedim.

Ondalıklı ve tamsayı verilerini yavru uygulamamdan değişimini yapmayı sağladım. Fakat string verilerde problemim var.

Şimdi ana uygulamamda mevcut olan bir string veriyi değiştirmek için aşağıdaki yöntemi çalıştırdım.

Ana uygulama değişken
TestValue : TBytes;


Yavru uygulama yazma işlemi

procedure WriteBytes2(Process: THandle; Address: NativeInt; const WhatToWrite: Array of Byte);
var
 i : Integer;
 Written: Cardinal;
begin
 for I := 0 to SizeOf(WhatToWrite) - 1 do
 begin
   //VirtualAllocEx(Process, Pointer(Address + i), SizeOf(Byte), MEM_COMMIT,  PAGE_READWRITE);
   WriteProcessMemory(Process, Pointer(Address + i), @WhatToWrite[i], SizeOf(WhatToWrite[i]), Written);
 end;
end;

String yazma işlemini de gerçekleştirdim. Fakat bir problemim var VirtualAllocEx çalıştıramadım. Array of Byte boyutunu ana uygulamada ayarlamak zorunda
kalıyorum. Bunun için nasıl bir yöntem izlemeliyim.
Yalnızım ama bir kente yürüyen ordu gibiyim, edebiyattan kaçınmalıyım..
Cevapla
#5
(10-05-2022, Saat: 17:11)narkotik Adlı Kullanıcıdan Alıntı: @Tuğrul HELVACI hocam merhabalar,
Öncelikle teşekkür ederim. Apileri kullanarak belirli bir ilerleme sağladım. Takıldığım bir kısım oldu size danışmak istedim.

Ondalıklı ve tamsayı verilerini yavru uygulamamdan değişimini yapmayı sağladım. Fakat string verilerde problemim var.

Şimdi ana uygulamamda mevcut olan bir string veriyi değiştirmek için aşağıdaki yöntemi çalıştırdım.

Ana uygulama değişken
TestValue : TBytes;


Yavru uygulama yazma işlemi

procedure WriteBytes2(Process: THandle; Address: NativeInt; const WhatToWrite: Array of Byte);
var
 i : Integer;
 Written: Cardinal;
begin
 for I := 0 to SizeOf(WhatToWrite) - 1 do
 begin
   //VirtualAllocEx(Process, Pointer(Address + i), SizeOf(Byte), MEM_COMMIT,  PAGE_READWRITE);
   WriteProcessMemory(Process, Pointer(Address + i), @WhatToWrite[i], SizeOf(WhatToWrite[i]), Written);
 end;
end;

String yazma işlemini de gerçekleştirdim. Fakat bir problemim var VirtualAllocEx çalıştıramadım. Array of Byte boyutunu ana uygulamada ayarlamak zorunda
kalıyorum. Bunun için nasıl bir yöntem izlemeliyim.

Merhaba bu makalemi okumayı deneyebilirsiniz sabrınız yeterse  Shy
Mal sahibi, mülk sahibi
Hani bunun ilk sahibi ?
Mal da yalan mülk de yalan
Var biraz da sen oyalan...
WWW
Cevapla
#6
(10-05-2022, Saat: 18:03)Tuğrul HELVACI Adlı Kullanıcıdan Alıntı:
(10-05-2022, Saat: 17:11)narkotik Adlı Kullanıcıdan Alıntı: @Tuğrul HELVACI hocam merhabalar,
Öncelikle teşekkür ederim. Apileri kullanarak belirli bir ilerleme sağladım. Takıldığım bir kısım oldu size danışmak istedim.

Ondalıklı ve tamsayı verilerini yavru uygulamamdan değişimini yapmayı sağladım. Fakat string verilerde problemim var.

Şimdi ana uygulamamda mevcut olan bir string veriyi değiştirmek için aşağıdaki yöntemi çalıştırdım.

Ana uygulama değişken
TestValue : TBytes;


Yavru uygulama yazma işlemi

procedure WriteBytes2(Process: THandle; Address: NativeInt; const WhatToWrite: Array of Byte);
var
 i : Integer;
 Written: Cardinal;
begin
 for I := 0 to SizeOf(WhatToWrite) - 1 do
 begin
   //VirtualAllocEx(Process, Pointer(Address + i), SizeOf(Byte), MEM_COMMIT,  PAGE_READWRITE);
   WriteProcessMemory(Process, Pointer(Address + i), @WhatToWrite[i], SizeOf(WhatToWrite[i]), Written);
 end;
end;

String yazma işlemini de gerçekleştirdim. Fakat bir problemim var VirtualAllocEx çalıştıramadım. Array of Byte boyutunu ana uygulamada ayarlamak zorunda
kalıyorum. Bunun için nasıl bir yöntem izlemeliyim.

Merhaba bu makalemi okumayı deneyebilirsiniz sabrınız yeterse  Shy

Teşekkürler, deneyim Smile
Yalnızım ama bir kente yürüyen ordu gibiyim, edebiyattan kaçınmalıyım..
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  domaindeki bir klasöre kullanıcı adı ve şifre ile erişme shooterman 9 2.770 23-01-2023, Saat: 12:17
Son Yorum: shooterman
  Uygulamanın Ram bilgilerine erişme (ÇÖZÜLDÜ) resatarikan 4 2.114 04-05-2021, Saat: 23:35
Son Yorum: resatarikan
  [ÇÖZÜLDÜ - SOLVED] Owner - Parent Form nasıl kullanılmalı? 3ddark 12 9.462 05-06-2020, Saat: 09:58
Son Yorum: mrmarman
  parent formda mouse sol klik çalışmıyor erdogan 5 4.800 18-06-2019, Saat: 14:30
Son Yorum: erdogan
  exeyi çalışan process altına ekleme dkadir 4 3.848 08-09-2018, Saat: 14:34
Son Yorum: QuAdR



Konuyu Okuyanlar: 1 Ziyaretçi