Your browser does not support JavaScript! Kişisel tecrübeler, Android APP/APK/Game Modding ~~ Burtay.Org
    Follow @burtay  
  None

Kişisel tecrübeler, Android APP/APK/Game Modding

   

Oluşturma Tarihi : 12.06.2018 12:35:53
Son Güncelleme   : 21.10.2018 18:23:28


Uzun zaman oldu be post atmayalı. Bu sefer hiç ibnelik yapamıcam, dürüstçe itiraf ediyorum;özlemişim post atmayı. Eski blog dünyaları da kalmadı malesef. Twitter, medium falan derken kişisel domain üzerine kurulu üstüne server'ıda sahibine reg edilmiş o son bloglardanım. Neslimiz tükenme tehlikesi ile karşı karşıya malesef.

Bir çok sebepten olsada insanlar genel olarak ticari kaygılardan dolayı artık sosyal medya ve sosyal medyadan türetilmiş blogları kullanıyorlar. Ufak bir kar tanesinden çığa dönüşmek herkesin hayali. Benim gibi oldschool takılan az kaldı, e ticari kaygım yok. Zenginim aq :) .

Şimdi blog'a tesadüfen gelen arkadaşlar oluyor, okuyor gerçekten zengin sanıyor beni. Yok be gülüm fantezi dünyamız zengin. Zengin uslub'u kullanmak hoş oluyor. Hani bu postları atarken direk içimden geldiği gibi yazıyorum. Cümlelerimin yüklendiği anlamı ile yüklemek istediğim anlamı örtüşüyor mu diye dönüp bakmıyorum, imla hataları umrumda bile değil.

Ya bazıları da çıkıp demez mi türkçemizi değişiyor, hep senin gibi öküzler yüzünden :) . Tek diyeceğim dil senden benden bile canlı ve yaşlıdır. Bir dil değişmiyorsa problem vardır. Geçin siz TDK'yı falan. Algoritma hatası. Koca kurum sırf memory leak. Backdoor olarak bekliyor orda. Tabi meseleye bakış açınızda önemli ama Cemil Meriç'in bir sözünü hatırlatmak isterim. Ideojiler idraklarımıza giydirilmiş deli gömlekleri gibidir. Varın gerisini siz düşünün bre.

Niyetim biraz geyik yapıp susuz kalan blog topraklarını yeşertmek biraz da ilginizi çekecek kod bok püsür işlerinden bahsetmek bende henüz ne anlatacağımı bilmiyorum, sizin kadar heyecanlı şekilde bekliyorum kendi yazacaklarımı. Haydi Ya Allah!

[forPrivateUser][/forPrivateUser]

Hadi size biraz da android apk modding anlatayım, ama çok değil azıcık.Hedef olarak Toy Blast adlı oyunu aldım.



Normalde nefret ederim bu tarz oyunlardan fakat bir kere bulaştırdılar. Neyse konumuza gelelim. Bir apk nasıl düzenlenir. Aslında bu soruya verilecek cevap çok. App'in ne ile yazıldığı sorunun cevabını oluşturuyor. Direk Java ile mi,phonegap yada türevleri ile mi, Unity ile mi , Cocos2d ile mi... liste uzar gider. Hedef oyunumuz unity ile kodlanmış bir app, dolayısı ile modding olayı inanılmaz şekilde basit. Tabi burda modding yaparken her bir detayı anlatmayacağım ama azıcık kod bilgisi olan zaten anlattığım kadarından gerisini halledecektir.

Aşama 1 : APK'yı decompile etmek
Bu aşamada indirilen APK android-tool , android-easy-tool yada daha başka bir çok yazılım ile decompile edilebilir. Internette bir çok makale bulabilirsiniz. Ondan çok fazla bu detaya girmeyeceğim. Burda değinmek istediğim tek bir trick var oda decompile yerine extract yapabilirsiniz çoğu zaman daha mantıklı ve stabildir bilginiz olsun.

Aşama 2: ilgili dll dosyasını editlemek
Unity ile kodlanan oyunlar için assets/bin/Data/Managed klasörü içinde bulunan "Assembly-CSharp.dll" dosyasını debug etmeniz gerekmektedir. Bunun için bir çok yazılım mevcut benim tavsiyem dnSpy olacaktır.

