Merhaba arkadaşlar. Bu paylaşımımda elimden geldiği kadar bildiklerimi sizlere aktarmaya çalışacağım. Bayağı bir çaba sarf edip hazırladım umarım faydalı olur…
Öncelikle bazı kavramların anlamlarını açıklamakla başlayalım.
Detected : Offsetleri antiler tarafından deşifre edilmiş olan demektir.(Patlamış olarak da tabir edilen kavram)
Undetectec : Detected kavramının başına “Un” eki getirilmesiyle anlam ve işleyişin değiştiği ve offseti çoğu antiler tarafından henüz keşfedilmemiş, tanınmayan demektir. Kısaltması ise “UD” olarak nitelendirdiğimiz “Un” ve “Detected” kavramlarının baş harflerinden oluşur.
FullUndetected : Offseti hiçbir anti tarafından tanınmayan demektir. “FUD” olarak kısaltması yapılır. “Full”, “Un” ve “Detected”kavramlarının baş harflerinden oluşur.
RunTime : Programın çalıştığı yada çalışmadığı durumlarda antiler tarafından hiçbir şekilde deşifre edilmeyendir.
ScanTime : Programın aktif olmadığı zaman antilerin tanımadığı ancak çalıştırıldığında antiler tarafından deşifre edilmesidir.
Offset : Aşağıdaki resimde kırmızı ile gösterilen alan offset kısmıdır.
Çoğu arkadaşımız “Ben nasıl crypter yapabilirim” diye soruyorlar.
Peki nasıl crypter yapılır, nereden başlamalısınız?
•En başta en az bir programlama dili bilmeniz gerekli arkadaşlar. Çünkü işimiz yazılımları antilerden kaçırmak ya da gizlemek nasıl tabir ederseniz. Bu yüzden programlama mantığını anlamak şart…
•Başta HexEditör, ResHacker, LordPE, OllyDbg olmak üzre UD araçlarını ve yöntemlerini öğrenin. İşinize bayağı yarayacaktır…
•Temel UD yöntemlerini mutlaka araştırın ve bu yöntemlere hakim olun. Deneme yanılma yolu ile çok rahat yapabilirsiniz bunu. Unutmayın 1 seferde crypter yapamazsınız. Birçok kez denemelisiniz ki yöntemleri kavrayabilesiniz.
Peki bu programları nerelerde kullanacağız? Kaç çeşit UD yöntemi var?
UD yöntemlerini temel olarak 2 ana gruba ayırabiliriz.
•Sourceden yapılan UD işlemleri
•Editörler yardımı ile yapılan UD işlemleri
UD Yöntemlerinin Çalışma Mantıkları
ScanTime UD Yöntemi : Bu yöntemin mantığı kaynak kodlarını yani offseti gizlemektir. Kısa bir örnekleme ile mantığı açıklayalım isterseniz…
•Zararlı Kod
•Zararlı Kod
•Zararlı Kod
Yukarıdaki kodlar bizim programımızın kodları olsun. Programımız gördüğünüz gibi tamamen zararlı kodlardan oluşuyor. Şimdi biz bunu aşağıdaki gibi bir hale sokarsak Scantime olarak antilerden kaçırmış oluruz.
•Gereksiz Kod
•Zararlı Kod
•Gereksiz Kod
•Gereksiz Kod
•Zararlı Kod
•Gereksiz Kod
•Gereksiz Kod
•Zararlı Kod
•Gereksiz Kod
Yukarıda programımızın offsetini alışılmışın dışında çalıştırmaya çalıştık. Bu şekilde antilerden gizleyebilirsiniz programınızı. Anlatmaya çalıştığım asıl şey ise şu. Programımızı ne kadar az zararlı kod ile yaparsak programımız o kadar az zararlı gözükecektir. En az zararlı kod ile programlarımızı yapmaya özen gösterelim…
RunTime UD Yöntemi : Bu yöntemin mantığı ise algoritmayı gizlemektir. Bu yöntemde ise programımızın çalışma mantığını değiştireceğiz. Kısaca örnekleyelim…
Yukarıda gördüğünüz gibi sonucu değiştirmedik ancak bu sonuca farklı bir yoldan gittik. İste bu bir Runtime UD yöntemidir. Programımızın algoritması bu şekilde antilerden gizlenir.
Runtime UD yöntemi için de birkaç ipucu vereyim sizlere. Bu ipuçları işinize yarayacaktır…
*En başta şunu unutmayın. Programınız yavaş yavaş işlem yapsın. Açılır açılmaz hemen bir saldırı olmasın. Yani sinsi olsun
*Alışılagelmiş saldırı yöntemlerini iyi bilin. Ancak sürekli aynı işlemleri yapmak yerine daha farklı yöntemler deneyin.
*Programınıza aşırı zararlı kod eklemeyin. Minimum zararlı kod ile işlemlerinizi halledin.
*Programınız yapması gerekenlerin dışına çıkmasın. Ne kadar koda ihtiyacınız varsa o kadar kod yazın.
*RunTime yöntemi diyip ScanTime yöntemlerini esgeçmeyin. Zararlı kodlarınızın arasına mutlaka zararsız kodları iliştirin.
Peki hangi işlemler ile nasıl sonuçlar alırım?
Arkadaşlar, ben Vb.Net kullandığım için Vb.Net üzerinden anlatım yapacağım. Vb6’da da uygulayabilirsiniz bu işlemleri…
Projenize gereksiz formlar, modüller, kod sayfaları eklerseniz Ikarus ve A-Squared antilerini geçersiniz.
Projenizdeki sabitlerin(Const) ve değişkenlerin(Dim) isimlerini değiştirin. Ama bunlar anlamsız olsun.
Projenize gereksiz kodlar anlamsız algoritmalar ekleyin. Bu algoritma veya kodlarınızı zararlı kodlarınızın arasına iliştirin. Yani işlem sırasını değiştirin.
“\” , “.exe” gibi antilerin kolayca şüpheleneceği değerleri şifreleyin. Bu şekilde Kaspersky antisini rahatlıkla geçersiniz.
Projenizdeki apilerin sırasını değiştirin veya sahte apiler ekleyin.
Function ve Sub isimlerinizi değiştirin.
Projenizin Properties bilgilerini değiştirin.
Projenizin derlendiği dizini değiştirin. Misal normalde D:\ dizinine derleniyorsa C:\ dizininde derlenmesini sağlayın. Ya daTemp klasöründe derleniyorsa Programs klasöründe derlenmesini sağlayın…
Projenizin Assemly bilgilerini değiştirin. Bu sayede BitDefender, Bullguard, Avast, İmmunet ve G-Data antilerini geçersiniz.
Projenize icon ekleyin, iconunu değiştirin, silin, yeniden ekleyin vs… Bu sayede Avira antisini geçersiniz…
Bu bilgiler mutlaka aklınızda olsun arkadaşlar. Çok işinize yarayacaktır bu bilgiler…
Biraz da editörleri tanıyalım…
HexWorkshop : Programın offsetlerini değiştirmemizi sağlar.
Av Fucker : Programın offsetlerini teker teker değiştirerek belirlediğiniz klasöre yeni dosya oluşturur. Bu sayede zararlı offsetleri öğrenebilirsiniz. Ya da bu oluşturulan dosyalar antiye tarattırılır. Kaçamayanlar silinir, kalanlarınsa çalışıp çalışmadığı kontrol edilir.
OllyDbg : HexWorkshop gibi offsette değişiklik yapma imkanı sağlar.
Peid : Program veya nesne üzerinde yapılan en son işlemi gösterir.
ResHacker : Programın icon ve bilgi değişimi, dll ekleme gibi işlemlerinin yapıldığı programdır.
PE Explorer : Programınızda kapsamlı bir şekilde değişiklik yapabilmemize olanak sağlar.
Resource Tuner : Programınızda geniş bir şekilde işlem yapmamıza olanak sağlar.
UPX : Exe dosyalarını sıkıştırmaya yarar.
LordPE : Editörlerde yaptığınız değişiklikler sonucu çalışmayan programlarınızı LordPE sayesinde çalıştırabilirsiniz.
Umarım bu bilgiler işinize yarar arkadaşlar. Saygı ve sevgilerimle…
isime yaradi eyv kardesm
YanıtlaSilönemli değil :)
Sil