Şimdi Ara

program kendini klonlayabilirmi?

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
1 Misafir - 1 Masaüstü
5 sn
7
Cevap
0
Favori
586
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • selam, bir program kendikendini kopyalayabilirmi?
    eger mumkunse nasil koplalar, programin kopyalanmasi icin baska bir yol varmi?



  • Linux de Fork sistem çağrısı ile program kendini kopyalıyor. Örneğin

    int main(int argc, char **argv)
    {
    char *name = argv[0];
    int child_pid = fork();
    if (child_pid == 0) {
    printf(“Child of %s is %d\n”, name, child_pid);
    return 0;
    } else {
    printf(“My child is %d\n”, child_pid);
    return 0;
    }
    }
    Burada process kendi kopyasını oluşturuyor, ana programa oluşturulan process'in PID si dönüyor. Oluşturulan programada PID o(sıfır) olarak dönüyor. Ama dediğim gibi bu sadece Linux de geçerli. Windows da nasıldır bilmiyorum.
  • sen işletim sistemleri dersi almışsın
  • virüsler zaten kendini kopyalıyor değil mi?
  • java da "clone" vardır, fakar bunu kodun içindeki bir veride uygulandığını gördüm. başka bir uygulamada nasıl olur bilemiyorum. amacın virüs yazmaksa istediğini sadece alt düzeyde yapabilirsin. assembly ve c sana bi çözüm sunabilir. elimde bi virüs kodu vardı asm de yazılmış bulursam yollarım.
  • quote:

    Orjinalden alıntı: wisecode_g

    sen işletim sistemleri dersi almışsın


    evet , nereden anladın

    quote:

    java da "clone" vardır, fakar bunu kodun içindeki bir veride uygulandığını gördüm. başka bir uygulamada nasıl olur bilemiyorum. amacın virüs yazmaksa istediğini sadece alt düzeyde yapabilirsin. assembly ve c sana bi çözüm sunabilir. elimde bi virüs kodu vardı asm de yazılmış bulursam yollarım.


    Javada clone() methodu, objenin bir kopyasını oluşturmak için kullanılır.




  • veri yapıları ne güne durur:)

    agacta gez gezerken clone cıkar hemde recursive:)
    Kod evde şimdi aksama atarım isteyen olursa hatırlamıyom
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.