IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası
  sohbet

 Kayıt ol  Topluluk
Yeni Konu aç Cevapla
 
LinkBack Seçenekler Stil
Alt 22 Ekim 2006, 02:21   #1
Utku
Guest
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Yüzdesi:(%)
Addonda değişiklik yapıldığında kendi kendini silmesi




Az önce forumu gezinirken bir arkadaşımızın sorusu üzerine bu konuyla ilgili bir bilgi vermek istedim. Forumda böyle bir bilgi var mı yok mu hiç bilmiyorum.

Bu olayın bir çok yolu var. Buradaki mantık "dosyanın değişip değişmediğini nasıl anlarız" sorusunun cevabıyla eşdeğer. Dolayısıyla da bu soruya verilebilecek cevap sayısı kadar yöntem mevcuttur. Örneğin dosyadaki harf sayısı, dosyadaki rakam sayısı, dosyanın boyutu, dosyanın satır sayısı gibi değerlerle bu olay gerçekleşebilir. Fakat en basit ve güvenilir yol olarak bilinen $crc identifier'ı ile bunu nasıl yapabileceğimizi anlatacağım.

$crc identifier'ı güncel bir çok kurulum programında kullanılmaktadır. Bunun en yaygın örneği Winamp'tır. Winamp'ın kurulum dosyasına bir virüs bulaştığında CRC hatası ile karşılaşırsınız ve kurulum gerçekleşmez.

CRC dediğimiz şey (Cyclic Redundancy Check - Dönüşsel Artıklık Denetimi) bize dosyanın 0 ile 9 sayıları ile A ile F harfleri arasındaki karakterlerle oluşan 8 basamaklı bir değer verir, ve dosyada en ufak bir değişiklik yapılsa bile bu değer değişir. Fakat satır sayısını, dosyanın boyutunu vs baz aldığımızda bunlarda yapılan herhangi bir değişiklik dosyanın başka bir yerinde yapılan değişiklik ile dengelenip dosyanın bu değişikliği farketmemesi sağlanabilir.

Örneğin boyutu 109byte olan bir addonumuz var. 109 byte 109 tane karaktere denk gelir. Bu addondan bir satır sildik diyelim. Satırda toplam 12 karakter vardı. Dolayısıyla dosya boyutumuz 97'ye indiği için dosya kendini silmeye çalışacaktır. Fakat dosyanın herhangi bir yerine 12 adet ; işareti koyduğunuzda hem 12 karakter eklenmiş olacak ve dosya boyutu eski haline gelecektir, hem de ; karakteri geçersiz karakter olduğu için addon sorunsuz bir şekilde çalışmaya devam edecektir.

Bu kadar genel bilgi yeterli sanırım, şimdi uygulamaya geçelim. Fakat size tavsiyem, bu başlığı iyice okuduğunuzdan emin olup öyle uygulayın.


Addon(lar) dosyasının adının xxx.mrc olduğunu ve bu dosyanın mIRC klasöründe olduğunu varsayalım. Öncelikle mIRC'i açıp;

//echo $crc(xxx.mrc)

komutunu yazıyoruz. Bu komutu yazdıktan sonra karşımıza 8 karakterli ve rakamlarla harflerden oluşmuş bir değer çıkacaktır. Bu değeri bir yere not ediyoruz. Daha sonra xxx.mrc dosyamızı açıyoruz. Dosyamızın herhangi bir yerinde boş bir satır ayarlayıp;

on *:start:{ if $crc(xxx.mrc) != OOO { write -c xxx.mrc } }

OOO kısmına az önce not aldığınız değeri yazıp üssteki kodu ekleyip dosyayı kaydediyoruz. Son olarak da;

/load -rs xxx.mrc

komutuyla addonumuzu tekrar yüklüyoruz. İşte bu kadar.

Tabi bu adımları uyguladıktan sonra farkedeceksiniz ki addonunuz silinmiş. Çünkü siz ilk başlarda yazdığım şeylerin hepsini çoktan unuttunuz bile, hatta bir cümlesini bile hatırlamıyorsunuz, değil mi?
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


Dosyaya son eklemeyi yapmadan önce aldığımız $crc değeri ile dosyaya ekleme yaptıktan sonraki $crc değeri farklı olacağı için, son eklediğimiz on start event'ı yüzünden dosyanın $crc değeri değişecek ve dosya kendini silecektir. Bu durumda uygulamanız gereken basamakların sıralaması şu şekilde oluyor:

1- /unload -rs xxx.mrc komutunu uygulayarak dosyanın yüklü olmadığından emin olun.
2- Dosyamıza yukarıdaki örnekte vermiş olduğum on startlı kodu ekleyin, OOO yerine de %crc yazın.
3- //echo $crc(xxx.mrc) komutu ile crc değerini tekrar alın.
4- /set %crc OOO komutunda OOO yerine son aldığınız crc değerini yazarak %crc adında bir değer oluşturun.
5- Hata yapmadığınızdan eminseniz direkt olarak, emin değilseniz dualar eşliğinde /load -rs xxx.mrc komutu ile addon dosyanızı yükleyin.


Anlamayan arkadaşlar sorularını sormadan önce lütfen bir kez daha baştan sona okumayı denesinler. Aslında bu anlatım yerine 2 satırla buradaki bütün işlemleri her dosyaya uygulayabilecek bir addon yazılır ve 2dk bile sürmez, ama sizi hazıra alıştırıp kötülük yapmayı her ne kadar istesem de, bu kadar yazıyı yazdıktan sonra aklıma gelen o addonu yayınlamayıp enayi yerine düşmeyi hiç istemiyorum.
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.

 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları sohbet odaları Benimmekan Mobil Sohbet
Alt 24 Ocak 2007, 18:36   #2
CipriX
Guest
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Yüzdesi:(%)
Yanıt: Addonda değişiklik yapıldığında kendi kendini silmesi




Scriptin Remotesinde değişiklik yapınca scriptin açılmaması olayıda buna benzer bi konu.. ßende onunla ilgili bi döküm hazırlarım bi ara
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
Ellerine sağlık çok hoş..

 
Alıntı ile Cevapla

Alt 29 Ocak 2007, 12:17   #3
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Yanıt: Addonda değişiklik yapıldığında kendi kendini silmesi




hocam iyi anlatmışsınız ama bunun başka yontemi varmı dll lerle filanda yapabilirmiyiz bunu degişebiliyorlar :S

 
Alıntı ile Cevapla

Cevapla

Etiketler
addonda, değişiklik, degisiklik, kendi, kendini, mirc, mirc download, mirc indir, silmesi, yapildiginda, yapıldığında


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Kapalı
Pingbacks are Açık
Refbacks are Açık


Benzer Konular
Konu Konuyu Başlatan Forum Cevaplar Son Mesaj
Kendi kendini banlayan founder Süslü Komik Loglar 7 14 Kasım 2010 10:44
Kendi kendini onarıyor! Slipknot Bilim Dünyasından Son Haberler 0 05 Eylül 2010 22:37
Kendi kendini gömen tabut... Candy Esrarengiz Olaylar 0 02 Eylül 2010 17:58