Neler yeni

Foruma hoş geldin, Ziyaretçi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

Türkiye'nin İlk ve tek FiveM forum adresi

Forum adresimize hoş geldin FiveMTürk olarak amacımız siz değerli kullanıcılarımıza en aktif fikir ve paylaşım platformu sunmak bir yana en güvenilir şekilde alışveriş yapabileceğiniz bir platform sunmaktır.
DF DF
DF DF
DF DF

Rehber Scriptlerde Lisanslama ve Şifrelemeyi ayırt etme, anlama, ve bypass etme

mehmetefeerkan

Üye
FT Kullanıcı
Katılım
3 yıl 9 ay 19 gün
Mesajlar
197
Discord
marlboroghini
--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 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.

Uzunca örnek vermek gerekirse, ben şahsen, token bazlı tam online bir lisans sitemini BennUzi (Just Gangbanger) dostum için yazdım, geliştirme aşamasındayım.
Kendisine yazdığım electron.js tabanlı panelden bir lisans anahtarı oluşturuyor.
Lisans anahtarını, lisans sistemine girdiğinde, sistem, lisans anahtarının ne olduğunu kodun içine gömüyor.
Kod şifreleniyor, ve sistem şifrelenmiş kodu geri gönderiyor.
Artık kod okunamaz bir formatta, ve hangi anahtarla çalışması gerektiğini biliyor.

Kod, config formatında bir dosyadan lisans anahtarını çekiyor ve kendi bildiği anahtarla karşılaştırıyor.
Eğer anahtar uyumluysa kod çalışıyor, aksi halde çalışmıyor.
Yanlız burada bitmiyor, electron.js tabanlı o panelde, Uzi, lisans anahtarını inaktif hale getirebiliyor.
Çünkü kod aynı zamanda doğrulama sunucularımızdan lisans anahtarını kontrol ediyor. Eğer anahtar inaktifse negatif yanıt dönüyor ve kod çalışmıyor.
Sistem hakkında detaylı sorulara hep açığım, backend-frontend kodlarını yakında açık hale getirebilirim, güzel güzel incelersiniz.
Lisans için bu kadar uzağa gidilebiliyor.

Tabii, arada, gömülü lisansın yanı sıra, bir kullanıcı-authServer bağlantısı olduğundan, kim kaç defa lisansı kullanmış, lisans anahtarı kaç ip'de gezmiş vs. görülebiliyor. Merkezi bir yönetim paneline oturtulabiliyor yani.

Lisanslı paketleri anla(yama)ma ve kırma (bypass etme)
Basit. Acayip basit.

Ş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.

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.
2) Bytecode / XOR :
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.
60137
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.
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.
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
 
DF
yeterince tecrübeye ulaşan insanlar buradan sonra pek fazla bişeyede takmıyor zaten bi koruma olsun küçük beyinliler paketimi 5 dakikada hiç etmesin amaçlı koyup geçersin o kadar bide sağlam olsun diye hazır değil bir şeyleri kendin yaptınmı işte o küçük beyinliler biraz uğraşacak adamım

eline sağlık güzel rehber olmuş +rep
 
DF
Genel olarak lisanlamanın amacı paketi alıp satıcak vizyonsuz arkadaşları uzak tutmak.
 
DF
Okadar zaman harcayıp yaptıgımız paketi - scripti neden lisanssız satayım ki, tr veya yabancı müşteri fark etmez ikiside leakliyor.
 
DF
--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 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.

Uzunca örnek vermek gerekirse, ben şahsen, token bazlı tam online bir lisans sitemini BennUzi (Just Gangbanger) dostum için yazdım, geliştirme aşamasındayım.
Kendisine yazdığım electron.js tabanlı panelden bir lisans anahtarı oluşturuyor.
Lisans anahtarını, lisans sistemine girdiğinde, sistem, lisans anahtarının ne olduğunu kodun içine gömüyor.
Kod şifreleniyor, ve sistem şifrelenmiş kodu geri gönderiyor.
Artık kod okunamaz bir formatta, ve hangi anahtarla çalışması gerektiğini biliyor.

