Bu arada arkadaşlar sorun yaşamamak için verdiğim hileleri şu adımları sırayı bozmadan izleyin :
1. rar arşivini bir klasör içine çıkarın
2. PointBlank Launcher çalıştırın. (Başlat tuşuna basmayın)
3. Kontrol tuşuna basın.
4. Kontrol bittikten sonra Başlat tuşuna basmayın
5. Tam olarak bu adımda SelfrightousInjector u çalıştırın(Win7 ve Vista için Yönetici olarak çalıştırmayı unutmayın)
6. Browse tuşuna basarak Selfrightous.dll dosyasını seçin.
7. Tekrar PointBlank Launher a dönerek, Başlat tuşuna basın
8. İki adet uyarı göreceksiniz. Onları kapatın.
9. İyi oyunlar
Bundan sonra yayınladığım her hilemde biraz da olsa hilemin yapım süreci ile ilgili bilgi vereceğim... Bu şekilde hile yapmak isteyen arkadaşlara yardımcı olmaya çalışacağım.
Bu başlıkta vereceğim bilgi biraz da, Texture yapısını değiştirmem ile bazı bilgisayarlarda sorun yaşanması ile ilgili...
Texture nedir?
Oyunların çoğu görsel öğeleri oluşturmak için Bilgisyarınızda zaten yüklü olan, veya oyunla birlikte gelen DirectX veya OpenGL kullanır. PointBlank DirectX yapısını kullanır. DirectX in üreticisi Microsoft tur.
DirectX, oyun üreticileri için oluşturulmuş, oyunlardaki görselliği sağlamak için kullanılan bir yapıdır. DirectX, oyun üreticilerine kolay grafikler oluşturacak fonksiyonlar tanır. Oyun üreticileri böylece grafik tasarımlarını yaptıktan sonra grafik hareketlendirmeleri için uğraşmak zorunda kalmazlar, DirectX in fonksiyonlarını kullanırlar bunun yerine.
(İşte hackerlarda bunu kullanır... Yani directX açık kaynak kodlu bir yazılım olduğu için fonksiyonları da herkes tarafından kullanılabilir Bu da oyunların açığıdır. oyunlar bu açığın önüne geçmek için HackShield veya ona benzer yapılar kullanırlar)
Peki texture nedir?
Texture; Grafiklerin DirectX teki karşılığıdır. yani grafiklerin oyundaki görüntüleridir. PointBlankte gözünüzle gördüğünüz her silah, her karakter, her nesne bir texture dur.
Texture öğeleri :
Stride : Texture (Görünüm) adımlarıdır. PointBlankte 100 civarında adım (Stride) vardır.
Vertice: Stride ın alt sırasıdır. Bir stride binlerce sıradan oluşabilir.
PrimitiveCount : Öncelik sırasıdır.
(Stride, Vertice, ve PrimitiveCount olayına fazla takılmayın şimdilik ilerde daha iyi anlayacaksınız.)
Hilelerde kullanılan renklendirme nasıl yapılır?
Hilelerde renklendirme yapabilmek için yukarıda Anlattığım Stride, Vertice ve PrimitiveCount değerlerini bilmemiz gerekir.
Aşağıdaki örneğe bakınız...
GenerateTexture(SAygit, &koyumavi , D3DCOLOR_ARGB(255,33,103,140)); //Önce rengimizi tanımlıyoruz
if(m_Stride==40)//Eğer stride numarası 40 ise
{
SAygit->SetTexture(0, koyumavi);)//Texture (Görünüm) u koyu mavi yap
}
}
Yukarıdaki kod parçası Stride değeri 40 olan öğeleri koyumavi gösterir.
Ben ilk hilelerimde yukarıdaki gibi sadece stride değerini kullanıyordum. Sadece Stride değerini kullanınca karakterler ile birlikte stride değeri 40 olan bütün nesneler renklendiriliyor ve görüntüde gereksiz yere renklendirilmiş nesneler yüzünden, görüntüler karışıyordu.
Buna çözüm bulabilmek için nesnelerin stride değerleri dışında Vertiz ve PrimCount Değerlerini de bulmak zorunda kaldım. Maalesef internette Bu değerleri bulabileceğim herhangi bir kaynak bulamadım.
Bunun üzerine sadece bu değerleri bir txt belgesine kaydedecek bir program yazdım. Bu da günlerimi aldı. ama sonunda başardım.
Ama bu kez da karşıma herbiri binlerce vertize ve primcounttan oluşan 100lerce stride değerleri geldi. Yani karşımda 100.000in üzerinde farklı denemem gereken değer vardı. Bu değerleri gruplandırarak oyun üzerinde denedim. Gruplandırmama rağmen yüzün üzerinde deneme yapmam gerekti.
Sonunda karşınıza, hala bazı karakterlerde renklendirme eksikliği olsa da karakterler dışında hemen hemen hiç bir şeyi renklendirmeyen bir hile ile çıktım. Görüntü olarak sfır hataya yakın bir wallhack ile... İlk hileleri kullananlar hatırlayacaklardır, bir çok haritada hile görüntü karşımına neden oluyordu.
Karakter sorununu hemen hemen bitirdikten sonra karşıma bir sorun daha çıktı. Hile daha önceden çalıştığı bilgisayarlarda bile oyundan bugtrap hatası ile atmaya başladı.
Hiledeki bugtrap hatası, hilenin fixlenmiş olmasından kaynaklanmıyordu. Çünkü hile tamamen bana ait özgün kodlardan oluştuğu için çıktığı ilk gün fixlenmiş olamazdı. Hemen kullandığım hook fixlenmiş mi diye baktım. tedbiren hook attığım fonksiyonu değiştirdim (Hook ile ilgili bilgiyi daha önce yayınlamıştım)
Ama sorun yine çözülememişti. Daha önceden çalıştığı bilgisayarlarda atmaya devam ediyordu. Sonra farkettim ki; daha az sorunlu hile daha çok bellek noktası kullanımı demek oluyordu. Doğal olarak, bugtrap aslında bu çakışmalar yüzünden geliyordu. Bu sorunu da dün bir ölçüde çözdüm...
Ama hala bazı arkadaşlarda sorunlar yaşanıyor.
Takdir edersiniz ki; her bilgisayar konfigürasyonuna uygun hile hazırlamak çok zor. Özellikle düşük bellekli bilgisayarlarda bellek kullanımı için boş alan az olduğundan sıkışma ve çakışma daha çok oluyor.
Şimdilik bu kadar....
Bu arada yukarıda verdiğim koda parçası sadece renklendirir, WallHack değildir duvar arkasını göstermez... Ayrıca tek başına bir işe yaramaz, başarılı bir hook ve gerekli fonksiyon tanımlamaları ile birlikte kullanılır. Yani kodun br parçasıdır.
Kodun tamamını yayınlamıyorum, Çünkü hazır kodu kullanmak işinize yaramaz. İlgilenen kişilerin işin mantığını anlaması ve özgün kodlarını kullanması lazım.
İyi akşamlar...