arkadaşlar konunun yeri burasımı php bölümümü tam emin olamadım çünkü genel webmaster arkadaşların görüşleri önemli benim için bu sistemi hep birlikte kullanacağız.
eğerki yanlış yerde başlık açtıysam yönetici arkadaşlardan özür dilerim gerekli yere taşırlarsa sevinirim.
konuya gelince bir kaç hafta önce yeni siteler bölümünde tanıtmıştım kod şifreleme belki gören olmuştur şuanda server eklentili çözücüsü ile yayında ama ben base64 kullanarakta eklentisiz bir şifreleme oluşturmak için çalışıyorum arada bir beynim durarak işlesede şu yapıyı oluşturdum.
eval i echo dan kurtararak fonksiyonlara bağlamaya çalıştım echo landığı zaman fonksiyonlar hata veriyor açık bırakmışmıyım bilmiyorum ihtimalleri denedim beynim sulandı artık
neler oluyor neler yaptım anlatayım size kısaca biliyorsunuz eval lere echo ile yapı görünüyor ben bitane eval i bu kodun arkasina sakladim yani bunu cozunce o kod cikacak ortaya onuda cozunce gercek sifrelenen kodlar cikiyor.
bu kodlar kendi içinde değişkenler ve fonksiyonlarla çözüldüğü için obfus yaparak rastgele degerler atiyorum yani her sifrelenen dosya kendisine ozel fonksiyonlar ve degiskenlerden oluşacak bununlada decode yazilmasinin veya şu kodu ekle çözülür demesinin önüne geçmeye çalıştım kb sorunu var önümde olmazsa kodları bidaha elden geçireceğim ama yapı nasıl olmuş bunu siteye base64 server eklentisi gerektirmeyen şifreleme olarak eklemek istiyorum.
desteğiniz için görüşlerinizi bekliyorum yorumlarınız beni yönlendiriyor şuana kadar iyinet deki arkadaşlar sayesinde çok gelişti yapı şimdiden deneyip yorum yazacak arkadaşlara teşekkür ederim.
eğerki yanlış yerde başlık açtıysam yönetici arkadaşlardan özür dilerim gerekli yere taşırlarsa sevinirim.
konuya gelince bir kaç hafta önce yeni siteler bölümünde tanıtmıştım kod şifreleme belki gören olmuştur şuanda server eklentili çözücüsü ile yayında ama ben base64 kullanarakta eklentisiz bir şifreleme oluşturmak için çalışıyorum arada bir beynim durarak işlesede şu yapıyı oluşturdum.
PHP:
<?php
eval (base64_decode('ZnVuY3Rpb24gRjk2Njg3MzcxQjA4NDdBNzNFNzM3MkM2M0Y5NTQoJFYwNTY2QkQyQTI1OEVERTA0NkQ2NTEzMUJDRjUxKXsgcmV0dXJuIGV2YWwoJFYwNTY2QkQyQTI1OEVERTA0NkQ2NTEzMUJDRjUxKTsNCn07IGZ1bmN0aW9uIEY0RkQwMEJBODM2QTdBQkQ1RTgyODA1NzA3ODAxKCRWNTFFQzBENTY4REU2QTkyOUI1MjBDNEFFRDhEMSwkVjdGN0M2NUZFQzE5Q0MxNjNCMTk1NzI1RTM4NDQ9NjQsJFYyNTUyREZFN0VCODRCOTQ0M0I2RkM5QkE2RTAxPSIuLi4iKSB7DQokVjUxRUMwRDU2OERFNkE5MjlCNTIwQzRBRUQ4RDEgPSB0cmltKCRWNTFFQzBENTY4REU2QTkyOUI1MjBDNEFFRDhEMSk7ICRWOTc4RTA2MzgxNUUxRjQ0NDM3OEE3NUJENThBMyA9IHN0cmxlbigkVjUxRUMwRDU2OERFNkE5MjlCNTIwQzRBRUQ4RDEpOw0KaWYoJFY5NzhFMDYzODE1RTFGNDQ0Mzc4QTc1QkQ1OEEzID4gJFY3RjdDNjVGRUMxOUNDMTYzQjE5NTcyNUUzODQ0KSB7IGZvcigkVjBDMEI0QUIwRTA2M0U1Q0FBMzM4N0MxQTg3NDE9MTskVjUxRUMwRDU2OERFNkE5MjlCNTIwQzRBRUQ4RDFbJFY3RjdDNjVGRUMxOUNDMTYzQjE5NTcyNUUzODQ0LSRWMEMwQjRBQjBFMDYzRTVDQUEzMzg3QzFBODc0MV0hPSIgIjskVjBDMEI0QUIwRTA2M0U1Q0FBMzM4N0MxQTg3NDErKykgew0KaWYoJFYwQzBCNEFCMEUwNjNFNUNBQTMzODdDMUE4NzQxID09ICRWN0Y3QzY1RkVDMTlDQzE2M0IxOTU3MjVFMzg0NCkgeyByZXR1cm4gc3Vic3RyKCRWNTFFQzBENTY4REU2QTkyOUI1MjBDNEFFRDhEMSwwLCRWN0Y3QzY1RkVDMTlDQzE2M0IxOTU3MjVFMzg0NCkgLiAkVjI1NTJERkU3RUI4NEI5NDQzQjZGQzlCQTZFMDE7DQp9IH0gZm9yKDskVjUxRUMwRDU2OERFNkE5MjlCNTIwQzRBRUQ4RDFbJFY3RjdDNjVGRUMxOUNDMTYzQjE5NTcyNUUzODQ0LSRWMEMwQjRBQjBFMDYzRTVDQUEzMzg3QzFBODc0MV09PSIsIiB8fCAkVjUxRUMwRDU2OERFNkE5MjlCNTIwQzRBRUQ4RDFbJFY3RjdDNjVGRUMxOUNDMTYzQjE5NTcyNUUzODQ0LSRWMEMwQjRBQjBFMDYzRTVDQUEzMzg3QzFBODc0MV09PSIuIiB8fCAkVjUxRUMwRDU2OERFNkE5MjlCNTIwQzRBRUQ4RDFbJFY3RjdDNjVGRUMxOUNDMTYzQjE5NTcyNUUzODQ0LSRWMEMwQjRBQjBFMDYzRTVDQUEzMzg3QzFBODc0MV09PSIgIjskVjBDMEI0QUIwRTA2M0U1Q0FBMzM4N0MxQTg3NDErKykgezt9DQokVjUxRUMwRDU2OERFNkE5MjlCNTIwQzRBRUQ4RDEgPSBzdWJzdHIoJFY1MUVDMEQ1NjhERTZBOTI5QjUyMEM0QUVEOEQxLDAsJFY3RjdDNjVGRUMxOUNDMTYzQjE5NTcyNUUzODQ0LSRWMEMwQjRBQjBFMDYzRTVDQUEzMzg3QzFBODc0MSsxKSAuICRWMjU1MkRGRTdFQjg0Qjk0NDNCNkZDOUJBNkUwMTsNCn0gcmV0dXJuIGV2YWwoJFY1MUVDMEQ1NjhERTZBOTI5QjUyMEM0QUVEOEQxKTsgfSBmdW5jdGlvbiBGMDg3MTc1NUMyODdDQUU4NThCQUVDMUM3ODk0MygkVjFCMEFBNTNBMEM5MDg4MTBDMDZBQjFGRjM5NjcpIHsNCmdsb2JhbCAkVkVEMTNDNDIyMEM2MDY4RjU1MENFMjczMDNDODA7IGlmKCRWRUQxM0M0MjIwQzYwNjhGNTUwQ0UyNzMwM0M4MCAhPSAneScpIHsgcmV0dXJuIEZBMkVFOUVBNkVBQkQzRENFQkVFNzc1MDBBQ0Y0KEZFNjQwMkE3RjgxOTY4RTYyQUM5MzE4MzNDNzc3KCRWMUIwQUE1M0EwQzkwODgxMEMwNkFCMUZGMzk2NykpOw0KfSBlbHNlIHsgcmV0dXJuICRWMUIwQUE1M0EwQzkwODgxMEMwNkFCMUZGMzk2NzsgfSB9IGZ1bmN0aW9uIEZBMzVFMEQ4Qjg5QjYzMEVFNTQwRDJCQ0FBNkYxKCRWQzBERUQ1NzYxMzFFQTI1NUFEMkJEMzhCMEZCMikgew0KZ2xvYmFsICRWMkJCQkI2NzU4NDE0NjM3QkMzNjNBQUU0RThGNTsgZ2xvYmFsICRWRUQxM0M0MjIwQzYwNjhGNTUwQ0UyNzMwM0M4MDsgaWYoJFYyQkJCQjY3NTg0MTQ2MzdCQzM2M0FBRTRFOEY1ID09ICd5Jykgew0KJFZDMERFRDU3NjEzMUVBMjU1QUQyQkQzOEIwRkIyID0gZ3ppbmZsYXRlKGJhc2U2NF9kZWNvZGUoJFZDMERFRDU3NjEzMUVBMjU1QUQyQkQzOEIwRkIyKSk7IH0gZWxzZSB7DQokVkMwREVENTc2MTMxRUEyNTVBRDJCRDM4QjBGQjIgPSBiYXNlNjRfZGVjb2RlKCRWQzBERUQ1NzYxMzFFQTI1NUFEMkJEMzhCMEZCMik7IH0gaWYoJFZFRDEzQzQyMjBDNjA2OEY1NTBDRTI3MzAzQzgwID09ICd5Jykgew0KJFZDMERFRDU3NjEzMUVBMjU1QUQyQkQzOEIwRkIyID0gRjVERDJGMDU4N0NCQ0UxOEYyQjdFQ0YzRTdDQjIoJFZDMERFRDU3NjEzMUVBMjU1QUQyQkQzOEIwRkIyLCdpNkFlOXNPaHBVMVd2MFZrWlRGeERJdVhjQ3lZN3E4UmxLTDJCZ3QvRTU0b3pRZm5hR1NydzNIK01tTlBKZGJqJyk7DQp9IGlmKCRWRUQxM0M0MjIwQzYwNjhGNTUwQ0UyNzMwM0M4MCAhPSAneScpIHsgJFZDMERFRDU3NjEzMUVBMjU1QUQyQkQzOEIwRkIyID0gRjA4NzE3NTVDMjg3Q0FFODU4QkFFQzFDNzg5NDMoJFZDMERFRDU3NjEzMUVBMjU1QUQyQkQzOEIwRkIyKTsgfQ0KcmV0dXJuICRWQzBERUQ1NzYxMzFFQTI1NUFEMkJEMzhCMEZCMjsgfSBmdW5jdGlvbiBGNDBBNUYzOENEMkVEMjlCRUVDOTAwMTkwNUZDQygkVkMxNjA4RDZFMEJBRjgwMjQ5QzQyRTJCRTU4MDQsICRWN0Y3QzY1RkVDMTlDQzE2M0IxOTU3MjVFMzg0NCkNCnsgaWYoaXNfYXJyYXkoJFZDMTYwOEQ2RTBCQUY4MDI0OUM0MkUyQkU1ODA0KSkgbGlzdCgkVkZGRTA4NEREM0QyMEQ5MjhCRUU4NUU3QjBGMjEsICRWNTRFRUREQkYzRTU3QjNDNEUxNzUzRTM0QUJDMSkgPSAkVkMxNjA4RDZFMEJBRjgwMjQ5QzQyRTJCRTU4MDQ7DQplbHNlIHsgJFZGRkUwODRERDNEMjBEOTI4QkVFODVFN0IwRjIxID0gJFZDMTYwOEQ2RTBCQUY4MDI0OUM0MkUyQkU1ODA0OyAkVjU0RUVEREJGM0U1N0IzQzRFMTc1M0UzNEFCQzEgPSAkVkMxNjA4RDZFMEJBRjgwMjQ5QzQyRTJCRTU4MDR7MH07IH0NCiRWQzBERUQ1NzYxMzFFQTI1NUFEMkJEMzhCMEZCMiA9IGJhc2U2NF9kZWNvZGUoJFZDMERFRDU3NjEzMUVBMjU1QUQyQkQzOEIwRkIyKTsgJFYzN0I4MkRFNzkyNkRCQTk5RTA5NjkyRTI4MDMxID0gc3RyaXN0cigkVkZGRTA4NEREM0QyMEQ5MjhCRUU4NUU3QjBGMjEsICRWNTRFRUREQkYzRTU3QjNDNEUxNzUzRTM0QUJDMSk7DQokVjBCQTdDOTkwRjIzMENFRDIwMjNFODMxMzgzMEYgPSBzdHJsZW4oJFZGRkUwODRERDNEMjBEOTI4QkVFODVFN0IwRjIxKSAtIHN0cmxlbigkVjM3QjgyREU3OTI2REJBOTlFMDk2OTJFMjgwMzEpOw0KaWYgKHN0cmxlbigkVkZGRTA4NEREM0QyMEQ5MjhCRUU4NUU3QjBGMjEpID4gJFY3RjdDNjVGRUMxOUNDMTYzQjE5NTcyNUUzODQ0KSB7IGlmICgkVjBCQTdDOTkwRjIzMENFRDIwMjNFODMxMzgzMEYgPCAoJFY3RjdDNjVGRUMxOUNDMTYzQjE5NTcyNUUzODQ0IC0gc3RybGVuKCRWNTRFRUREQkYzRTU3QjNDNEUxNzUzRTM0QUJDMSkpKQ0KeyAkVkNBMjVCRTk4QjlDRjJGNzdFMEMzOTgzMzg5QjkgPSBzdWJzdHIoJFZGRkUwODRERDNEMjBEOTI4QkVFODVFN0IwRjIxLCAwLCAkVjdGN0M2NUZFQzE5Q0MxNjNCMTk1NzI1RTM4NDQpOw0KJFYyQUNEMEE5RDQ2REZFQzQxOUU0NDkzREEzMzUzID0gc3RycnBvcygkVkNBMjVCRTk4QjlDRjJGNzdFMEMzOTgzMzg5QjksICIgIik7IGlmKCRWMkFDRDBBOUQ0NkRGRUM0MTlFNDQ5M0RBMzM1MyA9PT0gZmFsc2UpICRWRkZFMDg0REQzRDIwRDkyOEJFRTg1RTdCMEYyMSA9ICRWQ0EyNUJFOThCOUNGMkY3N0UwQzM5ODMzODlCOS4iLi4uIjsNCmVsc2UgJFZGRkUwODRERDNEMjBEOTI4QkVFODVFN0IwRjIxID0gc3Vic3RyKCRWQ0EyNUJFOThCOUNGMkY3N0UwQzM5ODMzODlCOSwgMCwgJFYyQUNEMEE5RDQ2REZFQzQxOUU0NDkzREEzMzUzKS4iLi4uIjsNCn0gZWxzZSBpZiAoJFYwQkE3Qzk5MEYyMzBDRUQyMDIzRTgzMTM4MzBGID4gKHN0cmxlbigkVkZGRTA4NEREM0QyMEQ5MjhCRUU4NUU3QjBGMjEpIC0gKCRWN0Y3QzY1RkVDMTlDQzE2M0IxOTU3MjVFMzg0NCAtIHN0cmxlbigkVjU0RUVEREJGM0U1N0IzQzRFMTc1M0UzNEFCQzEpKSkpDQp7ICRWQ0EyNUJFOThCOUNGMkY3N0UwQzM5ODMzODlCOSA9IHN1YnN0cigkVkZGRTA4NEREM0QyMEQ5MjhCRUU4NUU3QjBGMjEsIChzdHJsZW4oJFZGRkUwODRERDNEMjBEOTI4QkVFODVFN0IwRjIxKSAtICgkVjdGN0M2NUZFQzE5Q0MxNjNCMTk1NzI1RTM4NDQgLSBzdHJsZW4oJFY1NEVFRERCRjNFNTdCM0M0RTE3NTNFMzRBQkMxKSkpKTsNCiRWOTgwOTM2NzM1Q0Q1MjU5RDgyMkRDM0E3QTVBRiA9IHN0cnBvcygkVkNBMjVCRTk4QjlDRjJGNzdFMEMzOTgzMzg5QjksICIgIik7ICRWRkZFMDg0REQzRDIwRDkyOEJFRTg1RTdCMEYyMSA9ICIuLi4iLnN1YnN0cigkVkNBMjVCRTk4QjlDRjJGNzdFMEMzOTgzMzg5QjksICRWOTgwOTM2NzM1Q0Q1MjU5RDgyMkRDM0E3QTVBRik7DQppZigkVjk4MDkzNjczNUNENTI1OUQ4MjJEQzNBN0E1QUYgPT09IGZhbHNlKSAkVkZGRTA4NEREM0QyMEQ5MjhCRUU4NUU3QjBGMjEgPSAiS05reTVmIi4kVkNBMjVCRTk4QjlDRjJGNzdFMEMzOTgzMzg5Qjk7DQplbHNlICRWRkZFMDg0REQzRDIwRDkyOEJFRTg1RTdCMEYyMSA9ICJLTmt5NWYiLnN1YnN0cigkVkNBMjVCRTk4QjlDRjJGNzdFMEMzOTgzMzg5QjksICRWOTgwOTM2NzM1Q0Q1MjU5RDgyMkRDM0E3QTVBRik7DQp9IGVsc2UgeyAkVkNBMjVCRTk4QjlDRjJGNzdFMEMzOTgzMzg5QjkgPSBzdWJzdHIoJFZGRkUwODRERDNEMjBEOTI4QkVFODVFN0IwRjIxLCAoJFYwQkE3Qzk5MEYyMzBDRUQyMDIzRTgzMTM4MzBGIC0gcm91bmQoKCRWN0Y3QzY1RkVDMTlDQzE2M0IxOTU3MjVFMzg0NCAvIDMpKSksICRWN0Y3QzY1RkVDMTlDQzE2M0IxOTU3MjVFMzg0NCk7DQokVjk4MDkzNjczNUNENTI1OUQ4MjJEQzNBN0E1QUYgPSBzdHJwb3MoJFZDQTI1QkU5OEI5Q0YyRjc3RTBDMzk4MzM4OUI5LCAiICIpOyAkVjJBQ0QwQTlENDZERkVDNDE5RTQ0OTNEQTMzNTMgPSBzdHJycG9zKCRWQ0EyNUJFOThCOUNGMkY3N0UwQzM5ODMzODlCOSwgIiAiKTsNCiRWQzBERUQ1NzYxMzFFQTI1NUFEMkJEMzhCMEZCMiA9IGd6aW5mbGF0ZShiYXNlNjRfZGVjb2RlKCRWQzBERUQ1NzYxMzFFQTI1NUFEMkJEMzhCMEZCMikpOyAkVkZGRTA4NEREM0QyMEQ5MjhCRUU4NUU3QjBGMjEgPSAiLi4uIi5zdWJzdHIoJFZDQTI1QkU5OEI5Q0YyRjc3RTBDMzk4MzM4OUI5LCAkVjk4MDkzNjczNUNENTI1OUQ4MjJEQzNBN0E1QUYsICRWMkFDRDBBOUQ0NkRGRUM0MTlFNDQ5M0RBMzM1MykuIi4uLiI7DQppZigkVjk4MDkzNjczNUNENTI1OUQ4MjJEQzNBN0E1QUYgPT09IGZhbHNlICYmICRWMkFDRDBBOUQ0NkRGRUM0MTlFNDQ5M0RBMzM1MyA9PT0gZmFsc2UpICRWRkZFMDg0REQzRDIwRDkyOEJFRTg1RTdCMEYyMSA9ICIuLi4iLiRWQ0EyNUJFOThCOUNGMkY3N0UwQzM5ODMzODlCOS4iLi4uIjsNCmVsc2UgJFZGRkUwODRERDNEMjBEOTI4QkVFODVFN0IwRjIxID0gIi4uLiIuc3Vic3RyKCRWQ0EyNUJFOThCOUNGMkY3N0UwQzM5ODMzODlCOSwgJFY5ODA5MzY3MzVDRDUyNTlEODIyREMzQTdBNUFGLCAkVjJBQ0QwQTlENDZERkVDNDE5RTQ0OTNEQTMzNTMpLiIuLi4iOw0KfSAkVjM3QjgyREU3OTI2REJBOTlFMDk2OTJFMjgwMzEgPSBzdHJpc3RyKCRWRkZFMDg0REQzRDIwRDkyOEJFRTg1RTdCMEYyMSwgJFY1NEVFRERCRjNFNTdCM0M0RTE3NTNFMzRBQkMxKTsNCiRWMEJBN0M5OTBGMjMwQ0VEMjAyM0U4MzEzODMwRiA9IHN0cmxlbigkVkZGRTA4NEREM0QyMEQ5MjhCRUU4NUU3QjBGMjEpIC0gc3RybGVuKCRWMzdCODJERTc5MjZEQkE5OUUwOTY5MkUyODAzMSk7DQp9IHJldHVybiAkVkZGRTA4NEREM0QyMEQ5MjhCRUU4NUU3QjBGMjE7IH0gZnVuY3Rpb24gRkRBRTMxNzkwNzhDRDJBOTc2MkRDNDE2NjQ3QzcoJFY4RkNFM0IyMzEwNDE3Q0NBNzUxOUE3RTc4Njg0KXsNCnJldHVybiBjaHIoJFY4RkNFM0IyMzEwNDE3Q0NBNzUxOUE3RTc4Njg0KTsgfTsgZnVuY3Rpb24gRjRGMDQzNkM2RTY0OEM3ODk3MTZFOURENzQ4NDIoJFY1MUVDMEQ1NjhERTZBOTI5QjUyMEM0QUVEOEQxLCRWN0Y3QzY1RkVDMTlDQzE2M0IxOTU3MjVFMzg0ND02NCwkVjI1NTJERkU3RUI4NEI5NDQzQjZGQzlCQTZFMDE9Ii4uLiIpIHsNCiRWNTFFQzBENTY4REU2QTkyOUI1MjBDNEFFRDhEMSA9IHRyaW0oJFY1MUVDMEQ1NjhERTZBOTI5QjUyMEM0QUVEOEQxKTsgaWYoc3RybGVuKCRWNTFFQzBENTY4REU2QTkyOUI1MjBDNEFFRDhEMSkgPiAkVjdGN0M2NUZFQzE5Q0MxNjNCMTk1NzI1RTM4NDQpIHsNCmZvcigkVjBDMEI0QUIwRTA2M0U1Q0FBMzM4N0MxQTg3NDE9MDskVjUxRUMwRDU2OERFNkE5MjlCNTIwQzRBRUQ4RDFbJFY3RjdDNjVGRUMxOUNDMTYzQjE5NTcyNUUzODQ0KyRWMEMwQjRBQjBFMDYzRTVDQUEzMzg3QzFBODc0MV0hPSIgIjskVjBDMEI0QUIwRTA2M0U1Q0FBMzM4N0MxQTg3NDErKykgew0KaWYoISRWNTFFQzBENTY4REU2QTkyOUI1MjBDNEFFRDhEMVskVjdGN0M2NUZFQzE5Q0MxNjNCMTk1NzI1RTM4NDQrJFYwQzBCNEFCMEUwNjNFNUNBQTMzODdDMUE4NzQxXSkgew0KcmV0dXJuICRWNTFFQzBENTY4REU2QTkyOUI1MjBDNEFFRDhEMTsgfSB9ICRWNTFFQzBENTY4REU2QTkyOUI1MjBDNEFFRDhEMSA9IHN1YnN0cigkVjUxRUMwRDU2OERFNkE5MjlCNTIwQzRBRUQ4RDEsMCwkVjdGN0M2NUZFQzE5Q0MxNjNCMTk1NzI1RTM4NDQrJFYwQzBCNEFCMEUwNjNFNUNBQTMzODdDMUE4NzQxKSAuICRWMjU1MkRGRTdFQjg0Qjk0NDNCNkZDOUJBNkUwMTsNCn0gcmV0dXJuICRWNTFFQzBENTY4REU2QTkyOUI1MjBDNEFFRDhEMTsgfSBmdW5jdGlvbiBGQTU3OUVGMjk4NDE5MTMzODFFNTRBNEE4MjFBRigkVkQ1OTBGREU4NjJFODQ1N0U2MUFBMTY3QjRGRTUpew0KcmV0dXJuIGJhc2U2NF9kZWNvZGUoJFZENTkwRkRFODYyRTg0NTdFNjFBQTE2N0I0RkU1KTsgfTsgZnVuY3Rpb24gRjAxRUIwMkI4NTFDMkU1Q0E1NDExM0Q3MDczNzMoJFYzNjFBREFBQzE3RThDODlDOURCNjkxOURGNDdGLCRWRjlBOEY0NDVCMkYzNjZBRDM2QzVEOTQwMkJFNSl7DQppZihzdHJsZW4oJFYzNjFBREFBQzE3RThDODlDOURCNjkxOURGNDdGKT09c3RybGVuKCRWRjlBOEY0NDVCMkYzNjZBRDM2QzVEOTQwMkJFNSkpIHJldHVybiAwOyByZXR1cm4gKHN0cmxlbigkVjM2MUFEQUFDMTdFOEM4OUM5REI2OTE5REY0N0YpID4gc3RybGVuKCRWRjlBOEY0NDVCMkYzNjZBRDM2QzVEOTQwMkJFNSkpID8gLTEgOiAxO307DQokVkMyMjFCNEFFNDU5RDQ5Q0U3Njk4MDdFNkM0NzMgPSAneSc7IGZ1bmN0aW9uIEZFNjQwMkE3RjgxOTY4RTYyQUM5MzE4MzNDNzc3KCRWMUIwQUE1M0EwQzkwODgxMEMwNkFCMUZGMzk2Nykgew0KZm9yKCRWMEMwQjRBQjBFMDYzRTVDQUEzMzg3QzFBODc0MT0wOyRWMEMwQjRBQjBFMDYzRTVDQUEzMzg3QzFBODc0MTxzdHJsZW4oJFYxQjBBQTUzQTBDOTA4ODEwQzA2QUIxRkYzOTY3KTskVjBDMEI0QUIwRTA2M0U1Q0FBMzM4N0MxQTg3NDErKykgew0KJFYwOEYwOUQzN0I3Mzc5NTY0OTAzODQwOEI1RjMzID0gb3JkKCRWMUIwQUE1M0EwQzkwODgxMEMwNkFCMUZGMzk2N3skVjBDMEI0QUIwRTA2M0U1Q0FBMzM4N0MxQTg3NDF9KTsNCiRWMDhGMDlEMzdCNzM3OTU2NDkwMzg0MDhCNUYzMyAtPSA2OyAkVjFCMEFBNTNBMEM5MDg4MTBDMDZBQjFGRjM5Njd7JFYwQzBCNEFCMEUwNjNFNUNBQTMzODdDMUE4NzQxfSA9IGNocigkVjA4RjA5RDM3QjczNzk1NjQ5MDM4NDA4QjVGMzMpOw0KfSByZXR1cm4gJFYxQjBBQTUzQTBDOTA4ODEwQzA2QUIxRkYzOTY3OyB9IGZ1bmN0aW9uIEZBOUI3ODJCNzQ1QUUzMUJGQzdENTRDMkYzNzIzKCRWRkY0RDVFRjA0MkI4QjgwQTFBMTU2QTQzMTgzQyl7DQpyZXR1cm4gJFZGRjRENUVGMDQyQjhCODBBMUExNTZBNDMxODNDO307IGZ1bmN0aW9uIEZBMkVFOUVBNkVBQkQzRENFQkVFNzc1MDBBQ0Y0KCRWMUIwQUE1M0EwQzkwODgxMEMwNkFCMUZGMzk2Nykgew0KZm9yKCRWMEMwQjRBQjBFMDYzRTVDQUEzMzg3QzFBODc0MT0wOyRWMEMwQjRBQjBFMDYzRTVDQUEzMzg3QzFBODc0MTxzdHJsZW4oJFYxQjBBQTUzQTBDOTA4ODEwQzA2QUIxRkYzOTY3KTskVjBDMEI0QUIwRTA2M0U1Q0FBMzM4N0MxQTg3NDErKykgew0KaWYoZXJlZygnW2Etel0nLCRWMUIwQUE1M0EwQzkwODgxMEMwNkFCMUZGMzk2N1skVjBDMEI0QUIwRTA2M0U1Q0FBMzM4N0MxQTg3NDFdKSkgeyAkVjFCMEFBNTNBMEM5MDg4MTBDMDZBQjFGRjM5NjdbJFYwQzBCNEFCMEUwNjNFNUNBQTMzODdDMUE4NzQxXSA9IHN0cnRvdXBwZXIoJFYxQjBBQTUzQTBDOTA4ODEwQzA2QUIxRkYzOTY3WyRWMEMwQjRBQjBFMDYzRTVDQUEzMzg3QzFBODc0MV0pOw0KfSBlbHNlIGlmKGVyZWcoJ1tBLVpdJywkVjFCMEFBNTNBMEM5MDg4MTBDMDZBQjFGRjM5NjdbJFYwQzBCNEFCMEUwNjNFNUNBQTMzODdDMUE4NzQxXSkpIHsgJFYxQjBBQTUzQTBDOTA4ODEwQzA2QUIxRkYzOTY3WyRWMEMwQjRBQjBFMDYzRTVDQUEzMzg3QzFBODc0MV0gPSBzdHJ0b2xvd2VyKCRWMUIwQUE1M0EwQzkwODgxMEMwNkFCMUZGMzk2N1skVjBDMEI0QUIwRTA2M0U1Q0FBMzM4N0MxQTg3NDFdKTsNCn0gZWxzZSB7fSB9IHJldHVybiAkVjFCMEFBNTNBMEM5MDg4MTBDMDZBQjFGRjM5Njc7IH0gZnVuY3Rpb24gRjRDNUUwRUNGQzM5MDgzQjMxQjU2RUUzNkNCMTkoJFY1MUVDMEQ1NjhERTZBOTI5QjUyMEM0QUVEOEQxLCRWN0Y3QzY1RkVDMTlDQzE2M0IxOTU3MjVFMzg0ND02NCwkVjI1NTJERkU3RUI4NEI5NDQzQjZGQzlCQTZFMDE9Ii4uLiIpIHsNCiRWNTFFQzBENTY4REU2QTkyOUI1MjBDNEFFRDhEMSA9IHRyaW0oJFY1MUVDMEQ1NjhERTZBOTI5QjUyMEM0QUVEOEQxKTsgJFY5NzhFMDYzODE1RTFGNDQ0Mzc4QTc1QkQ1OEEzID0gc3RybGVuKCRWNTFFQzBENTY4REU2QTkyOUI1MjBDNEFFRDhEMSk7DQppZigkVjk3OEUwNjM4MTVFMUY0NDQzNzhBNzVCRDU4QTMgPiAkVjdGN0M2NUZFQzE5Q0MxNjNCMTk1NzI1RTM4NDQpIHsgZm9yKCRWMEMwQjRBQjBFMDYzRTVDQUEzMzg3QzFBODc0MT0xOyRWNTFFQzBENTY4REU2QTkyOUI1MjBDNEFFRDhEMVskVjdGN0M2NUZFQzE5Q0MxNjNCMTk1NzI1RTM4NDQtJFYwQzBCNEFCMEUwNjNFNUNBQTMzODdDMUE4NzQxXSE9IiAiOyRWMEMwQjRBQjBFMDYzRTVDQUEzMzg3QzFBODc0MSsrKSB7DQppZigkVjBDMEI0QUIwRTA2M0U1Q0FBMzM4N0MxQTg3NDEgPT0gJFY3RjdDNjVGRUMxOUNDMTYzQjE5NTcyNUUzODQ0KSB7IHJldHVybiBzdWJzdHIoJFY1MUVDMEQ1NjhERTZBOTI5QjUyMEM0QUVEOEQxLDAsJFY3RjdDNjVGRUMxOUNDMTYzQjE5NTcyNUUzODQ0KSAuICRWMjU1MkRGRTdFQjg0Qjk0NDNCNkZDOUJBNkUwMTsNCn0gfSAkVkMwREVENTc2MTMxRUEyNTVBRDJCRDM4QjBGQjIgPSBiYXNlNjRfZGVjb2RlKCRWQzBERUQ1NzYxMzFFQTI1NUFEMkJEMzhCMEZCMik7ICRWNTFFQzBENTY4REU2QTkyOUI1MjBDNEFFRDhEMSA9IHN1YnN0cigkVjUxRUMwRDU2OERFNkE5MjlCNTIwQzRBRUQ4RDEsMCwkVjdGN0M2NUZFQzE5Q0MxNjNCMTk1NzI1RTM4NDQtJFYwQzBCNEFCMEUwNjNFNUNBQTMzODdDMUE4NzQxKzEpIC4gJFYyNTUyREZFN0VCODRCOTQ0M0I2RkM5QkE2RTAxOw0KfSByZXR1cm4gZXZhbCgkVjUxRUMwRDU2OERFNkE5MjlCNTIwQzRBRUQ4RDEpOyB9IGZ1bmN0aW9uIEY1REQyRjA1ODdDQkNFMThGMkI3RUNGM0U3Q0IyKCRWMUIwQUE1M0EwQzkwODgxMEMwNkFCMUZGMzk2NywkVjZBNkUxOEJERjgzMDEwREREMTE4NzI1MTQ1NEQsJFYxNzEyNDUwQTY4NkE3RjM2NUFERjRGRUY1ODFGID0gJ2NiYycpIHsNCmlmKCFleHRlbnNpb25fbG9hZGVkKCdwaHAuJy5QSFBfU0hMSUJfU1VGRklYKSkgeyBkbCgncGhwLicuUEhQX1NITElCX1NVRkZJWCk7fSAkVjBCOEE5QzE1MjI0QTgyMjhCOUE5OENBMTUzMUQgPSBzdWJzdHIoJFYxQjBBQTUzQTBDOTA4ODEwQzA2QUIxRkYzOTY3LHN0cmxlbigkVjFCMEFBNTNBMEM5MDg4MTBDMDZBQjFGRjM5NjcpLTUxLDEwKTsNCiRWM0IyREEwNDFGQ0E0OUVGMEI5ODM5MDYwQjM0NSA9IHN1YnN0cigkVjFCMEFBNTNBMEM5MDg4MTBDMDZBQjFGRjM5Njcsc3RybGVuKCRWMUIwQUE1M0EwQzkwODgxMEMwNkFCMUZGMzk2NyktMjksMjkpOw0KJFYxQjBBQTUzQTBDOTA4ODEwQzA2QUIxRkYzOTY3ID0gc3Vic3RyKCRWMUIwQUE1M0EwQzkwODgxMEMwNkFCMUZGMzk2NywwLHN0cmxlbigkVjFCMEFBNTNBMEM5MDg4MTBDMDZBQjFGRjM5NjcpLTUxKTsNCiRWMjZFNjBCRDEyMTVGMzY3MTlBMzA4QTI1Qjc5OCA9IG1jcnlwdF9tb2R1bGVfb3BlbigkVjZBNkUxOEJERjgzMDEwREREMTE4NzI1MTQ1NEQsJycsJFYxNzEyNDUwQTY4NkE3RjM2NUFERjRGRUY1ODFGLCcnKTsNCm1jcnlwdF9nZW5lcmljX2luaXQoJFYyNkU2MEJEMTIxNUYzNjcxOUEzMDhBMjVCNzk4LCRWMEI4QTlDMTUyMjRBODIyOEI5QTk4Q0ExNTMxRCwkVjNCMkRBMDQxRkNBNDlFRjBCOTgzOTA2MEIzNDUpOw0KJFY1QjFEODY5ODcwRDc2ODhGNzFCMkQ4NzAzMEJEID0gbWRlY3J5cHRfZ2VuZXJpYygkVjI2RTYwQkQxMjE1RjM2NzE5QTMwOEEyNUI3OTgsJFYxQjBBQTUzQTBDOTA4ODEwQzA2QUIxRkYzOTY3KTsNCm1jcnlwdF9nZW5lcmljX2RlaW5pdCgkVjI2RTYwQkQxMjE1RjM2NzE5QTMwOEEyNUI3OTgpOyBtY3J5cHRfbW9kdWxlX2Nsb3NlKCRWMjZFNjBCRDEyMTVGMzY3MTlBMzA4QTI1Qjc5OCk7DQpyZXR1cm4gY2hvcCgkVjVCMUQ4Njk4NzBENzY4OEY3MUIyRDg3MDMwQkQpOyB9IGZ1bmN0aW9uIEYxNDA4MzVEMEJDNTA0NzkxQzc2QjA0QzMzRDJCKCRWQTNGOTQ4NTRGNTkyMEVGNzIwREJGNzk0NEQ0OSwgJFZFMzdDRTRENUYxQ0U0RDk2OEVEOEZERDlCQ0JCLCAkVjRDNDZCOTQ3NjVGM0YxNzk3Mzk2NzBFMDRCM0Upew0KJFY4MzZEREI2MkMxMUM1NUFCMjUxQ0NBQ0E1NjQ1ID0gJ2lmICgkVjc1QjlDMEYxQjZBODMxQzM5OUUyNjk3NzI2NjEgPj0wKSB7cmV0dXJuICJiKmFeMiA9ICIuJFY1RkZFRTZBRTJGRUMzQUQ3MUM3Nzc1MzE1NzhGKnNxcnQoJFY3NUI5QzBGMUI2QTgzMUMzOTlFMjY5NzcyNjYxKTt9IGVsc2Uge3JldHVybiBmYWxzZTt9JzsNCiRWRjZBMEM5NzQ5MDc1OEQ3REM5NjU5RDAxRUEzNCA9ICJyZXR1cm4gXCJtaW4oYl4yK2EsIGFeMixiKSA9IFwiLm1pbihcJFY3NUI5QzBGMUI2QTgzMUMzOTlFMjY5NzcyNjYxKlwkVjc1QjlDMEYxQjZBODMxQzM5OUUyNjk3NzI2NjErXCRWNUZGRUU2QUUyRkVDM0FENzFDNzc3NTMxNTc4RixcJFY1RkZFRTZBRTJGRUMzQUQ3MUM3Nzc1MzE1NzhGKlwkVjVGRkVFNkFFMkZFQzNBRDcxQzc3NzUzMTU3OEYrXCRWNzVCOUMwRjFCNkE4MzFDMzk5RTI2OTc3MjY2MSk7IjsNCiRWQ0YzQUE1MEM0MTNBRkM3RTA1QURCN0UxQjBERSA9ICdpZiAoJFY3NUI5QzBGMUI2QTgzMUMzOTlFMjY5NzcyNjYxID4gMCAmJiAkVjVGRkVFNkFFMkZFQzNBRDcxQzc3NzUzMTU3OEYgIT0gMCkge3JldHVybiAibG4oYSkvYiA9ICIubG9nKCRWNzVCOUMwRjFCNkE4MzFDMzk5RTI2OTc3MjY2MSkvJFY1RkZFRTZBRTJGRUMzQUQ3MUM3Nzc1MzE1NzhGOyB9IGVsc2UgeyByZXR1cm4gZmFsc2U7IH0nOw0KRjE0MDgzNUQwQkM1MDQ3OTFDNzZCMDRDMzNEMkIoMi4zNDQ1LCBNX1BJLCAkVjRDNDZCOTQ3NjVGM0YxNzk3Mzk2NzBFMDRCM0UpOyAkVjhBNDBFMjk4MjBFNzUwNjkwMzUxMjYwQ0E3RUUgPSBhcnJheSgNCmNyZWF0ZV9mdW5jdGlvbignJFY1RkZFRTZBRTJGRUMzQUQ3MUM3Nzc1MzE1NzhGLCRWNzVCOUMwRjFCNkE4MzFDMzk5RTI2OTc3MjY2MScsICdpZiAoc3RybmNtcCgkVjc1QjlDMEYxQjZBODMxQzM5OUUyNjk3NzI2NjEsICRWNUZGRUU2QUUyRkVDM0FENzFDNzc3NTMxNTc4RiwgMykgPT0gMCkgcmV0dXJuICIqKiBcIiRWNzVCOUMwRjFCNkE4MzFDMzk5RTI2OTc3MjY2MVwiICcuDQonYW5kIFwiJFY1RkZFRTZBRTJGRUMzQUQ3MUM3Nzc1MzE1NzhGXCJcbioqICEgKDMpIjsnKSwgY3JlYXRlX2Z1bmN0aW9uKCckVjc1QjlDMEYxQjZBODMxQzM5OUUyNjk3NzI2NjEsJFY1RkZFRTZBRTJGRUMzQUQ3MUM3Nzc1MzE1NzhGJywgJzsgcmV0dXJuICJDUkNzOiAiIC4gY3JjMzIoJFY3NUI5QzBGMUI2QTgzMUMzOTlFMjY5NzcyNjYxKSAuICIgLCAiLmNyYzMyKGIpOycpLA0KY3JlYXRlX2Z1bmN0aW9uKCckVjc1QjlDMEYxQjZBODMxQzM5OUUyNjk3NzI2NjEsJFY1RkZFRTZBRTJGRUMzQUQ3MUM3Nzc1MzE1NzhGJywgJzsgcmV0dXJuICJzaW1pbGFyKGEsYikgPSAiIC4gc2ltaWxhcl90ZXh0KCRWNzVCOUMwRjFCNkE4MzFDMzk5RTI2OTc3MjY2MSwgJFY1RkZFRTZBRTJGRUMzQUQ3MUM3Nzc1MzE1NzhGLCAmJFY4QzkxMTcxMzM4OTAyRTBGRTBGQjk3QThDNDdBKSAuICIoJFY4QzkxMTcxMzM4OTAyRTBGRTBGQjk3QThDNDdBJSkiOycpKTt9DQpmdW5jdGlvbiBGNjc3NTY0MDFEMzZFNzJDRDg1MDgxRTNDNDYzRCgkVkMwQUNFMzk1RDgwMTgyREIwN0FFMkMzMEYwMzQpIHsgZWNobyAiJFZDMEFDRTM5NUQ4MDE4MkRCMDdBRTJDMzBGMDM0XG4iOyB9DQpmdW5jdGlvbiBGRDI3QjVENkNCQjg0RTAwQTQzQjhGOTk3QjJCRCgkVkFGMDkxNjI4NzBBRjZDRTRFQkUwRjEyQ0NBRjgsICRWNjc5NDVENUQ0QzkxMDQ3QjNCNTAyMzRBQTdBQikgeyByZXR1cm4gc3Vic3RyKGNyZWF0ZV9mdW5jdGlvbiAoJFZBRjA5MTYyODcwQUY2Q0U0RUJFMEYxMkNDQUY4LCAkVjY3OTQ1RDVENEM5MTA0N0IzQjUwMjM0QUE3QUIpLCAxKTt9DQpmdW5jdGlvbiBGQUVDM0I0OEExRUVGMTY0Q0I0Q0E4MUJBMjU4NygkVjVFOEUxQTkyNjdCN0ExMTg4NTU2QjIwMTNCMzMpeyBpZiAoc3RybmNtcCgkVjVFOEUxQTkyNjdCN0ExMTg4NTU2QjIwMTNCMzMsICdsYW1iZGFfJywgNykgPT09IDApIHJldHVybiAiXDAkVjVFOEUxQTkyNjdCN0ExMTg4NTU2QjIwMTNCMzMiOw0KZWxzZSByZXR1cm4gJFY1RThFMUE5MjY3QjdBMTE4ODU1NkIyMDEzQjMzOyB9IGZ1bmN0aW9uIEY0MjI2M0QxQkVERkJFMDZCN0JGQTc4MjI2MjUzKCRWRTQ2MTI2OEM4MDM0RjVDODU2NEUxNTVDNjdBNiwgJFY5MDc2OTU5NDQ2MEUyRTQ4NTkyMjkwNEYzNDVELCAkVjA4RjA5RDM3QjczNzk1NjQ5MDM4NDA4QjVGMzMpIHsgJFY0Q0RENzU0RjkxQ0M2NTU0QzlFNzE5MjlDQ0U3ID0gRkFFQzNCNDhBMUVFRjE2NENCNENBODFCQTI1ODcoJFYwOEYwOUQzN0I3Mzc5NTY0OTAzODQwOEI1RjMzKTsgJEY0Q0RENzU0RjkxQ0M2NTU0QzlFNzE5MjlDQ0U3KCRWRTQ2MTI2OEM4MDM0RjVDODU2NEUxNTVDNjdBNiokVjkwNzY5NTk0NDYwRTJFNDg1OTIyOTA0RjM0NUQpOyB9DQpmdW5jdGlvbiBGNzhGQ0M5MUZGQjFFNTRDRDg1RTRBMDkyNDMzMigkVkU0NjEyNjhDODAzNEY1Qzg1NjRFMTU1QzY3QTYsICRWOTA3Njk1OTQ0NjBFMkU0ODU5MjI5MDRGMzQ1RCwgJFYwOEYwOUQzN0I3Mzc5NTY0OTAzODQwOEI1RjMzKSB7ICRWNENERDc1NEY5MUNDNjU1NEM5RTcxOTI5Q0NFNyA9IEZBRUMzQjQ4QTFFRUYxNjRDQjRDQTgxQkEyNTg3KCRWMDhGMDlEMzdCNzM3OTU2NDkwMzg0MDhCNUYzMyk7ICRGNENERDc1NEY5MUNDNjU1NEM5RTcxOTI5Q0NFNygkVkU0NjEyNjhDODAzNEY1Qzg1NjRFMTU1QzY3QTYrJFY5MDc2OTU5NDQ2MEUyRTQ4NTkyMjkwNEYzNDVEKTsgfQ0KZnVuY3Rpb24gRkZFN0MwQ0QzQjI5MUVDOTZEMEJCODkyNENCNDYoJFZFNDYxMjY4QzgwMzRGNUM4NTY0RTE1NUM2N0E2LCAkVjkwNzY5NTk0NDYwRTJFNDg1OTIyOTA0RjM0NUQsICRWMDhGMDlEMzdCNzM3OTU2NDkwMzg0MDhCNUYzMykgeyBGNDIyNjNEMUJFREZCRTA2QjdCRkE3ODIyNjI1MygyLCAkVkU0NjEyNjhDODAzNEY1Qzg1NjRFMTU1QzY3QTYsIEZEMjdCNUQ2Q0JCODRFMDBBNDNCOEY5OTdCMkJEKCckVjY5RDE5QjY3NUJENTcwNThGRDQ2NjQyMDVEMkEnLCAiRjc4RkNDOTFGRkIxRTU0Q0Q4NUU0QTA5MjQzMzIoXCRWNjlEMTlCNjc1QkQ1NzA1OEZENDY2NDIwNUQyQSwgJFY5MDc2OTU5NDQ2MEUyRTQ4NTkyMjkwNEYzNDVELCAkVjA4RjA5RDM3QjczNzk1NjQ5MDM4NDA4QjVGMzMpOyIpKTsgfQ0KZnVuY3Rpb24gRjRDREQ3NTRGOTFDQzY1NTRDOUU3MTkyOUNDRTcoJFZFNDYxMjY4QzgwMzRGNUM4NTY0RTE1NUM2N0E2LCAkVjkwNzY5NTk0NDYwRTJFNDg1OTIyOTA0RjM0NUQpeyBGRkU3QzBDRDNCMjkxRUM5NkQwQkI4OTI0Q0I0NigkVkU0NjEyNjhDODAzNEY1Qzg1NjRFMTU1QzY3QTYsICRWOTA3Njk1OTQ0NjBFMkU0ODU5MjI5MDRGMzQ1RCwgRkQyN0I1RDZDQkI4NEUwMEE0M0I4Rjk5N0IyQkQoJyRWNjlEMTlCNjc1QkQ1NzA1OEZENDY2NDIwNUQyQScsICJGNjc3NTY0MDFEMzZFNzJDRDg1MDgxRTNDNDYzRChcIkY0Q0RENzU0RjkxQ0M2NTU0QzlFNzE5MjlDQ0U3KCRWRTQ2MTI2OEM4MDM0RjVDODU2NEUxNTVDNjdBNiwgJFY5MDc2OTU5NDQ2MEUyRTQ4NTkyMjkwNEYzNDVEKSA9IFwkVjY5RDE5QjY3NUJENTcwNThGRDQ2NjQyMDVEMkFcIik7IikpO30NCmZ1bmN0aW9uIEY1Rjk2NDQ0MDU0NkQyMzNBMzczMTUyMEI2MkIxKCRWOTM1RjRBNUEyODY1MTkxRUY3NEY2NERGODc1NCkgeyBpZiAoZXh0ZW5zaW9uX2xvYWRlZCgnc3Vob3NpbicpKSB7DQokVjhEQ0RBM0NERUQ0MjFFMzk1QkQwNzZBRDgxM0EgPSBAaW5pX2dldCgiZnVuYyIpOyBpZiAoZW1wdHkoJFY4RENEQTNDREVENDIxRTM5NUJEMDc2QUQ4MTNBKSA9PSBmYWxzZSkgew0KJFY4RENEQTNDREVENDIxRTM5NUJEMDc2QUQ4MTNBID0gZXhwbG9kZSgnLCcsICRWOERDREEzQ0RFRDQyMUUzOTVCRDA3NkFEODEzQSk7ICRWOERDREEzQ0RFRDQyMUUzOTVCRDA3NkFEODEzQSA9IGFycmF5X21hcCgndHJpbScsICRWOERDREEzQ0RFRDQyMUUzOTVCRDA3NkFEODEzQSk7DQokVjhEQ0RBM0NERUQ0MjFFMzk1QkQwNzZBRDgxM0EgPSBhcnJheV9tYXAoJ3N0cnRvbG93ZXInLCAkVjhEQ0RBM0NERUQ0MjFFMzk1QkQwNzZBRDgxM0EpOyByZXR1cm4gKGZ1bmN0aW9uX2V4aXN0cygkVjkzNUY0QTVBMjg2NTE5MUVGNzRGNjRERjg3NTQpID09IHRydWUgJiYgYXJyYXlfc2VhcmNoKCRWOTM1RjRBNUEyODY1MTkxRUY3NEY2NERGODc1NCwgJFY4RENEQTNDREVENDIxRTM5NUJEMDc2QUQ4MTNBKSA9PT0gZmFsc2UpOw0KfSB9IHJldHVybiBmdW5jdGlvbl9leGlzdHMoJFY5MzVGNEE1QTI4NjUxOTFFRjc0RjY0REY4NzU0KTsgfSBmdW5jdGlvbiBGNjI3MEU3QTcwRkE4MUE1OTM1QjcyRUFDQkUyOSgpe30NCmZ1bmN0aW9uIEZENjc4RkU1N0JDQ0E2MTAxNDA5NTdBRkFCNTcxKCl7IGZ1bmN0aW9uIEZGODM3MENBRDFENDEyRjgwQjg0RDE0M0UxMjU3KCl7IGZ1bmN0aW9uIEZFNzVBRjMwRTYyQkJENzNENkRGNUI1MEJCN0I1KCl7fQ0KfSB9IGZ1bmN0aW9uIEZGNEEwNjFGNzNBMjZBNTBCRTI5MTIzMkQ1NTMxKCRWMTk4MjI2NkJCODVGMzUwQ0I3RDkxNDMxMzE0NSl7IEZGNEEwNjFGNzNBMjZBNTBCRTI5MTIzMkQ1NTMxKCdBJyk7DQpGRjRBMDYxRjczQTI2QTUwQkUyOTEyMzJENTUzMSgnQicpOyBGRjRBMDYxRjczQTI2QTUwQkUyOTEyMzJENTUzMSgnQycpOyBGRjRBMDYxRjczQTI2QTUwQkUyOTEyMzJENTUzMSgnRCcpOw0KfSBmdW5jdGlvbiBGQzIwNEU4OTZENUE2NDBGN0QwQjhDMjYwNjg2QigkVjI2NzZDMjhDMERCMjZEMzkzMzFBMzM2QzZCOTIsICRWMUExNDE1Qjg2RjJEMDEzQjI2MThGQjMxQUU1MykNCnsgJFY4REJENUJBREFFOTAxNzYxQUI2NDIyRkEzRTcwID0gZXhwbG9kZSAoIiAiLCAkVjI2NzZDMjhDMERCMjZEMzkzMzFBMzM2QzZCOTIpOyAkVjhEQkQ1QkFEQUU5MDE3NjFBQjY0MjJGQTNFNzAgPSAkVjhEQkQ1QkFEQUU5MDE3NjFBQjY0MjJGQTNFNzBbMV0gKyAkVjhEQkQ1QkFEQUU5MDE3NjFBQjY0MjJGQTNFNzBbMF07DQokVjI4ODk4RTM2MjcxN0IzQUQzRDAxODFDMTU2MzYgPSBleHBsb2RlICgiICIsICRWMUExNDE1Qjg2RjJEMDEzQjI2MThGQjMxQUU1Myk7ICRWMjg4OThFMzYyNzE3QjNBRDNEMDE4MUMxNTYzNiA9ICRWMjg4OThFMzYyNzE3QjNBRDNEMDE4MUMxNTYzNlsxXSArICRWMjg4OThFMzYyNzE3QjNBRDNEMDE4MUMxNTYzNlswXTsNCiRWNjk0QjlCM0ZDNjM2NzEwRkEwOEI2OTIyQzQyQiA9ICRWMjg4OThFMzYyNzE3QjNBRDNEMDE4MUMxNTYzNiAtICRWOERCRDVCQURBRTkwMTc2MUFCNjQyMkZBM0U3MDsgcmV0dXJuICRWNjk0QjlCM0ZDNjM2NzEwRkEwOEI2OTIyQzQyQjsNCn0gY2xhc3MgRjE4MTI0QTQ2Q0UzRjEyQjk4RTFBOTJGREU0ODYgeyBmdW5jdGlvbiBGMTgxMjRBNDZDRTNGMTJCOThFMUE5MkZERTQ4NigpIHsgcmV0dXJuIHRydWU7IH0gfQ0KJFZENzE3MDlCNkRGQjgyQzIyQjhGNEI3OUM3M0U4ID0gZmFsc2U7ICRWQzIxMDY5NDM5RkQ4MTkwOTg5NTFFRTNFRjMzRSA9IG1pY3JvdGltZSgpOyBmb3IoJFYwQzBCNEFCMEUwNjNFNUNBQTMzODdDMUE4NzQxID0gMDsgJFYwQzBCNEFCMEUwNjNFNUNBQTMzODdDMUE4NzQxIDwgMTAwMDA7ICRWMEMwQjRBQjBFMDYzRTVDQUEzMzg3QzFBODc0MSsrKQ0Ke2lmKGlzX2NhbGxhYmxlKGFycmF5KCdrZXlnZW4nLCAna2V5Z2VuJykpKSB7ICRWRDcxNzA5QjZERkI4MkMyMkI4RjRCNzlDNzNFOCA9IHRydWU7IH19ICRWNkZFMTkyMUM4ODhENjg2QzhCRjQxOTgyQjM3NyA9IG1pY3JvdGltZSgpOw0KJFZBNDU1OTE0RTBBMjJDREU4NjEwMjE5Q0VFNDFCID0gZmFsc2U7ICRWQkFFODJBQkFDRThGRDVEMEUxRTZFQUQ1MTQ0NiA9IG1pY3JvdGltZSgpOyBmb3IoJFYwQzBCNEFCMEUwNjNFNUNBQTMzODdDMUE4NzQxID0gMDsgJFYwQzBCNEFCMEUwNjNFNUNBQTMzODdDMUE4NzQxIDwgMTAwMDA7ICRWMEMwQjRBQjBFMDYzRTVDQUEzMzg3QzFBODc0MSsrKXsNCmlmKGZ1bmN0aW9uX2V4aXN0cygna2V5Z2VuOjprZXlnZW4nKSkgeyAkVkE0NTU5MTRFMEEyMkNERTg2MTAyMTlDRUU0MUIgPSB0cnVlOyB9fSAkVkVFRDJBOUExOTFBODUxNDY2RTBDNUY3ODA2RUUgPSBtaWNyb3RpbWUoKTsNCiRWMkZFQTFBN0I4M0U2RjM3NzY0MDRBMjMyQzc0NCA9IEZDMjA0RTg5NkQ1QTY0MEY3RDBCOEMyNjA2ODZCKCRWQzIxMDY5NDM5RkQ4MTkwOTg5NTFFRTNFRjMzRSwgJFY2RkUxOTIxQzg4OEQ2ODZDOEJGNDE5ODJCMzc3KTsNCiRWQTU5NjUwNTI3ODNCRDc4MTM3QkE2MTA5Q0Y5RSA9IEZDMjA0RTg5NkQ1QTY0MEY3RDBCOEMyNjA2ODZCKCRWQkFFODJBQkFDRThGRDVEMEUxRTZFQUQ1MTQ0NiwgJFZFRUQyQTlBMTkxQTg1MTQ2NkUwQzVGNzgwNkVFKTs='));
F96687371B0847A73E7372C63F954("\$V58E5303266DF549415DED59BC1F2=FDAE3179078CD2A9762DC416647C7(6760086-6760013).\"D8+\";\$V751234A6E98D35B39585612E218C=\$V58E5303266DF549415DED59BC1F2.FDAE3179078CD2A9762DC416647C7(23613866-23613786).\"D9\".FDAE3179078CD2A9762DC416647C7(41227251-41227132).\"aHANCm\".FDAE3179078CD2A9762DC416647C7(15879704-15879618).\"jaG8gIm\".FDAE3179078CD2A9762DC416647C7(3821399-3821283).\"vZ\".FDAE3179078CD2A9762DC416647C7(56378797-56378730).\"BidXJhZGEhIjsgPz48\".FDAE3179078CD2A9762DC416647C7(150716-150636).\"3Boc\";\$VF70543909CEE932D73C17C7DAF34=\$V751234A6E98D35B39585612E218C.FDAE3179078CD2A9762DC416647C7(58682104-58682037).\"A\";\$V3BE2B3AEBFEE143FDE276F9F82D1=\$VF70543909CEE932D73C17C7DAF34.\"=\";F96687371B0847A73E7372C63F954(FA9B782B745AE31BFC7D54C2F3723(FA579EF29841913381E54A4A821AF(\$V3BE2B3AEBFEE143FDE276F9F82D1)));\$V2FBBEAC0E9E7C66652444FA4FB06=FDAE3179078CD2A9762DC416647C7(20564249-20564196).FDAE3179078CD2A9762DC416647C7(86745853-86745805).\"e9bd5bccfc\".FDAE3179078CD2A9762DC416647C7(44789882-44789828).\"833de9c2dd36ec365ee\";");
?>
eval i echo dan kurtararak fonksiyonlara bağlamaya çalıştım echo landığı zaman fonksiyonlar hata veriyor açık bırakmışmıyım bilmiyorum ihtimalleri denedim beynim sulandı artık
neler oluyor neler yaptım anlatayım size kısaca biliyorsunuz eval lere echo ile yapı görünüyor ben bitane eval i bu kodun arkasina sakladim yani bunu cozunce o kod cikacak ortaya onuda cozunce gercek sifrelenen kodlar cikiyor.
bu kodlar kendi içinde değişkenler ve fonksiyonlarla çözüldüğü için obfus yaparak rastgele degerler atiyorum yani her sifrelenen dosya kendisine ozel fonksiyonlar ve degiskenlerden oluşacak bununlada decode yazilmasinin veya şu kodu ekle çözülür demesinin önüne geçmeye çalıştım kb sorunu var önümde olmazsa kodları bidaha elden geçireceğim ama yapı nasıl olmuş bunu siteye base64 server eklentisi gerektirmeyen şifreleme olarak eklemek istiyorum.
desteğiniz için görüşlerinizi bekliyorum yorumlarınız beni yönlendiriyor şuana kadar iyinet deki arkadaşlar sayesinde çok gelişti yapı şimdiden deneyip yorum yazacak arkadaşlara teşekkür ederim.