Diğer programın değişkenlerini değiştirme
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
-
- Üye
- Mesajlar: 239
- Kayıt: 04 Oca 2008 01:53
- Konum: Karşıyaka/İzmir
Diğer programın değişkenlerini değiştirme
İki uygulamamız var. İki uygulamayı da kendimizin yaptığını düşünelim. Bir uygulamadan diğer uygulamanın değişkenleri değiştirilebilir mi? Diğer porgramdaki değişkenlerin pointerlarına erişmek mümkün mü?
In dubio pro reo...
Şüpheden sanık/özgürlük yararlanır...
Şüpheden sanık/özgürlük yararlanır...
Re: Diğer programın değişkenlerini değiştirme
RAM üzerinde değiştirmeyi soruyorsunuz anladığım kadarıyla ama...
Ortak bir dosyadan (ini, registry vb.) beslenen değişkenlerle daha kolay (potansiyel bug olmadan, kernel ile boğuşmadan, antivirus vb.) yapılabilir.
Ortak bir dosyadan (ini, registry vb.) beslenen değişkenlerle daha kolay (potansiyel bug olmadan, kernel ile boğuşmadan, antivirus vb.) yapılabilir.
... Muhtaç olduğun kudret, damarlarındaki asil kanda mevcuttur!
Mustafa Kemal Atatürk...
Mustafa Kemal Atatürk...
-
- Üye
- Mesajlar: 239
- Kayıt: 04 Oca 2008 01:53
- Konum: Karşıyaka/İzmir
Re: Diğer programın değişkenlerini değiştirme
Ancak ben anında değişiklik olsun istiyorum değişkende. İni ve benzer dosyalarda sürekli dosyayı kontrol etmek performans düşüklüğüne neden olacaktır. Bir service uygulama yapmayı düşünüyorum. Oluşturacağım formlu programlardan da veri göndermek ve veri almak istiyorum.
In dubio pro reo...
Şüpheden sanık/özgürlük yararlanır...
Şüpheden sanık/özgürlük yararlanır...
Re: Diğer programın değişkenlerini değiştirme
Exe içerisine (WriteRes) gibi BlockWrite modunda belirlediğiniz alana yazma işlemi gerçekleştirebilirsiniz. Aynı zaman da Truva atları da bu yöntemi kullandığından virüs algılama olasılığı çok yüksek.
Re: Diğer programın değişkenlerini değiştirme
2 programı da siz yazıyorsanız aralarında bir mesajlaşma altyapısı kursanız. TCP vs. ile kendi belirlediğiniz bir protokolde...
There's no place like 127.0.0.1
-
- Üye
- Mesajlar: 239
- Kayıt: 04 Oca 2008 01:53
- Konum: Karşıyaka/İzmir
Re: Diğer programın değişkenlerini değiştirme
Socket haricinde bir yolu var mı?
In dubio pro reo...
Şüpheden sanık/özgürlük yararlanır...
Şüpheden sanık/özgürlük yararlanır...
Re: Diğer programın değişkenlerini değiştirme
Bir çok yolu var. CreateFileMapping, Post/SendMessage, WriteProcessMemory/CreateRemoteThread, socket vb. Kendinize hangisi uyuyor ise onu kullanmanız mantıklı olacaktır.
Re: Diğer programın değişkenlerini değiştirme
2 program yerine tek program üzerinde yap tüm işlemi.. daha sonra başlangıç formları değiştirip 2 tane exe oluşturabilirsin.. 

