Game Guardian Script Yapımı (Kapsamlı Eğitim)

Bazı ilgili araçlar ve anlatımlar için bu konuya bakın. (Lua Script oluşturmak için Comet kullanımı)


Ve tekrar merhaba…
Söz verdiğimiz üzere, çoğunuzun uzaktan baktığı ve yetersiz deneyim ile içine girmeye çekindiği, Lua Script (GG Version) konusunu muhtemelen kapsamlı bulacağınız şekilde açıyorum.
Umarım bu eğitimler ve fazlası ile gelişip, siteye yeni potansiyel Admin olma yolunda ilerlersiniz…

Başlangıç için GG ile oyunu hacklediğinizi ve ilgili hile kodlarınızı aldığınızı varsayıyorum…
Şimdi bu kodları Script içine entegre edelim…

  1. Bellek aralığı: hile kodlarını bulduğunuz “.apk” içine gömülü, Java, C++ gibi eklentilerden hangisi ise GG Script de kod karşılığına bakalım…

REGION_JAVA_HEAP
Jh: Java yığını" bellek bölgesi.

REGION_C_HEAP
Ch: C++ yığını" bellek bölgesi.

REGION_C_ALLOC
Ca: C++ tahsisi" bellek bölgesi.

|REGION_C_DATA
Cd: C++ .data" bellek bölgesi.

REGION_C_BSS
Cb: C++ .bss" bellek bölgesi.

REGION_PPSSPP]
PS: PPSSPP" bellek bölgesi.

REGION_ANONYMOUS
A: Anonim" bellek bölgesi.

REGION_JAVA
“J: Java” bellek bölgesi.

REGION_STACK
“S: Yığın” bellek bölgesi.

REGION_ASHMEM
“As: Ashmem” bellek bölgesi.

REGION_VIDEO
“V: Video” bellek bölgesi.

REGION_OTHER
“O: Diğer (yavaş)” bellek bölgesi.

REGION_BAD
“B: Kötü (tehlikeli)” bellek bölgesi.

REGION_CODE_APP
“Xa: Kod uygulaması (tehlikeli)” bellek bölgesi.

REGION_CODE_SYS
“Xs: Kod sistemi (tehlikeli)” bellek bölgesi.

Kullanımı: gg.setRanges()
gg.setRanges(gg.REGION_C_HEAP)
veya
gg.setRanges(bit32.bor(gg.REGION_C_HEAP, gg.REGION_C_ALLOC, gg.REGION_ANONYMOUS))
veya…
gg.setRanges(gg.REGION_C_HEAP | gg.REGION_C_ALLOC | gg.REGION_ANONYMOUS)

  1. Tarama kodu entegre: gg.searchNumber()
    Söz Dizini:
    gg.searchNumber(“aranacak değer”, Tarama türü**)**
    gg.getResults(değiştirmek istediğiniz değer sayısı)
    gg.editAll(“değişim için yeni değer”, Değişim türü**)** --getResults da belirtilen tüm listeyi değiştirir.

Örnekler:

gg.searchNumber('10', gg.TYPE_DWORD)
gg.getResults(5)
gg.editAll('15', gg.TYPE_DWORD)

-- with float:
gg.searchNumber('10.1', gg.TYPE_FLOAT)
gg.getResults(5)
gg.editAll('15.2', gg.TYPE_FLOAT)

-- with XOR mode
gg.searchNumber('10X4', gg.TYPE_DWORD)
gg.getResults(5)
gg.editAll('15X4', gg.TYPE_DWORD)

-- edit few values at once
gg.searchNumber('10', gg.TYPE_DWORD)
gg.getResults(5)
gg.editAll('7;13;43;24;11', gg.TYPE_DWORD)

-- edit HEX
gg.searchNumber('h 5C E3 0B')
gg.getResults(30)
gg.editAll('h 4B 90 9B', gg.TYPE_BYTE)

-- edit text UTF-8
gg.searchNumber(':şuşpançik')
gg.getResults(100000)
gg.editAll(':şUşPaNçIk', gg.TYPE_BYTE)

-- edit text UTF-16LE
gg.searchNumber(';şuşandra')
gg.getResults(100000)
gg.editAll(';şUşAnDrA', gg.TYPE_WORD) -- UTF-16LE use WORD not BYTE!

