Selamlar,
Son derece mükemmel olan yeni bir MOD Menüsünü sizlerle paylaşmak istiyorum, çünkü sadece Unity destekli olmayan android oyunları için, artık MOD Menüsünü sizler de yapabilirsiniz.

Hilesiz / Hile Modlu


Bu Mod Menüsü için Kullanmanız gereken proglamlar:
Android Studio 3
APKTool
Notepad++
Floating ModMenu
C ++, Java
Gerekli tüm dosyaları indirdikten sonra, yapmanız gereken ilk şey Android Studio'yu açmak ve Floating ModMenu programını açmaktır.
Boşluk olmadan klasördeki Mod Menüsü Projesini çıkarın, sadece adı temizleyin, örnek: C:Users\xxxxxx\Desktop\Modding\FloatingModMenu-master
Projeyi Android Studio'da açın


Projenizi yükledikten sonra FloatingModMenuService.java'yı Bulmanız gerekecek, bu yöntemde MOD Menünüz için Seçenekler ekleyeceksiniz
Kısayol (CTRL + SHIFT + F) ile bu dosyayı kolayca bulabilir ve ardından,
Kod:
Şimdi MOD Menüsü "Buttons" Hile Seçeneklerini ekleyebilirsiniz, işte bazı Örnekler

MOD Menüsü için Seçeneklerinizi düzenlediğinizde, bu dosyayı açın /FloatingModMenu/app/src/main/jni/src/main.cpp bu dosyada işlemleri uygulayacak işlevleri düzenlemeniz gerekecek. (Hem Android hem de iOS için çalışma zamanı kodu yaması oluşturmayı yapmamız lazım) Daha sonra yerel kitaplıktan aramanız ve bunları eşleştirmeniz gerekmektedir.
Bu dosya, oyun içi işlevlerle MOD Menü Anahtarlarını bağladığınız yerdir.
Gerekli tüm seçenekleri ekledikten sonra bu Projeyi oluşturabilir ve Modlu APK Oluşturabilirsiniz!


Yapınızın Hatasız Başarıyla Tamamlandığından emin olun. Aksi halde hata alabilirsiniz.
Sonraki adım, "ModMenu Öğeleri Oluştur" u Oyun klasörünüze enjekte etmek olacak.
Oluşturulmuş MOD Menüsü APK'sinin dosya konumunu bulun.

Şimdi uygulamayı SBennyAPKTool veya başka bir araçla yeniden derlemeniz gerekecek ve sonra Oyun Klasörünüze bazı şeyleri kopyalamanız gerekecek. MODMenu APK'sini koda dönüştürdükten sonra oyununuzu yeniden derlemenizi gerektirir!
Oluşturulan MOD Menüsü APK'sından Dosya Aktarmaya Hazır Olduğunuzda, Bu Dosyaları Oyun Klasörünüze Kopyalayın
Ve libKittyMemory.so dosyasını Doğru Oyun Yapısına kopyalamanız gerekir
Ancak dikkatli olun libKittyMemory.so manuel taşıyın çünkü bu, Oyununuzun hangi yapıyı kullandığına ve hangisini Hacklediğinize bağlıdır!

libKittyMemory.so bu Klasörlerde bulunur, yalnızca Oyununuzun kullandığı klasörü kopyalayın.

Daha sonra, uygulamayı diğerlerinin ve Mod-Menü hizmetinin üzerinde görüntülemek için izin eklememiz gerekiyor.
Oyun klasöründen AndroidManifest.xml dosyasını açın
ve Bu Kodu İzinlerin ilk satırına ekleyin!
Kod:
Ardından bu Kodu AndroidManifest.xml dosyasında <application> sonrasına da kopyalayın.
Kod:
Sonraki adım belki de en zorudur çünkü oyununuzun ana aktivitesini bulmanız ve MOD Menünüzü enjekte etmeniz gerekir.
MOD Menü ve libKittyMemory kitaplık yüklemesini kaydetmeniz gerekir.
Oyunumuzun ana dosyasını arıyoruz. Genellikle <application> 'da yazılır

Kod:
Oyuna göre başlangıç etkinliğini görebildiğimiz gibi com.unity3d.player.UnityPlayerActivity
Benim durumumda Ana Oyun Aktivitem burada bulunuyor.