-
- Üye
- Mesajlar: 239
- Kayıt: 04 Oca 2008 01:53
- Konum: Karşıyaka/İzmir
Re: Diğer programın değişkenlerini değiştirme
İki ayrı program üzerinden yapmam gerekiyor.
Yardımlarınız için teşekkür ederim. Önerdiklerinizin çoğunu araştırdığımda antiviruslerle sorun olacağını anladım. Antiviruslerden kaçmanın yolu var mı?
Yardımlarınız için teşekkür ederim. Önerdiklerinizin çoğunu araştırdığımda antiviruslerle sorun olacağını anladım. Antiviruslerden kaçmanın yolu var mı?
In dubio pro reo...
Şüpheden sanık/özgürlük yararlanır...
Şüpheden sanık/özgürlük yararlanır...
Re: Diğer programın değişkenlerini değiştirme
Dynamic API Calling - Xor - API Encrypting konularını araştırabilirsin.
-
- Üye
- Mesajlar: 239
- Kayıt: 04 Oca 2008 01:53
- Konum: Karşıyaka/İzmir
Re: Diğer programın değişkenlerini değiştirme
Teşekkürler. İnceleyip sizinle tekrar görüşlerimi paylaşacağım.
In dubio pro reo...
Şüpheden sanık/özgürlük yararlanır...
Şüpheden sanık/özgürlük yararlanır...
Re: Diğer programın değişkenlerini değiştirme
Hazir elin degmisken Polimorphysim'ide arastirirsan cok faydasini gorursun.PROGRAMADOR yazdı:Teşekkürler. İnceleyip sizinle tekrar görüşlerimi paylaşacağım.

-
- Üye
- Mesajlar: 239
- Kayıt: 04 Oca 2008 01:53
- Konum: Karşıyaka/İzmir
Re: Diğer programın değişkenlerini değiştirme
Merhaba,
Create File Mapping ile yapmaya karar verdim. Antiviruslere de takılmıyor. Test edilmiştir.
şeklinde bir sınıf buldum bir open source programda. Kodun tamamını yazayım:
Create File Mapping ile yapmaya karar verdim. Antiviruslere de takılmıyor. Test edilmiştir.
Kod: Tümünü seç
type
TSharedMemory = class(Tobject)
HMapping: THandle;
PMapData: Pointer;
HMapMutex: THandle;
procedure OpenMap;
procedure CloseMap;
function LockMap:Boolean;
procedure unLockMap;
end;
Kod: Tümünü seç
procedure TSharedMemory.OpenMap;
var
llInit: Boolean;
// lInt: Integer;
begin
HMapping := CreateFileMapping($FFFFFFFF, nil, PAGE_READWRITE,
0, 512, pchar('MY MUTEX NAME GOES HERE'));
// Check if already exists
llInit := (GetLastError() <> ERROR_ALREADY_EXISTS);
if (hMapping = 0) then
begin
//ShowMessage('Can''t Create Memory Map');
//Application.Terminate;
exit;
end;
PMapData := MapViewOfFile(HMapping, FILE_MAP_ALL_ACCESS, 0, 0, 0);
if PMapData = nil then
begin
CloseHandle(HMapping);
//ShowMessage('Can''t View Memory Map');
// Application.Terminate;
exit;
end;
if (llInit) then
begin
// Init block to #0 if newly created
FillChar(PMapData^, 512, 0);
end
end;
procedure TSharedMemory.CloseMap;
begin
if PMapData<>nil then UnMapViewOfFile(PMapData);
if HMapping<>0 then CloseHandle(HMapping);
end;
function TSharedMemory.LockMap:Boolean;
begin
Result:=true;
HMapMutex := CreateMutex(nil, false,pchar('Ares_mmap_mutex'));
if HMapMutex = 0 then begin
// ShowMessage('Can''t create map mutex');
Result := false;
end else begin
if WaitForSingleObject(HMapMutex,1000) = WAIT_FAILED then begin
// timeout
// ShowMessage('Can''t lock memory mapped file');
Result := false;
end
end
end;
procedure TSharedMemory.UnlockMap;
begin
ReleaseMutex(HMapMutex);
CloseHandle(HMapMutex);
end;
In dubio pro reo...
Şüpheden sanık/özgürlük yararlanır...
Şüpheden sanık/özgürlük yararlanır...