-- edit HEX + UTF-8
gg.searchNumber("Q 5C E3 0B 'şuşpançik' 9B 11 7B")
gg.getResults(100000)
gg.editAll("Q 43 12 34 'şUşPaNçIk' 9F 1A 70", gg.TYPE_BYTE)

-- edit HEX + UTF-16LE
gg.searchNumber('Q 5C E3 0B "şuşandra" 9B 11 7B')
gg.getResults(100000)
gg.editAll('Q 41 F7 87 "şUşAnDrA" 9B 18 7B', gg.TYPE_BYTE)

-- edit HEX + UTF-8 + UTF-16LE
gg.searchNumber('Q 5C E3 0B \'şuşpançik\' 9B "şuşandra" 11 7B')
gg.getResults(100000)
gg.editAll('Q 41 F7 87 \'şUşPaNçIk\' 04 "şUşAnDrA" 71 3B', gg.TYPE_BYTE)

-- edit ARM opcodes
gg.searchNumber('~A MOV R1, R2', gg.TYPE_DWORD)
gg.getResults(100000)
gg.editAll('~A MOV R2, R3', gg.TYPE_DWORD)

gg.searchNumber(‘10;3000;1;2000:512’, gg.TYPE_DWORD)
–kod sonuna noktalı virgül ; yerine iki nokta üst üste : bırakıp tarama kodu değil, tarama bellek aralığı yazdım… Rakamlar bir birine uzak ise isteğe bağlı bunu 16 - 4086 arası bir bellek ile genişletin… yada kullanmayın bu opsiyonu…

  1. Menü Birden fazla hile listeleme ve script kapatma prosedürü…
    items: Seçim için öğeleri içeren tablo.
    selected: Belirtilmez veya (if) olarak belirtilirse nil, liste varsayılan seçim olmadan olacaktır.
    message: İletişim kutusunun isteğe bağlı başlığını belirtir. (“Bu hile …”)

Bir işlev başlatın ve menüyü bu işlev içine tablo olarak sarmalayın.

Not: Kod veya Kelimenin başına “–” iki tire koymak o kod veya satırı, açıklamayı kod dışına iter ve script bu satırı görmezden gelip okumaz… (aşağıda örnekleri mevcut)

function benimMenuListem() --bir işlev (function) açıldı..
Menu = gg.choice({" ➤ Hack 1"," ➤ Hack 2"," ➤ Hack 3","➤ ÇIKIŞ"}, nil,"Bu Hack By AylinCE tarafından oluşturulmuştur!") 
if Menu == 1 then F1() end 
if Menu == 2 then F2() end 
if Menu == 3 then F3() end 
if Menu == 4 then Exit() end 
end --işlev kapandı..

--Şimdi menülerde verilen listeye kodları entegre edin:
function F1() --Klasik örnek..
gg.clearResults() --önceki tarama sonuç listesini temizleyip başla..
gg.setRanges(gg.REGION_C_HEAP)
gg.searchNumber('10', gg.TYPE_DWORD)
gg.getResults(5)
gg.editAll('15', gg.TYPE_DWORD)
end

function F2() --size sınamalı örnek vereyim ..
gg.clearResults() 
gg.setRanges(gg.REGION_C_ALLOC, gg.REGION_ANONYMOUS)) --isteğe bağlı..
gg.searchNumber('10;3000;1;2000:512', gg.TYPE_DWORD)
--sınama..
local sonuc = gg.getResults(100) --100 sonuca kadar ne bulursa..
sonuc = tonumber(sonuc) --sonucu dize değil, sınama yapacağımız için rakam olarak formatladık..
if sonuc<15 then --çıkan sonuç 15'ten düşük ise error!
gg.alert("Kod bulunamadı!!! ") --uyarı mesajı attık..
gg.sleep(3000) --yukarıdaki mesaj görünmesi için 3 saniye bekletmek için..
else --şayet 15'ten çok sonuç varsa ..
gg.editAll('99999999', gg.TYPE_DWORD) --bulunan tüm sonuçlar değişir..
gg.alert("Hile aktif edildi.. ") 
gg.sleep(3000) 
end --sınama sorgusu kapandı..
gg.clearResults() 
end --F2 işlevi kapandı..