DnSpy ile Assembly-CSharp.dll dosyasını açıyoruz. Daha sonra search kısmından istediğimiz keywordleri arıyoruz.



Bu keyworler neler olabilir derseniz, oyun içindeki assestlerin herhangi biri olabilir. Bir kaç örnek verecek olursak

coin
gold
diamond
live - lives
inventory
booster


Örnek olarak booster kelimesini arattım ve oyun içinde kullanılan ne kadar booster var ise hepsinin 99 adet olması için miktarlarını 99 olarak editledim.



Diğer editlemeniz gerekn yerleride bu şekilde editleyip daha sonra dll'i save ediyorsunuz. 2. aşama bu kadar.

Aşama 3: Tekrar compile etmek
Aşama 1'de decompile etmek için kullandığınız araç ile tekrardan compile etmek yada extract ettiyseniz ziplemek. Artık modlu APK'nız hazırdır.

Sonuç: Trickler

Trick 1. Bu bölümde bir kaç trickten bahsetmek istiyorum. Unity ile yazılan oyunlarda Managed klasörünün içinde bir çok dll dosyası mevcuttur ve ana dosya Assembly-CSharp.dll dosyasıdır. Fakat bazen bu dosyadan ve temel dll dosyalarından farklı olarak düzenlemeniz gereken dll dosyaları bulunabilir, inventory.dll gibi. Dolayısı ile hepsinize şöyle bi göz atmanızda fayda var. Zaten bir kaçtane mod yaptıktan sonra nelere bakmanız gerektiğini direk anlayacaksınız.

Trick 2. Bu tarz online oyunlarda dikkat etmeniz gereken en önemli şey, oyun için yazılmış webservisler ve APIlerdir. Eğer apileri dikkate almadan oyunu modlasanız bile oyun ya hata verip kapanacaktır yada webservisleri sayesinde kendisini gerçek değerler ile update edip bütün itemlerinizi eski hale getirecektir. Bundan ötürü, apiler ile gönderilen datalarıda editlemeniz gerekmekte ve main server üzerinde ikinci bi kontrol yok ise gönderdiğiniz sahte datanın main servera kaydedilmesini sağlamak boynunuzun borcu.

Trick 3. Bokunu çıkartmamak. Bazende editlenen datalara hayvan gibi rakamlar yazıp bokunu çıkartırsanız er yada geç o apk patlayacaktır ve deviceID'niz değişmediği müddetçe sistemden banlanırsınız ve o oyunu orjinal hali ile bile oynayamayabilirsiniz. Aman dikkat.

Blog yazısı için modladığım apk dosyasını aşağıdaki linkten indirebilirsiniz. Son sürümü indirip modladım. Daha güncel mod'u zaten piyasada yok. En günceli bizde kardeşşş. Peki bu modda ben neler yaptım.

Mod içeriği
1. Oyun için ve oyun dışı itemlerin tamamı 99 adet olarak güncellendi.
2. Diyelim ki bu itemlerden birini kullandınız geriye 98 adet değil 100 adet kalır. Yani kullandıkça azalan değil artan şekilde editledim.
3. API üzerinden server ile haberleşen class editlendi dolayısı ile oyunu kapattıktan sonra serverda bütün itemleriniz 99 adet olarak güncellenmekte. Ne zaman oyunu tekrar açarsanız yine 99 adet olarak gelmekte.
4. API editlendiği için iOS cihazlar içinde oyunu kurup facebook üzerinden senkron ettiğinizde android cihazınında ki bütün itemler direk olarak iphone cihazınızada gelecektir. Yani bazen androidten bazen iphonedan oynayabilirsiniz.
5. Oyun başarılı şekilde biterse performansınıza göre 1,2 veya 3 yıldız almaktasınız fakat editlediğim bölüm sayesinde her zaman 3 yıldız alabilirsiniz.

APK download linki (Toy Blast Modding APK)
https://yadi.sk/d/WSoazLVE3Xn6Qv


Hadi ben kaçar başka bir yazıda görüşürüz inş. Sene bitmeden belki yine yazarım belli olmaz sağım solum.