Fivem.com.tr
Fivem.com.tr
- Katılım
- 1 Eki 2022
- Mesajlar
- 5,891
- Tepki
- 112
--moderatör arkadaşlar için nazik acizane bir uyarı: thread off-topic gibi görünsede kısa bir süreliğine de 'Rehber'e bağlıyorum aşağıda, yine de konuyu istediğiniz yere taşıyın, bana farketmez, yazarken konu ve modum çok değişti.--
Merhabalar, normalde bu forumda açacağım ilk ve tek konu extendedmode'un nasıl çalıştığını ve neden kullanıldığını anlatacaktım ancak daha eğlenceliğ ve trajikomik bir konuyla giriş yapmak nasip oldu.
Hepimizin bildiği gibi, FiveM scriptlerini sıfırdan geliştirmek, uzun zaman ve emek isteyen bir uğraş.
Bu sebepten ötürü developer'lar işlerini satmayı tercih edebiliyorlar. Tabii, işlerini sattıklarında kopyalanarak çoğalmasını istemedikleri için, 'en azından benim olduğu belli olsun, NameLocking yapayım, ismim listede görünsün' ideolojisi çerçevesinde kodlarını şifrelemeyi tercih ediyorlar. Bunu elle de yapmak mümkün, ancak, bunu IronBrew I ve II, PSU, Bytecode gibi obfuscator uygulamalarla yapmak en mantıklı şey.
Buradan ayırdına varmanız gereken şey şifreli ve karışık görünen scriptin lisanslı olmak zorunda olmamasıdır.
Her lisanslı kod şifrelenmiş olmak zorundadır.
Her şifrelenmiş kod lisanslı olmak zorunda değildir.
Bu ayırda da vardığımıza göre devam edebiliriz.
Not : Şifrelemeye karşıyım ve komik buluyorum.
1 Yıla yakındır piyasayı izlemeyi bırakıp aktif developerlık ve yöneticilik yapmaktayım. Temiz dil sevdiğim için LUA ve JS tercih ettiğimden şifrelenmiş kod bana uzak ve mantıksız geliyor. Buna rağmen üzücüdür ki satılmayan scriptlerin bile lisanslandığını gördüm. Daha da üzücü olan, Emirhan tarafından yazılan (ehem, pardon, GitHub'dan çalınan) logsistemin 2 hafta sonra Cylex tarafından AYNEN şifrelenip başka bir forumda paylaşıldığına şahit oldum.
Bytecode, deobfuscate edilmeye çok dayanıklı bir yöntem değil. Kolayca kodun çıktısı alınabiliyor. Fotoğrafını bulursam bir yere yapıştırırım.
Ana konuya geri dönelim; şifreleme nasıl çalışıyor?
Çoğu kodlama dilleri içinde 'eval()' ve 'loadstring()' gibi fonksiyonlar bulundururlar. Bu fonksiyonlar kod enjeksiyonuna karşı çok zayıf oldukları için tehlikeli olsa da, obfuscator uygulamalarında sıkça kullanılıyor. Bu zaten bir obfuscator'un çalışma felsefesidir. Obfuscator kodunuzu alır, baytlara ya da harflere böler, bir algoritmadan geçirir ve bilgisayarlar için çok kolay ama okuyucular(insanlar) için çözmesi yıllar alacak ve gözle okuması imkansız bir hale getirir. Bu puzzle'dan ortaya çıkan string de direk eval() ya da LUA'da loadstring() fonksiyonuna verilir ve tehlikeli olmalarının sebebi zaten budur; bu fonksiyonlar kendilerine verilen kodu şartsız çalıştırır.
eval() gibi fonksiyonların tehlikesine değinen MDN makalesine
Devam edelim; şifrelemeyi anladım abi; peki lisans nedir la?
Lisans; 'sadece kodu kurcalayamaman yetmez, ben izin vermedikçe de kullanamazsın kardeşim' felsefesi devreye girdiğinde karşımızda çıkıyor.
Lisanslı paketleri anla(yama)ma ve kırma (bypass etme)
Basit. Acayip basit.
Spoyler: rac10 ve atar içerir. paket lisanslıyorsanız bakın, yoksa maruz kalmanıza gerek yok.
Şimdi, ben ve dostum Mika'nın eline 5 Ağustos sabahı MertBaran'a ait 2 adet "lisanslı" paket geçti. Bir tanesinde lisansın L'sine rastlayamadım, diğerine geçtik.
Arkadaşlar, paket üreten vakti bol piyasa meslektaşlarım, sizden nazikçe rica ediyorum. MertBaran'ın yaptığını yapmayın. es-extended scriptinin server.lua'sının en altına sadece gömülü key doğrulaması yapıp key yanlış gelirse CMD kapatan bir kod parçası yapıştırıp geçmeyin! ÇOK. KOLAY. PATLIYOR. Piyasada ve hatta ipucu vermek gerekirse bu forumda, oldukça saygı duyulan sayısız insanın paketi elime geçti; bazıları yarn'a, JS ile uğraşıp Discord Webhook tabanlı lisans sistemi entegre etmiş, bazıları sunucunun versiyonunu checkleyen, ona göre cmd kapatan kodları şifresiz uzun kodların içine koyup lisans sistemi yapmış, (hızlı patladı ama yaratıcı...) ve hiç sesimi çıkarmadım çünkü en azından bir uğraş vardı ortada. Ama bu, abi... Abi bu cidden komik, yani adamın aklıyla dalga geçer gibi iş yapmayın, komik duruma düşüyorsunuz. 404, 1337 falan feşmekan çocuk orduları sayesinde, tag'lerin gazıyla TR1'e oturmuş bir sunucunun, dahası "LİSANSI KIRILAMAZ" diye hava atılan sunucuların paketleri, elime geçmesinin üstünden 10dk geçmeden neden VDS'imde aktif abi?
İşinizi düzgün yapın, rica ediyorum!
Gelelim basit ipuçlarına.
Spoyler: Metod 1 - ŞİFRESİZ LİSANSLAMA
1) Şifresiz lisanslama : (kendimle çelişmiyorum, aptallık belirtiyorum) : ortada CMD crash varsa 'os.exit()' fonksiyonunu grep ya da VSCode aramasıyla aratmak ilk mantıklı hareket olacaktır. Ben paketin sözde zorluğunu gözetmeksizin bunu yapıyorum çünkü evet şifresiz lisansa rastladığım oldu, her seferinde güldürüyor.
Spoyler: Metod 2 - BYTECODE / XOR (TAVSİYE EDİLEN YÖNTEM)
2) Bytecode / XOR :
Kod:
araması sonuç getirirse, alakalı olduğu kod paraçasını yok edin. bunu, tüm scirptler ve snippetler için yaptığınızda, lisanslama için çokça kullanılan bir metodun ürünü olan kodlardan kurtulmuş olacaksınız. MertBaran'ın sahibi olduğu ve kırdığım paketler bu aramadan sonra çalışır hale getirilmiştir.
Spoyler: Metod 3 - CANAVAR YAŞLANDI VE ONU VURDULAR - PSU Obfuscator
3) PSU: Kabusumdu bir aralar, okunamaz, kırılamaz, dumplanamaz, ölümüne sağlam, API'lı, mükemmel ve ucuzdu.
Ancak, ben bunu yazarken, Discord'ları silindi, kaynak kodları 20 dakika bir süre için v3 gibi çirkin forumlarda gezdi, API'ları patladı, müşterilere ait source'lar çalındı. Erişimim olup olmadığını şimdilik belirtmek istemiyorum, ama eğer ki source'a erişim sağlarsam mutlaka bir debofuscator yapacağım. O zamana kadar, özellikle alıp kendi koyduğunuz scriptler dışında, grep/VSCode aramasında "PSU Obfuscator" kelimeleri bulunan scriptleri stoplayarak çemberi daraltabilirsiniz.
Spoyler: Metod 4 - PATLAYANA KADAR
4) Lisans bypass'lamanın en net ama zaman isteyen yolu da, teker teker resource taşımaktır. CMD Kapandığında, en son attığınız scriptin lisanslı/os.exit()'li olduğundan emin oluyorsunuz. Bu taşıma mevzuunu otomatik yapan Python tabanlı bir botum var, public olmaya hazır ettiğim zaman onu da kullanımınıza sunarım.
Spoyler: Metod 5 - HAZIR PAKET NEDİR YENİYOR MU AB?
5) Kendi paketinizi yapın.
Zor olduğunu anlıyorum ancak, temiz, net, performans sıkıntısı çekmeyecek bir paket elde etmenin en iyi yolu paketinizi kendiniz yapmaktır. Benim gibi zevkine ya da şerefsizliğine paket kırmıyorsanız direk lisanslı paketlerden uzak durun, en iyisi bu.
Forumda daha aktif kalmayı ve olmayı düşünüyorum, o zamana kadar, uyku deprevasyonu etkisinde yazdığım atar dolu thread'imle sizi baş başa bırakıyorum. Okuduğunuz için teşekkürler. Eksiklerim-typolarım varsa affola, saygılarımla;
ephesus#0001
Kendini tanıma kendini geliştirmenin başlangıcıdır. -İspanyol Atasözü
Konu alıntıdır, yanlış veya hatalı bir bilgi/paylaşım var ise yanıtlayabilir veya bizimle iletişime geçebilirsiniz.
Merhabalar, normalde bu forumda açacağım ilk ve tek konu extendedmode'un nasıl çalıştığını ve neden kullanıldığını anlatacaktım ancak daha eğlenceliğ ve trajikomik bir konuyla giriş yapmak nasip oldu.
Hepimizin bildiği gibi, FiveM scriptlerini sıfırdan geliştirmek, uzun zaman ve emek isteyen bir uğraş.
Bu sebepten ötürü developer'lar işlerini satmayı tercih edebiliyorlar. Tabii, işlerini sattıklarında kopyalanarak çoğalmasını istemedikleri için, 'en azından benim olduğu belli olsun, NameLocking yapayım, ismim listede görünsün' ideolojisi çerçevesinde kodlarını şifrelemeyi tercih ediyorlar. Bunu elle de yapmak mümkün, ancak, bunu IronBrew I ve II, PSU, Bytecode gibi obfuscator uygulamalarla yapmak en mantıklı şey.
Buradan ayırdına varmanız gereken şey şifreli ve karışık görünen scriptin lisanslı olmak zorunda olmamasıdır.
Her lisanslı kod şifrelenmiş olmak zorundadır.
Her şifrelenmiş kod lisanslı olmak zorunda değildir.
Bu ayırda da vardığımıza göre devam edebiliriz.
Not : Şifrelemeye karşıyım ve komik buluyorum.
1 Yıla yakındır piyasayı izlemeyi bırakıp aktif developerlık ve yöneticilik yapmaktayım. Temiz dil sevdiğim için LUA ve JS tercih ettiğimden şifrelenmiş kod bana uzak ve mantıksız geliyor. Buna rağmen üzücüdür ki satılmayan scriptlerin bile lisanslandığını gördüm. Daha da üzücü olan, Emirhan tarafından yazılan (ehem, pardon, GitHub'dan çalınan) logsistemin 2 hafta sonra Cylex tarafından AYNEN şifrelenip başka bir forumda paylaşıldığına şahit oldum.
Bytecode, deobfuscate edilmeye çok dayanıklı bir yöntem değil. Kolayca kodun çıktısı alınabiliyor. Fotoğrafını bulursam bir yere yapıştırırım.
Ana konuya geri dönelim; şifreleme nasıl çalışıyor?
Çoğu kodlama dilleri içinde 'eval()' ve 'loadstring()' gibi fonksiyonlar bulundururlar. Bu fonksiyonlar kod enjeksiyonuna karşı çok zayıf oldukları için tehlikeli olsa da, obfuscator uygulamalarında sıkça kullanılıyor. Bu zaten bir obfuscator'un çalışma felsefesidir. Obfuscator kodunuzu alır, baytlara ya da harflere böler, bir algoritmadan geçirir ve bilgisayarlar için çok kolay ama okuyucular(insanlar) için çözmesi yıllar alacak ve gözle okuması imkansız bir hale getirir. Bu puzzle'dan ortaya çıkan string de direk eval() ya da LUA'da loadstring() fonksiyonuna verilir ve tehlikeli olmalarının sebebi zaten budur; bu fonksiyonlar kendilerine verilen kodu şartsız çalıştırır.
eval() gibi fonksiyonların tehlikesine değinen MDN makalesine
Ziyaretçiler için gizlenmiş link,görmek için
Giriş yap veya üye ol.
ulaşabilirsiniz.Devam edelim; şifrelemeyi anladım abi; peki lisans nedir la?
Lisans; 'sadece kodu kurcalayamaman yetmez, ben izin vermedikçe de kullanamazsın kardeşim' felsefesi devreye girdiğinde karşımızda çıkıyor.
Lisanslı paketleri anla(yama)ma ve kırma (bypass etme)
Basit. Acayip basit.
Spoyler: rac10 ve atar içerir. paket lisanslıyorsanız bakın, yoksa maruz kalmanıza gerek yok.
Şimdi, ben ve dostum Mika'nın eline 5 Ağustos sabahı MertBaran'a ait 2 adet "lisanslı" paket geçti. Bir tanesinde lisansın L'sine rastlayamadım, diğerine geçtik.
Arkadaşlar, paket üreten vakti bol piyasa meslektaşlarım, sizden nazikçe rica ediyorum. MertBaran'ın yaptığını yapmayın. es-extended scriptinin server.lua'sının en altına sadece gömülü key doğrulaması yapıp key yanlış gelirse CMD kapatan bir kod parçası yapıştırıp geçmeyin! ÇOK. KOLAY. PATLIYOR. Piyasada ve hatta ipucu vermek gerekirse bu forumda, oldukça saygı duyulan sayısız insanın paketi elime geçti; bazıları yarn'a, JS ile uğraşıp Discord Webhook tabanlı lisans sistemi entegre etmiş, bazıları sunucunun versiyonunu checkleyen, ona göre cmd kapatan kodları şifresiz uzun kodların içine koyup lisans sistemi yapmış, (hızlı patladı ama yaratıcı...) ve hiç sesimi çıkarmadım çünkü en azından bir uğraş vardı ortada. Ama bu, abi... Abi bu cidden komik, yani adamın aklıyla dalga geçer gibi iş yapmayın, komik duruma düşüyorsunuz. 404, 1337 falan feşmekan çocuk orduları sayesinde, tag'lerin gazıyla TR1'e oturmuş bir sunucunun, dahası "LİSANSI KIRILAMAZ" diye hava atılan sunucuların paketleri, elime geçmesinin üstünden 10dk geçmeden neden VDS'imde aktif abi?
İşinizi düzgün yapın, rica ediyorum!
Gelelim basit ipuçlarına.
Spoyler: Metod 1 - ŞİFRESİZ LİSANSLAMA
1) Şifresiz lisanslama : (kendimle çelişmiyorum, aptallık belirtiyorum) : ortada CMD crash varsa 'os.exit()' fonksiyonunu grep ya da VSCode aramasıyla aratmak ilk mantıklı hareket olacaktır. Ben paketin sözde zorluğunu gözetmeksizin bunu yapıyorum çünkü evet şifresiz lisansa rastladığım oldu, her seferinde güldürüyor.
Spoyler: Metod 2 - BYTECODE / XOR (TAVSİYE EDİLEN YÖNTEM)
2) Bytecode / XOR :
Kod:
Kod:
,key))
araması sonuç getirirse, alakalı olduğu kod paraçasını yok edin. bunu, tüm scirptler ve snippetler için yaptığınızda, lisanslama için çokça kullanılan bir metodun ürünü olan kodlardan kurtulmuş olacaksınız. MertBaran'ın sahibi olduğu ve kırdığım paketler bu aramadan sonra çalışır hale getirilmiştir.
Spoyler: Metod 3 - CANAVAR YAŞLANDI VE ONU VURDULAR - PSU Obfuscator
3) PSU: Kabusumdu bir aralar, okunamaz, kırılamaz, dumplanamaz, ölümüne sağlam, API'lı, mükemmel ve ucuzdu.
Ancak, ben bunu yazarken, Discord'ları silindi, kaynak kodları 20 dakika bir süre için v3 gibi çirkin forumlarda gezdi, API'ları patladı, müşterilere ait source'lar çalındı. Erişimim olup olmadığını şimdilik belirtmek istemiyorum, ama eğer ki source'a erişim sağlarsam mutlaka bir debofuscator yapacağım. O zamana kadar, özellikle alıp kendi koyduğunuz scriptler dışında, grep/VSCode aramasında "PSU Obfuscator" kelimeleri bulunan scriptleri stoplayarak çemberi daraltabilirsiniz.
Spoyler: Metod 4 - PATLAYANA KADAR
4) Lisans bypass'lamanın en net ama zaman isteyen yolu da, teker teker resource taşımaktır. CMD Kapandığında, en son attığınız scriptin lisanslı/os.exit()'li olduğundan emin oluyorsunuz. Bu taşıma mevzuunu otomatik yapan Python tabanlı bir botum var, public olmaya hazır ettiğim zaman onu da kullanımınıza sunarım.
Spoyler: Metod 5 - HAZIR PAKET NEDİR YENİYOR MU AB?
5) Kendi paketinizi yapın.
Zor olduğunu anlıyorum ancak, temiz, net, performans sıkıntısı çekmeyecek bir paket elde etmenin en iyi yolu paketinizi kendiniz yapmaktır. Benim gibi zevkine ya da şerefsizliğine paket kırmıyorsanız direk lisanslı paketlerden uzak durun, en iyisi bu.
Forumda daha aktif kalmayı ve olmayı düşünüyorum, o zamana kadar, uyku deprevasyonu etkisinde yazdığım atar dolu thread'imle sizi baş başa bırakıyorum. Okuduğunuz için teşekkürler. Eksiklerim-typolarım varsa affola, saygılarımla;
ephesus#0001
Kendini tanıma kendini geliştirmenin başlangıcıdır. -İspanyol Atasözü
Konu alıntıdır, yanlış veya hatalı bir bilgi/paylaşım var ise yanıtlayabilir veya bizimle iletişime geçebilirsiniz.