function F3() --bu işleve de başka bir değişim örneği verelim. Hem sınamalı, hem de çoklu arama içinde dilediğiniz rakamı değiştirin..
gg.searchNumber(“201500;0;3000;5”, gg.TYPE_DWORD)
local sonuc1 = gg.getResults(100)
for i,v in pairs(sonuc1) do
if v.value == 3000 then -- 201500 ve 0 ı atladık, sonuçlar içinden bize lazım olanlarla devam edelim..
v.value = 50000000
elseif
v.value == 5 then
v.value = 10000000
end
end
gg.setValues(sonuc1) --verdiğimiz yeni değerleri işlemek için.
gg.clearResults()
end

---Script kapatma işlevini yapalım..
function Exit() 
gg.toast("Bye.. Bye.. ") 
gg.sleep(4500) 
os.exit() 
end

--Script açık iken GG simgesini gizle..
while(true) do 
  while gg.isVisible(true) do 
      gg.setVisible(false) 
      benimMenuListem()
   end
end
--- Script ilk açıldığında menüyü yükle..
benimMenuListem()

------------------------------------------- Script Finish -------------------------
(İmla hataları varsa özür dilerim…)

Muhtemel başlangıç seviyesi bilinmesi gerekenler listelendi…
Sorularınız ve önerileriniz varsa, yorum yapmaktan çekinmeyin…
Vakit buldukça ve istek oldukça, bu konulara devam edeceğiz…

Umarım eğitimi faydalı bulursunuz…
Tekrar görüşmek üzere… İyi Oyunlar…

6 Likes

Emeğine sağlık :pray:

1 Like

Ellerine sağlık. Çok yararlı bir konu olmuş.

2 Likes

Teşekkürler… Umarım geliştirecek ve bu tür konuları çoğaltacak daha çok vakit bulabiliriz…

3 Likes

Ellerine sağlık detaylı bir anlatım olmuş.

2 Likes

Valla siz olmasanız biz bu işleri asla ogrenemeyiz :heart::heart:

2 Likes

Herkese Teşekkürler…
Muhtemel olarak, bu konular benim ilgi alanımda ve lua içerdiği için görevimmiş gibi algılıyorum…
Size hak veriyorum…
Ekip oyunlar ile çok yoğun, 2 günlük pc maceramda kısa ve öz konular da bana kaldı :slight_smile:

4 Likes

Eline yüreğine sağlık.

2 Likes

Güzel bir anlatım. Video lu bir şekilde olursa daha güzel olacak. Knight online mobile script yapmam gerek :wink:

2 Likes

Bu durumda video anlatımdaki gibi açıklayıcı olmayacaktır. (Açıklamalar olmadan, sadece görsel (Varsayılan video servisimiz :wink: ))

