arkadaşlar sadece mesleki meraktan soruyorum bunu.bi proje hazırladım projede 3 tane buton var.int64 birde değşkenim var.button 1 e tıklayınca değişkene 100 değerini atıyorum.button2 ye tıklayınca değşkeni 1 arttıran fonksiyonu çağırıyorum.button3 tıklayınca showmessage ile değeri görüntülüyorum.
şimdi gelelim asıl meseleye.pe explorer la bu exe yi taradığım zaman(dissassemler yapınca) değişkeni 1 arttıran fonksiyonu pointer adresini (operasyon code)lerini görebiliyorum.
sonra writeprocessmemory komutu ile değikene yazmış olduğum exe çalışırken bu exe ile hiçbir bağlantısı olmayan başka bi projemle memorydeki değişken değerini değştirebiliyorum.
asıl öğrenmek istedğim konu ise madem writeprocessmemory komutu ile bellekteki bi veriyi değiştirebiliyorsam o anda çalışan exe içindeki fonksiyonuda çalıştırabilirmiyim.mesela button3.click i tetikleyebilirmiyim.(uygulamaya tuş gönderin önerisinde bulunmayın. çalışan uygulamanın processid sini alarak bellekte yüklenen fonk.procedure leri tetikleme mümkünmü).
PE Explorer hakkında
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Re: PE Explorer hakkında
CreateRemoteThread API'si işinize yarayabilir. Bir de aşağıdaki makalede faydalanabileceğiniz bilgiler olabilir 
http://www.tugrulhelvaci.com/?p=177

http://www.tugrulhelvaci.com/?p=177
Re: PE Explorer hakkında
tuğrul bey makalenizi okudum gerçekten çok güzel bi makale olmuş fakat benim sorumun cevabı tam olarak yok.remotethread konusunda biraz daha bilgi verebilirmisiniz.yalnız yanlış anlaşılmasın yeniden belirteyim çalışan exe içindeki fonksiyonu tetiklerken o exe ile hiçbir alakamız olmayacak doğrudan memory üzerinden bu işlemi yapmak istiyorum.
Re: PE Explorer hakkında
Sizin çalıştırmak istediğiniz metodun da bellekte bir adresi vardır ve CPU belirli bir sıra ile programları çalıştırma cihetine gider. Her uygulamanın en az bir thread'i vardır. Bu thread'e main thread adı verilir. Code Injection meselesinin kıyısından köşesinden birazcık dokunduğum bir başka makalede uygulamanın ana thread'inin durdurulup, o anda çalıştırılmakta olan kod'un yerine bir başka kodun adresini vererek yeni verilen kodun çalıştırılmasını sağlamıştım. Belki size de bu yöntem ilham verebilir.
Tabii cracking/hacking meseleleri ile yakinen iştigal eden arkadaşlarımız bu hususları ziyadesi ile benden daha iyi bilirler. Ancak makalemde de görebileceğiniz gibi EIP registerının değerini istediğiniz bir kod bloğu adresi ile değiştirerek dallanma gerçekleştirebilirsiniz.
http://www.tugrulhelvaci.com/?p=568
Tabii cracking/hacking meseleleri ile yakinen iştigal eden arkadaşlarımız bu hususları ziyadesi ile benden daha iyi bilirler. Ancak makalemde de görebileceğiniz gibi EIP registerının değerini istediğiniz bir kod bloğu adresi ile değiştirerek dallanma gerçekleştirebilirsiniz.
http://www.tugrulhelvaci.com/?p=568
Re: PE Explorer hakkında
tuğrul bey öncelikle ilginize çok tşk.ederim.makalenizi inceledim baya bi fikir verdi. ancak hala başarıya ulaşabilmiş deyilim.PE explorerla taradığım projemdeki butto4 clik aşağıdaki gibi
;----------------------------------------------------------------------------------------------------
0045DA7F 90 Align 4
0045DA80 TForm1.Button4Click:
0045DA80 55 push ebp
0045DA81 8BEC mov ebp,esp
0045DA83 6A00 push 00000000h
0045DA85 33C0 xor eax,eax
0045DA87 55 push ebp
0045DA88 68C5DA4500 push L0045DAC5
0045DA8D 64FF30 push fs:[eax]
0045DA90 648920 mov fs:[eax],esp
0045DA93 FF35085D4600 push [L00465D08]
0045DA99 FF35045D4600 push [L00465D04]
0045DA9F 8D45FC lea eax,[ebp-04h]
0045DAA2 E8A9ADFAFF call SUB_L00408850
0045DAA7 8B45FC mov eax,[ebp-04h]
0045DAAA E87D0DFDFF call SUB_L0042E82C
0045DAAF 33C0 xor eax,eax
0045DAB1 5A pop edx
0045DAB2 59 pop ecx
0045DAB3 59 pop ecx
0045DAB4 648910 mov fs:[eax],edx
0045DAB7 68CCDA4500 push L0045DACC
0045DABC L0045DABC:
0045DABC 8D45FC lea eax,[ebp-04h]
0045DABF E88C6DFAFF call SUB_L00404850
0045DAC4 C3 retn
;----------------------------------------------------------------------------------------------------
tform1.botton4clik; i nasıl başka bi programla memoryden butona tıklanmış gibi bu bloğu nasıl çalıştırabilirim
;----------------------------------------------------------------------------------------------------
0045DA7F 90 Align 4
0045DA80 TForm1.Button4Click:
0045DA80 55 push ebp
0045DA81 8BEC mov ebp,esp
0045DA83 6A00 push 00000000h
0045DA85 33C0 xor eax,eax
0045DA87 55 push ebp
0045DA88 68C5DA4500 push L0045DAC5
0045DA8D 64FF30 push fs:[eax]
0045DA90 648920 mov fs:[eax],esp
0045DA93 FF35085D4600 push [L00465D08]
0045DA99 FF35045D4600 push [L00465D04]
0045DA9F 8D45FC lea eax,[ebp-04h]
0045DAA2 E8A9ADFAFF call SUB_L00408850
0045DAA7 8B45FC mov eax,[ebp-04h]
0045DAAA E87D0DFDFF call SUB_L0042E82C
0045DAAF 33C0 xor eax,eax
0045DAB1 5A pop edx
0045DAB2 59 pop ecx
0045DAB3 59 pop ecx
0045DAB4 648910 mov fs:[eax],edx
0045DAB7 68CCDA4500 push L0045DACC
0045DABC L0045DABC:
0045DABC 8D45FC lea eax,[ebp-04h]
0045DABF E88C6DFAFF call SUB_L00404850
0045DAC4 C3 retn
;----------------------------------------------------------------------------------------------------
tform1.botton4clik; i nasıl başka bi programla memoryden butona tıklanmış gibi bu bloğu nasıl çalıştırabilirim
Re: PE Explorer hakkında
tuğrul bey CreateRemoteThread API'si ni kullanarak button4 u çalıştırmaya kalktığımda program hemen kapanıyor.bunun sebebi ne olabilir.