Kod, config formatında bir dosyadan lisans anahtarını çekiyor ve kendi bildiği anahtarla karşılaştırıyor.
Eğer anahtar uyumluysa kod çalışıyor, aksi halde çalışmıyor.
Yanlız burada bitmiyor, electron.js tabanlı o panelde, Uzi, lisans anahtarını inaktif hale getirebiliyor.
Çünkü kod aynı zamanda doğrulama sunucularımızdan lisans anahtarını kontrol ediyor. Eğer anahtar inaktifse negatif yanıt dönüyor ve kod çalışmıyor.
Sistem hakkında detaylı sorulara hep açığım, backend-frontend kodlarını yakında açık hale getirebilirim, güzel güzel incelersiniz.
Lisans için bu kadar uzağa gidilebiliyor.

Tabii, arada, gömülü lisansın yanı sıra, bir kullanıcı-authServer bağlantısı olduğundan, kim kaç defa lisansı kullanmış, lisans anahtarı kaç ip'de gezmiş vs. görülebiliyor. Merkezi bir yönetim paneline oturtulabiliyor yani.

Lisanslı paketleri anla(yama)ma ve kırma (bypass etme)
Basit. Acayip basit.

Ş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.

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.
2) Bytecode / XOR :
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.
Ekli dosyayı görüntüle 60137
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.
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.
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
XoR şifrelemesi gayet basit bir şekilde kırılabiliyor neden bunu önerdiniz? (dalgasına demiş olabilirsiniz pek anlamadım ondan yazıyorm) ayriyetten psu kırılabiliyor (örn KAC veya M3 scriptlerini kırmıştım) ve ironbrew kolay bir şekilde (1 direk full kod 2 constant dump + full kod) kırılabiliyor. PSU Sourceyide şöyle bırakayım 6 ay öncesine aittir ayrıca psu bu sourceyi bırakıp yeni bir obfuscator yazmaktadır haberiniz olsun. (bu sourceda .sln ve .csproj hata veriyor onu düzeltirsin)
 
DF
XoR şifrelemesi zaten gayet basit, ama yıllardır bu işin içinde olan bazı obfuscatorlerden birine "kırarım" demen de ayrı bi şey yav
 
DF
gözlüklü 15 yaşında filozof abimiz değil mi bu her ortamda kendini üstün zanneden.
 
DF
malesef başarısız bir thread, açmadan önce bi araştırma yapmanızı öneririm. bahsettiğiniz bilgilerin yarısı yanlış. Hemen cevap yazmadan önce bu post'un tamamını okursanız daha iyi olur.

1-) "bytecode" dediğiniz şey, kodun decimal byte'lara (ör: \100\95\106\121 gibi) dönüştürülmüş hali değildir. Bytecode, kodunuz çalışmadan önce compiler tarafından oluşturulur ve print() ederek ne olduğunu anlamanız çok zor (buyurun ). Lua bytecode'u, içinde vm tarafından interpret edilecek instruction set'lerini, constant'ları, proto'ları vs. içerir. (merak edenler için )


2-) "loadstring", obfuscator'lerin felsefesi değildir... IB2, PSU, MoonSec gibi obfuscatorler, "loadstring" ile kod çalıştırmıyor. 2005'de falan olsaydık haklı olabilirsiniz ancak artık VM tabanlı obfuscator gerçeği var. (buyurun ) kısaca anlatmak gerekirsek modern bir obfuscator, sizin verdiğiniz kodu compile eder, bir tür IR aracılığıyla kendi bytecode format'ına dönüştürür, lua'nın 38 opcode'unu taklit edecek fonksiyonlar oluşturur ve bu bytecode'u interpret eder. Bu tür bir şifrelemeyi kırmak oldukça zordur. (ama imkansız değil :))


3-) Bu kadar obfuscator içinden tavsiye ettiğiniz XOR için de (buyurun )

Lua hakkında merak ettiğiniz bir şey için ulaşmak istiyorsanız>> Federal#9999
 