Zira paylaşımın sonundaki kod alıp, içine menü isimlerini düzenleyip,
(

Menu = gg.choice({" ➤ Hack 1"," ➤ Hack 2"," ➤ Hack 3",“➤ ÇIKIŞ”}

)

Kod değişim işlevi bölümüne kendi tarama ve değişim kodlarını yazarsan,
(

function F3()
gg.searchNumber(“201500;0;3000;5”, gg.TYPE_DWORD)
if v.value == 3000 then
v.value = 50000000

)

Ve düzenlemeden sonra bu dosyayı “.lua” ile paketlersen, script senin olur… :wink:

Yada dene… Hata alırsan buraya hatayı belirten yorum at veya mesaj yaz…

2 Likes

Admin knight online mobile script yapa bilirmisin?

1 Like

Kodlar sende kalsın (oluşturduğun oyuna dair kodların) sadece bana (burada yorum veya mesaj ile) örnek, benzer kod ve menü ismi ver, bir script düzenleyip vereyim. Script’i açıp içine baktığında verdiğin kodları ve menü isimlerini nereye yazdığımı görür, kendi koduna göre düzenlersin.

Oppss!! Böyle olunca da sen kod bulur, başkası da onu script yapar vs :slight_smile: Bu seni geliştirmez…

Yine de ilk örneği vereceğim:

Senden aldığım örnek kodlar:
Cash için “1100”, (değişim) “-5000”
Gold için (çoklu tarama tipi) “3000,2000,500” , (değişim) “-50000”
Tarama belleği: “ANONYMOUS”,
Tarama türü; “Dword”,
Menü isimleri; “Cash 5.000+” ve “Gold 50.000+” olacak sanırım…

Nasıl Yapılır

Paylaşımdaki son kodu kopyalayıp (PC de) bir txt dosyasına yapıştırdım (Veya mobil de Lua edit veya txt edit programı)
Kodu aşağıdaki gibi örnekte verilen değerleri yazıp düzenledim…

function seninMenuListem() --menü işlev adı da değişti…
Menu = gg.choice({" ➤ Cash 5000+"," ➤ Gold 50.000+",“➤ ÇIKIŞ”}, nil,“Bu Hack By AylinCE tarafından oluşturulmuştur!”)
if Menu == 1 then F1() end
if Menu == 2 then F2() end
–if Menu == 3 then F3() end – burası çıkınca alttaki Menu==3 oldu
if Menu == 3 then Exit() end
end

function F1()
gg.clearResults()
gg.setRanges(gg.REGION_ANONYMOUS)
gg.searchNumber(‘1100’, gg.TYPE_DWORD)
gg.getResults(50)
gg.editAll(’-5000’, gg.TYPE_DWORD)
end

function F2()
gg.clearResults()
gg.setRanges(gg.REGION_ANONYMOUS))
gg.searchNumber(‘3000;2000;500’, gg.TYPE_DWORD)
–sınama…
local sonuc = gg.getResults(100)
sonuc = tonumber(sonuc)
if sonuc<15 then
gg.alert("Kod bulunamadı!!! ")
gg.sleep(3000)
else
– kod değişim
gg.editAll(’-50000’, gg.TYPE_DWORD)
gg.alert("Hile aktif edildi… ")
gg.sleep(3000)
end
gg.clearResults()
end

function Exit()
gg.toast("Bye… Bye… ")
gg.sleep(4500)
os.exit()
end

while(true) do
while gg.isVisible(true) do
gg.setVisible(false)
seninMenuListem() --menü
end
end

seninMenuListem() --ve menü

Ve bu txt dosyası menüsünden “Farklı kaydet” seçeneğini seçtim.
Açılan pencerede yeni isim verme kutusu altında yazan “Metin Belgesi *txt” yazan yere tıklayıp “Tüm dosyalar” seçeneğini seçtim.
Yeni isimi oluşturdum ve sonuna “.lua” yazdım (Şuna benzer: Oyun adı.lua)
En son “Kaydet” butonuna tıklayıp düzenlemeyi bitirdim.

ve sonuç: Oyun adi.lua (1.1 KB)

Muhtemelen kodların ve tarama, değişim kombinasyonların bu kadar basit değildir,
Zira Site bir Forum sitesi olmasa da, Eğitim ve Öğretim (Tutorials) başlıkları altında ise onu Forum yapabildiği için, örneklerini yorum olarak paylaşa bilir, düzeltme veya hata giderme çözümleri isteye bilirsin.

Başlangıcı yapabilirsen, sonucu görebilmene yardımcı olmaya çalışırız.

3 Likes

hocam gg lua ile map hack hilesi yapanlar var nasıl yapılıyo r acaba

1 Like

Maalesef bu tür harita hileleri benim uzmanlığım değil.
Soruna gelince; Öncelikle harita kodunu ve hilesini oluşturup bunu GG lua’ya (Float veya double vs hangi bellekte bulduysanız) GG lua ya koymak ve bir menü oluşturmak zor olmamalı.
Zira önce kodu oluşturmalısınız.

1 Like

nerden bulabiliriz yada sitede ilgilenen admin var mı

1 Like

Harita (veya benzeri map hack) hilesi eğitimi sitede yok sanırım. Bunu Google ve Youtube de aratıp sonuçları inceleye bilirsin ve benzer yolları takip edip harita kodunu oyundan sökebilir ve daha sonra GG lua ile bu kodu bir menü altına bırakıp kullanabilirsin.

1 Like

hocam pek anlamıyorum hile yapımından işte anlayan yapabilecek yada yapılmışını arıyorum bende mobile legendsta tonlarca var ama bu oyunda hep yabancılar yapmış oda ücretli hep

1 Like