Kullanıcı Arayüzü Öğeleri ve Kaynakları – Blog Yazma – Web Tasarımı Yapımı – Web Tasarımı YouTube Videosu Yapımı – Web Sitesi Tasarlama Fiyatları
Kullanıcı Arayüzü Öğeleri ve Kaynakları
“Uygulama Sınıflarını Değiştirme ve Yama Uygulama” başlıklı yazımızda, uygulama mantığını değiştirmek için sınıflara yama uygulama hakkında konuştuk. Bu bölümde mesajlar, uyarılar, istemler, resimler, simgeler, menüler ve renkler gibi kullanıcı arabirimi öğelerini değiştirmeyi tartışıyoruz. Açıklanan aynı prensipler burada da geçerlidir.
İlk görev, değiştirilmesi gereken bir kaynağı bulmaktır. Ardından, yeni kaynağın eskisinin yerine kullanılmasını sağlamak için bir değişiklik yapılabilir ve uygulama güncellenebilir. UI öğeleri ile yama yapılacak kaynaklar arasındaki ilişkiyi gösterir.
Örnek olarak öğrenmek, bilgiyi sindirmenin en kolay yollarından biridir, bu yüzden varsayımsal bir uygulamayı ele alalım ve sonra onu keyfimize göre değiştirelim. Önceki bölümlerde Sohbet uygulamasının birçok kez göründüğünü gördünüz ve iyi bir geleneğin devamı olarak, tekniklerin her birini göstermek için Chat’i hackleyeceğiz.
Metin Hackleme
Chat, menü öğesi metni olarak Mesaj gönder metnini ve araç çubuğu düğmesi için Araç İpucu ipucunu kullanır. Eylemin anlamını mükemmel bir şekilde aktarsa da, genç nesil kullanıcılar tarafından havalı olarak algılanabilir. Bu kitleyi memnun etmek için, Mesaj Gönder yerine Öfkeyi Serbest Bırak’ı kullanmak için Chat’i hackleyelim. Kaynak koduna erişimimiz yokmuş gibi davranarak uygulamanın dağıtılmış sürümüyle çalışacağız.
Chat bir JAR dosyası içinde paketlenmiş olarak geldiğinden, yapmamız gereken ilk şey CovertJava/distrib/lib/chat.jar dosyasını geçici bir çalışma dizinine ayırmaktır. Ardından, Chat tarafından o anda görüntülenen metin dizilerini tanımlayan sınıfları bulmalıyız.
FAR veya bir arama aracı kullanarak, çalışma dizini ve alt dizinlerinde bulunan tüm dosyalarda Mesaj gönder için ikili bir arama yaparız. Aramayı çalıştırmanın sonucu, “Sınıfları Çözme”de açıklandığı gibi kaynak koda dönüştürdüğümüz MainFrame.class dosyası olmalıdır. Mesaj gönder için derlenmiş kaynak kodunu aramak bizi, bir alıntısı Listeleme’de gösterilen jbInit yöntemine götürür.
Bölüm 5’te sunulan yama tekniğini kullanarak, derlenmiş kaynak kodunda Mesaj gönder’i Unleash the fury ile değiştirebilir ve bunu Chat’e bir yama olarak ekleyebiliriz. Bu yeterince kolaydı ve neyse ki çoğu gerçek uygulamada bu kadar kolay olmalı.
Uygulama kodu dizgi kodlaması ile karıştırıldığında karmaşıklıklar ortaya çıkabilir, ancak önceki bölümlerden edinilen bilgilerle bu, yama yapılacak sınıfı bulmamızı engellememelidir. İyi uygulamalar, koddaki metin dizilerini sabit kodlamaz.
Bunun yerine mesajlar, bakım ve yerelleştirmeyi kolaylaştıran kaynak paketlerinde veya yapılandırma dosyalarında depolanır. Dizeler kodlanmadığı sürece, çalışma dizininin içeriği üzerinde gerçekleştirilen ikili arama, yine de istenen sonuçları verir. Dizeyi içeren dosya bulunduktan sonra yeni metinle güncellenebilir. Bundan sonra, değişikliğin geçerli olması için uygulamanın yeniden paketlenmesi gerekir.
Kullanıcı arayüzü nedir
Kullanıcı arayüzü örnekleri
Kullanıcı arayüzü tasarımı
Kullanıcı arayüz tasarımı Nasıl Yapılır
Kullanıcı arayüzü Tasarımı örnekleri
Kullanıcı arayüzü tasarımı Nedir
Kullanıcı arayüzü Tasarımcısı
Kullanıcı arayüzü Tasarımı Eğitimi
Görüntüleri Hacklemek
Resimlerle çalışmak, metinle çalışmaktan biraz daha zordur. Metinden farklı olarak, arama kriteri olarak neyi kullanacağınızı bilmediğiniz için bir görseli arayamazsınız. Bu nedenle ilk adım, görüntünün adını bulmak ve uygulamanın onu nasıl yüklediğini belirlemektir, ardından bir yama uygulanabilir.
Resmin adını bulmanın doğrudan ve kolay bir yolu yoktur. Büyük olasılıkla, uygulama onu kullanıcı arabirimi ile ilgili kodda yükler, ancak çoğu zaman geliştiriciler, Java’da bir görüntü yüklemek için gereken temel çalışmaya yardımcı olması için bir çerçeve veya bir yönetici sınıfı kullanır. Deneyimler, patlatılmış (yani bir JAR’da depolanmayan) uygulamayı keşfetmeyi veya belki de tüm .jpg ve .gif dosyalarını aramayı önerir.
Çoğu zaman görüntü adı, nerede kullanıldığına dair en iyi ipucudur. Örneğin, bir açılış ekranına splash.gif gibi bir ad verilebilir ve Yeni araç çubuğu düğmesinin simgesi de yeni.gif olarak adlandırılabilir. Tipik bir Java uygulamasının çok fazla resmi yoktur, bu nedenle aradığınızı kolayca bulabilmeniz gerekir. Açıkçası, görüntüyü görüntülemek, adamınızı bulduğunuzu doğrulamanın yoludur.
Ya çok fazla görüntü varsa ve uygulamayı kodlayan programcı img0045.gif gibi dosya adları kullandıysa? Yine de boyutuna bakarak veya hepsini sırayla inceleyerek hangi görselin size ait olduğunu tahmin edebilirsiniz. Uygulamanın görüntüleri farklı bir JAR dosyasında saklıyor olabileceğini unutmayın, bu nedenle arama yaparken hepsini açmanız gerekir.
Şimdi en kötü senaryoya bakın: Uygulamanın bir resim gösterdiğini ve onu değiştirmeniz gerektiğini görebilirsiniz, ancak uygulama ile birlikte gelen tüm resim dosyalarını gözden geçirdikten sonra onu bulamıyorsunuz. Nereden geldiğini belirlemek için birkaç seçeneğiniz var.
Kolay yol işe yaramadığı için, daha derine inip kodda görüntünün yüklendiği yere gitmemiz gerekecek. Yine, önceki bölümler tersine mühendislik tekniklerini kapsıyordu ve başlangıç noktası olarak sınıf dosyalarında .gif veya .jpg aramasını öneriyorum. .txt uzantılı GIF dosyalarını depolayan bir uygulama hiç görmedim ve kesinlikle o günü görecek kadar yaşamamayı umuyorum.
Örneğin, Chat’in Hakkında iletişim kutusundaki görüntüyü değiştirmek için, çalışma dizinindeki tüm GIF ve JPG dosyalarını arayabiliriz. Bunu yapmak bizi birkaç resim içeren covertjava.chat.images dizinine götürür. Yalnızca birkaç görüntü içerdiğinden, Hakkında iletişim kutusunda hangisinin kullanıldığını belirlemek için bunları görüntüleyebiliriz.
Alternatif olarak, bizi tekrar MainFrame sınıf dosyasına götürecek olan .gif’i arayabilirdik. Derlemesini çözerek, Chat’in Hakkında iletişim kutusu için saturn_small.gif kullandığını keşfedebilirdik. Son olarak, bir görüntü yüklemenin en yaygın yolu olan java.awt.Toolkit’in getImage yöntemini de arayabiliriz. Aşağıda, bir görüntüyü yükleyen birkaç Java kodu örneği verilmiştir.
Resmi yükleyen kodu bulduktan sonra, nereden geldiğini anlayabilmelisiniz. Görüntü, uygulama ile birlikte paketlenmemişse, büyük olasılıkla benzer bir harici URL üzerinden erişilir.
Bu noktada, siz (eğitimli bilgisayar korsanı) soruna nasıl saldıracağınızı tam olarak bilirsiniz. Görüntüyü URL’den indirmek, yerel olarak kaydetmek, düzenlemek ve uygulama ile paketlemek için Web tarayıcınızı kullanın. Ardından, onu yükleyen sınıfa yama uygulayın ve HTTP URL’si yerine, onu JAR’ınızdan yüklemek için jar:file/ URL’yi veya bir dizinden yüklemek için Toolkit.getImage()’ı kullanın.
Web sitelerinizi, arama motorlarında en yukarı getirmek adına sizlere 3 adet paket öneriyoruz. Bu paketler sayesinde web siteleriniz aramalarda 1 yıl içerisinde en yukarıya tırmanacaktır.
1) Backlink Paketi 50 $ (Yıllık Ücret)
2) Hızlandırma Paketi 300 $ (Yıllık Ücret)
3) Kelime Yönlendirme Paketi 150 $ (Aylık Ücret)