Bu olayin bir çok yolu var. Buradaki mantik “dosyanin degisip degismedigini nasil anlariz” sorusunun cevabiyla esdeger. Dolayisiyla da bu soruya verilebilecek cevap sayisi kadar yöntem mevcuttur. Örnegin dosyadaki harf sayisi, dosyadaki rakam sayisi, dosyanin boyutu, dosyanin satir sayisi gibi degerlerle bu olay gerçeklesebilir. Fakat en basit ve güvenilir yol olarak bilinen $crc identifier’i ile bunu nasil yapabilecegimizi anlatacagim.
$crc identifier’i güncel bir çok kurulum programinda kullanilmaktadir. Bunun en yaygin örnegi Winamp’tir. Winamp’in kurulum dosyasina bir virüs bulastiginda CRC hatasi ile karsilasirsiniz ve kurulum gerçeklesmez.
CRC dedigimiz sey (Cyclic Redundancy Check – Dönüssel Artiklik Denetimi) bize dosyanin 0 ile 9 sayilari ile A ile F harfleri arasindaki karakterlerle olusan 8 basamakli bir deger verir, ve dosyada en ufak bir degisiklik yapilsa bile bu deger degisir. Fakat satir sayisini, dosyanin boyutunu vs baz aldigimizda bunlarda yapilan herhangi bir degisiklik dosyanin baska bir yerinde yapilan degisiklik ile dengelenip dosyanin bu degisikligi farketmemesi saglanabilir.
Örnegin boyutu 109byte olan bir addonumuz var. 109 byte 109 tane karaktere denk gelir. Bu addondan bir satir sildik diyelim. Satirda toplam 12 karakter vardi. Dolayisiyla dosya boyutumuz 97’ye indigi için dosya kendini silmeye çalisacaktir. Fakat dosyanin herhangi bir yerine 12 adet ; isareti koydugunuzda hem 12 karakter eklenmis olacak ve dosya boyutu eski haline gelecektir, hem de ; karakteri geçersiz karakter oldugu için addon sorunsuz bir sekilde çalismaya devam edecektir.
Bu kadar genel bilgi yeterli sanirim, simdi uygulamaya geçelim. Fakat size tavsiyem, bu basligi iyice okudugunuzdan emin olup öyle uygulayin.
Addon(lar) dosyasinin adinin xxx.mrc oldugunu ve bu dosyanin mIRC klasöründe oldugunu varsayalim. Öncelikle mIRC’i açip;
//echo $crc(xxx.mrc)
komutunu yaziyoruz. Bu komutu yazdiktan sonra karsimiza 8 karakterli ve rakamlarla harflerden olusmus bir deger çikacaktir. Bu degeri bir yere not ediyoruz. Daha sonra xxx.mrc dosyamizi açiyoruz. Dosyamizin herhangi bir yerinde bos bir satir ayarlayip;
on *:start:{ if $crc(xxx.mrc) != OOO { write -c xxx.mrc } }
OOO kismina az önce not aldiginiz degeri yazip üssteki kodu ekleyip dosyayi kaydediyoruz. Son olarak da;
/load -rs xxx.mrc
komutuyla addonumuzu tekrar yüklüyoruz. Iste bu kadar.
Tabi bu adimlari uyguladiktan sonra farkedeceksiniz ki addonunuz silinmis. Çünkü siz ilk baslarda yazdigim seylerin hepsini çoktan unuttunuz bile, hatta bir cümlesini bile hatirlamiyorsunuz, degil mi?
Dosyaya son eklemeyi yapmadan önce aldigimiz $crc degeri ile dosyaya ekleme yaptiktan sonraki $crc degeri farkli olacagi için, son ekledigimiz on start event’i yüzünden dosyanin $crc degeri degisecek ve dosya kendini silecektir. Bu durumda uygulamaniz gereken basamaklarin siralamasi su sekilde oluyor:
1- /unload -rs xxx.mrc komutunu uygulayarak dosyanin yüklü olmadigindan emin olun.
2- Dosyamiza yukaridaki örnekte vermis oldugum on startli kodu ekleyin, OOO yerine de %crc yazin.
3- //echo $crc(xxx.mrc) komutu ile crc degerini tekrar alin.
4- /set %crc OOO komutunda OOO yerine son aldiginiz crc degerini yazarak %crc adinda bir deger olusturun.
5- Hata yapmadiginizdan eminseniz direkt olarak, emin degilseniz dualar esliginde /load -rs xxx.mrc komutu ile addon dosyanizi yükleyin.
–
Addonda degisiklik yapildiginda kendini silmesi.. - Yorumlar
Yapılan Yorumlar
ilginç bi olaymış.. Bu sistemle heralde emeğe saygı kavramı irc dünyasında oturur :)
BENZER İÇERİKLERİlginizi çekebilecek diğer içerikler
Irc Oper Komutlarının Bir Tanesinde Kısaltma 19 Şubat 2011
irc ban parametrelerinin kullanımı 17 Ocak 2011
irc invex komutu 17 Ocak 2011
irc notify kullanımı 17 Ocak 2011
SOSYAL MEDYADA BİZSitemizin sosyal medya hesapları
ÖNE ÇIKAN KATEGORİLER
FACEBOOK'TA BİZ
Hoşgeldiniz
kelebek.gen.tr – kelebek mirc - Tüm Hakları Saklıdır