![]() |
|
Parent Process Erişme - Baskı Önizleme +- Delphi Can (https://www.delphican.com) +-- Forum: Delphi (https://www.delphican.com/forumdisplay.php?fid=3) +--- Forum: Genel Programlama (https://www.delphican.com/forumdisplay.php?fid=6) +--- Konu Başlığı: Parent Process Erişme (/showthread.php?tid=6759) |
Parent Process Erişme - narkotik - 05-05-2022 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. Cvp: Parent Process Erişme - Tuğrul HELVACI - 05-05-2022 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 Cvp: Parent Process Erişme - narkotik - 05-05-2022 (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:Teşekkürler inceleyeceğim Cvp: Parent Process Erişme - narkotik - 10-05-2022 @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. Cvp: Parent Process Erişme - Tuğrul HELVACI - 10-05-2022 (10-05-2022, Saat: 17:11)narkotik Adlı Kullanıcıdan Alıntı: @Tuğrul HELVACI hocam merhabalar, Merhaba bu makalemi okumayı deneyebilirsiniz sabrınız yeterse
Cvp: Parent Process Erişme - narkotik - 11-05-2022 (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, Teşekkürler, deneyim
|