Root > Documents > Web Güvenlik Açıkları > C#ta .Net Remoting
Cyber-Warrior.Org \ Doküman \ Web Güvenlik Açıkları > C#ta .Net Remoting
Madde
  Yazar : Fahrüddin
  Date : 19.03.2010 20:09:51
 
# C#ta .Net Remoting
 

Sa Arkadaslar bu makalemde insAllah C#’ta .Net Remoting’e giris yapacagiz ve kendimize bir trojan uygulamasi yazacagiz arkadaslar öncelikle Remoting farkli platformlarda çalisan uygulamalar arasindaki veri alis verisine saglayan bir sistemdir.Arkadaslar proje esnasinda size bilgiler vermeye devam edecegim.Isterseniz simdi Analize geçelim…
Arkadaslar server ve client tarafimiz olacak client tarafi server’i baglanacak server’in görüntüsünü alacak ,Mause’nu oynatacak: ) tiklatacak. bukadar yeterli…Isterseniz kendiniz gelistirebilirsiniz Örnek:Karsidaki bilgisayarin web-camera görüntüsü,Program açip kapatma,bilgisayar kapat reset gibi..

Not:Mause Islemleri Icin Api Kullanacagiz color=#0000cc face=Times New Roman color=#800080 http://www.Cyber-warrior.org/Root.asp?Action=document&@=4153 bu sayfadan Api’leri ögrenebilirsiniz..

DipNot:Arkadaslar Server ve client’e Yazdigimiz Dll birbirine esit olmak zorundadir aksi takdirde hata alirsiniz

DipNot3:Arkadaslar Remoting islemlerini kullanabilmek için System.Runtime.Remoting’i Referans etmemiz gerekmektedir…

Simdi Kod kismina geçelim…

Arkadaslar öncelikle solution explorer’imiza 3 proje ekliyoruz Client ,Server ve OrdinaryusLibary diye..

OrdinaryusLibary Kismina  Mouse diye bir class ekliyoruz

Arkadaslar burada  user32.dll sayesinde Mouse’nin down,click,up gibi eventlarini yakaladik

Burada Class’imizi MarshalByRefObject diye bir class’i iplementliyoruz…

Burada metodalarimiza Istenenleri yaziyoruz,Buraya Isterseniz Process ile program çalistirabilen void bir metod yazabilirsiniz….

Arkdasalar diger fotolarda tam çikmiyordu bende ayri koyayim dedim bunlarda gereken namespaceler….

Arkadaslar namespace’leri ekledikten sonra Bir uzak nesne tanimlyip null veriyoruz

Daha sonra bir forma bir buton ekledikten sonra Ichannel kanal diye interface’ye TcpClientChannel ile Instinsiliyoruz,(Normal sartlarda Inreface’ler asla Instinslanmas)

Daha sonra url’mizi hazirliyoruz Tcp://Ip:Port/Server’i Tetikleyen Isim daha sonra ChannelServices’in static RegisterChannel metoduna kanalimizi veriyoruz ve RemotingConfiguration classinin  RegisterWellKnownClientType static Metoduna yukarda yazdigimiz uzaknesne sinifimizin tipini veriyoruz ve url’sini veriyoruz,Daha sonra yukarda null  tanimladigimiz uzaknesne sinifini Instensliyoruz ve timer’i start ediyoruz,timer’da byte bir diziye uzaknesnenin ekran görüntüsünü al metoduna verip memoryStream’a veriyoruz daha sobra picturebox’a Image’yi verip memory strem’i kapatiyoruz…

Picturebox’un mouseclick ve mouseMove olaylarina metodlarimizi yerlestiriyoruz

Server kismi ise Ichannel interface’ne TcpServerChannel’i verdikten sonra herhangi bir port veriyorsunuz kanali ekliyoruz RemotingConfigyration sinifinin registewellKoniwnServiceType metoduna nesnenin tip ve gelen özel yazmizi yolluyoruz yukarda verdigimiz gib…Ordaki WellKnownObjectMode Classinin içindeki enumlar ise singleton herkeze açik diger ise tek baglanti için….

Arkdaslar Eger Internet üzerinde kullanacaksaniz Tcp Yazan yerleri Http Yapmaniz yeterlidir

Arkdaslar Remoting için anlatçaklarim bukadar InsAllah yararli olmustur,bir soru veya sorun post geçebilirsiniz

Selametle

   
   
Cyber-Warrior TIM All Legal and illegal Rights Reserved.\CWDoktoray 2001©