Nuitka veya pyinstaller ile oluşturulan exeyi koruma nasıl yapılır?

ilk sorumu soruyum arkadaslar qt5 ile olusturduğum gui tabanlı bir uygulamam var bunu nuitka ile exeye ceviriyorum fakat uygulamadaki api keyleri reserverler tarafından rahatça görünüyor ben bunun görünmemesini istiyorum neler yapabilirim. kısacası uygulamamı korumak istiyorum…
foruma bakınca pyarmor kütüphanesini gördüm.
pyarmor ile 7 tane py dosyamı pyarmor gen dosyaismi.py seklınde şifreledim cmd den calıstırdığımda sıkıntı yaşamıyorum fakat auto-py-to-exe ile yada nuitkayla exeye cevirdigimde exe hatalı olarak buildleniyor burada sanırım bir şeyi atlıyorum bu konuda hakkkında bilgisi olan varmı kendi docuna baktım fakat inglizcem hem iyi değil hemde cogu tutorialler eski sürümler icin anlayamadım sanırım moduleler yüklenmiyor.

merhaba aynı sorunu bende yaşıyordum maalesef bir çok kişi çözümü bilmiyor bilmedikleri içinde geçiştiriyorlar forumda bir konu açmıştım Python projemin kodlarını şifrelemek istiyorum nasıl yaparım? altında aydınlatıcı yorumlar geldi onlardan yola çıkarak bir yol izleyebilirsiniz

pyarmor hakkında deneyimle pyarmorda kırılabiliyor pek bir olayı yok açıkcası onunda lisanslı servisyonu falan var onlarıda kırabiliyorlar ben şöyle yaptım nuitka ile build aldım c ye derliyor bence pyarmordan daha sağlam olduğunu düşünüyorum ama python script dil eninde sonunda kodu açarlar eğer sizin projeniz benimki gibi kullanıcıların kendi cihazlarında çalıştırması gerekmiyorsa web tabanlı web view yapabilirsiniz gerekli özellikler webde çalışır ve bu sayede kullanıcılar kodu açsada ellerinde bir şey geçmez çünkü web sunucusu sizde umarım anlatabilmişimdir

python -m nuitka --standalone --enable-plugin=pyqt5 --onefile --disable-console --windows-icon-from-ico=deneme.ico dosyaismi.py

bu komut ile sorunsuz ve clean bir build alıcaksınızdır iyi akşamlar

1 Beğeni

aslında yaptığın ne biliyomusun ? mektuba şifre yazdığını düşün. bu mektubu zarfa koyup yani paketleyip, birine veriyosun. sonra da diyosun ki bu zarfı adam açtı içindeki şifreyi gördü :smiley: exeyi açtı içindeki önemli bilgiyi gördü aynı mantık :smiley: @AngaraliJoo nun dediği mantıklı. önemli bilgileri zarfın içinde adama vermek yerine sunucudan çekmek daha mantıklı. bu sayede zarfın içini göremezler.

1 Beğeni

cevaplar için teşekkür ediyorum arkadaşlar pyarmor + pyinstaller ve nuitka ile ayrı ayrı projemi exeye çevirdim , exeye processhacker ile baktığımda stringler yine her 2 exedede kabak gibi görünüyor exelere ayrı ayrı themida ve wmprotect attım yine aynı durum processhackerde memory baktığımda kabak gibi görünüyor geçiçi çözüm olarak bu tarz uygulama exelerini listeye alıp , bunlar açıldığında programın kapanmasını sağlayarak çözmeyi düşünüyorum.Bu konular hakkında anlamadığım bir kaç husus var oda yeterli bilgimin olmadığından dolayıdır. Tecrübelerimi paylaşmak istedim.

eğer böyle tooları yakalayıp kendini silen yada o tooları silen bir şey yapabilirseniz bizimlede paylaşırsanız çok güzel olur hocam

def process_check():
    while True:
        PROCESSES = [
            "http toolkit.exe",
            "httpdebuggerui.exe",
            "wireshark.exe",
            "fiddler.exe",
            "charles.exe",
            "regedit.exe",
            "taskmgr.exe",
            "vboxservice.exe"
            "df5serv.exe",
            "processhacker.exe",
            "vboxtray.exe",
            "vmtoolsd.exe",
            "vmwaretray.exe",
            "ida64.exe",
            "ollydbg.exe",
            "pestudio.exe",
            "vmwareuser",
            "vgauthservice.exe",
            "vmacthlp.exe",
            "x96dbg.exe",
            "vmsrvc.exe",
            "x32dbg.exe",
            "x64dbg.exe",
            "vmusrvc.exe",
            "prl_cc.exe",
            "prl_tools.exe",
            "qemu-ga.exe",
            "joeboxcontrol.exe",
            "ksdumperclient.exe",
            "ksdumper.exe",
            "joeboxserver.exe",
            "dnSpy.exe",
            "ilspy.exe",
            "idapro.exe",
            "de4dot.exe",
            "XVI32.exe.exe",
            "xenservice.exe",
            "cheatengine.exe",
            "cheatengine64.exe",
            "cmd.exe",
            "powershell.exe",

        ]
        for proc in psutil.process_iter():
            if any(procstr in proc.name().lower() for procstr in PROCESSES):
                try:
                    proc.kill()
                    os._exit(0)
                except (psutil.NoSuchProcess, psutil.AccessDenied):
                    pass
        time.sleep(5)

geçiçi çözüm olarak böyle bir def çalıştırıyorum.Memory kısmı hakkında öğreneceğim çok şey var

deneyimlerinizi konu altında paylaşırsanız çok güzel olur çünkü bu konu hakkında bilgi eksikliği var

1 Beğeni

şöyle bir şey yapsan sanki kurtarabilirsin gibi geliyo. öncelikle parola ile şifrenin farkına bakabilirsin. sonra hash olayları var hash i salt falan yapılıyo. bu konuları öğrenebilirsin. kesinlikle işine yarayacağını düşünüyorum. yani string bir değeri şifreliyoruz. örneğin admin diye bi stringimiz var ve bu bizim parolamız olsun. bu string değerini şifrelediğimizde yani hash lediğimizde admin kelimesi artık okunamaz hale geliyo. abartıp salt olaylarına girersek mümkün değil okunması. belki işine yarar aklıma bu geldi. daha iyi çözümlerde olabilir tabi araştırmak lazım.

hashimizi çözücek sistem ve hashimizin keyide kodun içinde olucağı için gene aynı hesaba gelmez mi ?

salt demiştim onu kaçırmışsın:) saltı kimse çözemez ayrıca kodu nasıl yazdığına bağlı. dandik yazarsan patlatırlar

1 Beğeni

sağlam hashleme/saltama ve kod yapısı hakkında bir dökümasyon yada bizimle paylaşıcağınız bir şeyler var mı ?

Bu kodun exe dosyasının çözülmesine engel olacağını sanmıyorum. Zira crack aracı asıl processden daha yüksek bir yetkiyle çalıştırıldığında bile bu koruma kolayca bypass edilmiş olur.

Kabak gibi gözükmesi normal zaten, çünkü programı çalıştırmak için dosyanın şifrelemesini çözüp orijinal halini bellekte tutmak zorunda.

Bu konuda her ne kadar bir sürü araç varsa da en iyi çözümün derlenebilen bir dil kullanmanız olduğunu düşünüyorum. Yoksa Python yorumlanan bir dil olduğu için gene çıplak kod her türlü bir yerde açığa çıkacaktır.

1 Beğeni