DF
malesef başarısız bir thread, açmadan önce bi araştırma yapmanızı öneririm. bahsettiğiniz bilgilerin yarısı yanlış. Hemen cevap yazmadan önce bu post'un tamamını okursanız daha iyi olur.

1-) "bytecode" dediğiniz şey, kodun decimal byte'lara (ör: \100\95\106\121 gibi) dönüştürülmüş hali değildir. Bytecode, kodunuz çalışmadan önce compiler tarafından oluşturulur ve print() ederek ne olduğunu anlamanız çok zor (buyurun ). Lua bytecode'u, içinde vm tarafından interpret edilecek instruction set'lerini, constant'ları, proto'ları vs. içerir. (merak edenler için )


2-) "loadstring", obfuscator'lerin felsefesi değildir... IB2, PSU, MoonSec gibi obfuscatorler, "loadstring" ile kod çalıştırmıyor. 2005'de falan olsaydık haklı olabilirsiniz ancak artık VM tabanlı obfuscator gerçeği var. (buyurun ) kısaca anlatmak gerekirsek modern bir obfuscator, sizin verdiğiniz kodu compile eder, bir tür IR aracılığıyla kendi bytecode format'ına dönüştürür, lua'nın 38 opcode'unu taklit edecek fonksiyonlar oluşturur ve bu bytecode'u interpret eder. Bu tür bir şifrelemeyi kırmak oldukça zordur. (ama imkansız değil :))


3-) Bu kadar obfuscator içinden tavsiye ettiğiniz XOR için de (buyurun )

Lua hakkında merak ettiğiniz bir şey için ulaşmak istiyorsanız>> Federal#9999
Senin gibi başarılı bir adam bu kadar işinde başarısız birinin konusuna yorum atmamalı ama :(
 
DF
malesef başarısız bir thread, açmadan önce bi araştırma yapmanızı öneririm. bahsettiğiniz bilgilerin yarısı yanlış. Hemen cevap yazmadan önce bu post'un tamamını okursanız daha iyi olur.

1-) "bytecode" dediğiniz şey, kodun decimal byte'lara (ör: \100\95\106\121 gibi) dönüştürülmüş hali değildir. Bytecode, kodunuz çalışmadan önce compiler tarafından oluşturulur ve print() ederek ne olduğunu anlamanız çok zor (buyurun ). Lua bytecode'u, içinde vm tarafından interpret edilecek instruction set'lerini, constant'ları, proto'ları vs. içerir. (merak edenler için )


2-) "loadstring", obfuscator'lerin felsefesi değildir... IB2, PSU, MoonSec gibi obfuscatorler, "loadstring" ile kod çalıştırmıyor. 2005'de falan olsaydık haklı olabilirsiniz ancak artık VM tabanlı obfuscator gerçeği var. (buyurun ) kısaca anlatmak gerekirsek modern bir obfuscator, sizin verdiğiniz kodu compile eder, bir tür IR aracılığıyla kendi bytecode format'ına dönüştürür, lua'nın 38 opcode'unu taklit edecek fonksiyonlar oluşturur ve bu bytecode'u interpret eder. Bu tür bir şifrelemeyi kırmak oldukça zordur. (ama imkansız değil :))


3-) Bu kadar obfuscator içinden tavsiye ettiğiniz XOR için de (buyurun )

Lua hakkında merak ettiğiniz bir şey için ulaşmak istiyorsanız>> Federal#9999
Ceviz kirar gibi şifreleme kiriyon fedo babaaa
 
DF

Forumdan daha fazla yararlanmak için giriş yapın yada üye olun!

Forumdan daha fazla yararlanmak için giriş yapın veya kayıt olun!

Kayıt ol

Forumda bir hesap oluşturmak tamamen ücretsizdir.

Şimdi kayıt ol
Giriş yap

Eğer bir hesabınız var ise lütfen giriş yapın

Giriş yap

Bu konuyu görüntüleyen kullanıcılar

Tema düzenleyici

Tema özelletirmeleri

Granit arka planlar

Lütfen Javascript'i etkinleştirin!Javascript'i etkinleştirin!