Oyun Ana Etkinliğini bulun (UnityPlayerActivity) ve Notepad ++ ile açın ve sınıfı (Bu Kodu) # sanal yöntemlerle oyunumuzun ana sınıfına kopyalayın, Son Yöntemden Sonra yapıştırabilirsiniz!
Kod:
Ve en önemli şey de aynı Dosyada, Mainactivity smali bu Kodu onCreate Method'a eklemek için
Kod:
Son derece mükemmel olan yeni bir MOD Menüsünü sizlerle paylaşmak istiyorum, çünkü sadece Unity destekli olmayan android oyunları için, artık MOD Menüsünü sizler de yapabilirsiniz.

Hilesiz / Hile Modlu


Bu Mod Menüsü için Kullanmanız gereken proglamlar:
Android Studio 3
APKTool
Notepad++
Floating ModMenu
C ++, Java
Gerekli tüm dosyaları indirdikten sonra, yapmanız gereken ilk şey Android Studio'yu açmak ve Floating ModMenu programını açmaktır.
Boşluk olmadan klasördeki Mod Menüsü Projesini çıkarın, sadece adı temizleyin, örnek: C:Users\xxxxxx\Desktop\Modding\FloatingModMenu-master
Projeyi Android Studio'da açın


Projenizi yükledikten sonra FloatingModMenuService.java'yı Bulmanız gerekecek, bu yöntemde MOD Menünüz için Seçenekler ekleyeceksiniz
Kısayol (CTRL + SHIFT + F) ile bu dosyayı kolayca bulabilir ve ardından,
Kod:
private void modMenu() {
Şimdi MOD Menüsü "Buttons" Hile Seçeneklerini ekleyebilirsiniz, işte bazı Örnekler

MOD Menüsü için Seçeneklerinizi düzenlediğinizde, bu dosyayı açın /FloatingModMenu/app/src/main/jni/src/main.cpp bu dosyada işlemleri uygulayacak işlevleri düzenlemeniz gerekecek. (Hem Android hem de iOS için çalışma zamanı kodu yaması oluşturmayı yapmamız lazım) Daha sonra yerel kitaplıktan aramanız ve bunları eşleştirmeniz gerekmektedir.
Bu dosya, oyun içi işlevlerle MOD Menü Anahtarlarını bağladığınız yerdir.
Gerekli tüm seçenekleri ekledikten sonra bu Projeyi oluşturabilir ve Modlu APK Oluşturabilirsiniz!


Yapınızın Hatasız Başarıyla Tamamlandığından emin olun. Aksi halde hata alabilirsiniz.
Sonraki adım, "ModMenu Öğeleri Oluştur" u Oyun klasörünüze enjekte etmek olacak.
Oluşturulmuş MOD Menüsü APK'sinin dosya konumunu bulun.

Şimdi uygulamayı SBennyAPKTool veya başka bir araçla yeniden derlemeniz gerekecek ve sonra Oyun Klasörünüze bazı şeyleri kopyalamanız gerekecek. MODMenu APK'sini koda dönüştürdükten sonra oyununuzu yeniden derlemenizi gerektirir!
Oluşturulan MOD Menüsü APK'sından Dosya Aktarmaya Hazır Olduğunuzda, Bu Dosyaları Oyun Klasörünüze Kopyalayın
Ve libKittyMemory.so dosyasını Doğru Oyun Yapısına kopyalamanız gerekir
Ancak dikkatli olun libKittyMemory.so manuel taşıyın çünkü bu, Oyununuzun hangi yapıyı kullandığına ve hangisini Hacklediğinize bağlıdır!

libKittyMemory.so bu Klasörlerde bulunur, yalnızca Oyununuzun kullandığı klasörü kopyalayın.

Daha sonra, uygulamayı diğerlerinin ve Mod-Menü hizmetinin üzerinde görüntülemek için izin eklememiz gerekiyor.
Oyun klasöründen AndroidManifest.xml dosyasını açın
ve Bu Kodu İzinlerin ilk satırına ekleyin!
Kod:
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
Ardından bu Kodu AndroidManifest.xml dosyasında <application> sonrasına da kopyalayın.
Kod:
<service android:enabled="true" android:exported="false" android:name="com.mrikso.modmenu.FloatingModMenuService"/>
Sonraki adım belki de en zorudur çünkü oyununuzun ana aktivitesini bulmanız ve MOD Menünüzü enjekte etmeniz gerekir.
MOD Menü ve libKittyMemory kitaplık yüklemesini kaydetmeniz gerekir.
Oyunumuzun ana dosyasını arıyoruz. Genellikle <application> 'da yazılır

Kod:
<application android:allowBackup="true" android:icon="@mipmap/app_icon" android:label="@string/app_name" android:name="android.support.multidex.MultiDexApplication" android:supportsRtl="true" android:theme="@style/UnityThemeSelector">
<service android:enabled="true" android:exported="false" android:name="com.mrikso.modmenu.FloatingModMenuService"/>
<activity android:configChanges="density|fontScale|keyboard|keyboardHidden|layoutDirection|locale|mcc|mnc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|touchscreen|uiMode" android:hardwareAccelerated="false" android:label="@string/app_name" android:launchMode="singleTask" android:name="com.unity3d.player.UnityPlayerActivity" android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
<meta-data android:name="unityplayer.UnityActivity" android:value="true"/>
</activity>
Oyuna göre başlangıç etkinliğini görebildiğimiz gibi com.unity3d.player.UnityPlayerActivity
Benim durumumda Ana Oyun Aktivitem burada bulunuyor.

Oyun Ana Etkinliğini bulun (UnityPlayerActivity) ve Notepad ++ ile açın ve sınıfı (Bu Kodu) # sanal yöntemlerle oyunumuzun ana sınıfına kopyalayın, Son Yöntemden Sonra yapıştırabilirsiniz!
Kod:
.method public Start()V
.locals 3
.line 23
const-string v0, "KittyMemory"
invoke-static {v0}, Ljava/lang/System;->loadLibrary(Ljava/lang/String;)V
.line 24
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v1, 0x17
if-lt v0, v1, :cond_0
invoke-static {p0}, Landroid/provider/Settings;->canDrawOverlays(Landroid/content/Context;)Z
move-result v0
if-nez v0, :cond_0
.line 25
new-instance v0, Landroid/content/Intent;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "package:"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Landroid/app/Activity;->getPackageName()Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-static {v1}, Landroid/net/Uri;->parse(Ljava/lang/String;)Landroid/net/Uri;
move-result-object v1
const-string v2, "android.settings.action.MANAGE_OVERLAY_PERMISSION"
invoke-direct {v0, v2, v1}, Landroid/content/Intent;-><init>(Ljava/lang/String;Landroid/net/Uri;)V
.line 26
.local v0, "intent":Landroid/content/Intent;
const/16 v1, 0x7d2
invoke-virtual {p0, v0, v1}, Landroid/app/Activity;->startActivityForResult(Landroid/content/Intent;I)V
.line 27
.end local v0 # "intent":Landroid/content/Intent;
goto :goto_0
.line 28
:cond_0
new-instance v0, Landroid/content/Intent;
const-class v1, Lcom/mrikso/modmenu/FloatingModMenuService;
invoke-direct {v0, p0, v1}, Landroid/content/Intent;-><init>(Landroid/content/Context;Ljava/lang/Class;)V
invoke-virtual {p0, v0}, Landroid/app/Activity;->startService(Landroid/content/Intent;)Landroid/content/ComponentName;
.line 30
:goto_0
return-void
.end method
.method public onActivityResult(IILandroid/content/Intent;)V
.locals 2
.param p1, "requestCode" # I
.param p2, "resultCode" # I
.param p3, "data" # Landroid/content/Intent;
.line 34
const/16 v0, 0x7d2
if-ne p1, v0, :cond_1
.line 35
const/4 v0, -0x1
if-ne p2, v0, :cond_0
.line 36
new-instance v0, Landroid/content/Intent;
const-class v1, Lcom/mrikso/modmenu/FloatingModMenuService;
invoke-direct {v0, p0, v1}, Landroid/content/Intent;-><init>(Landroid/content/Context;Ljava/lang/Class;)V
invoke-virtual {p0, v0}, Landroid/app/Activity;->startService(Landroid/content/Intent;)Landroid/content/ComponentName;
goto :goto_0
.line 38
:cond_0
const/4 v0, 0x0
const-string v1, "Draw over other app permission not available. Closing the application"
invoke-static {p0, v1, v0}, Landroid/widget/Toast;->makeText(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast;
move-result-object v0
invoke-virtual {v0}, Landroid/widget/Toast;->show()V
.line 39
invoke-virtual {p0}, Landroid/app/Activity;->finish()V
goto :goto_0
.line 42
:cond_1
invoke-super {p0, p1, p2, p3}, Landroid/app/Activity;->onActivityResult(IILandroid/content/Intent;)V
.line 44
:goto_0
return-void
.end method
Ve en önemli şey de aynı Dosyada, Mainactivity smali bu Kodu onCreate Method'a eklemek için
Kod:
invoke-virtual {p0}, Lcom/unity3d/player/UnityPlayerActivity;->Start()V


