folder Tahribat.com Forumları
linefolder Yazılımlar / Diğer Programlar
linefolder Uygulama Kapandığında Mail Atan Program



Uygulama Kapandığında Mail Atan Program

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    NoktaliVirgul
    NoktaliVirgul's avatar
    Kayıt Tarihi: 02/Temmuz/2007
    Erkek
    mihni bunu yazdı
    NoktaliVirgul bunu yazdı

    zamanlanmış görevler + mail atan bir exe/bat dosyası 

    bunlar senin işini çözer.

    Zamanlanmış görevler istediğim tarz bir şeye benzemiyor.

    O exe veya batı arıyorum. :)

    Zamanlanmış görevlerin event log'ları takip etme özelliği ile yapmak lazım. Ayrıca eskiden zamanlanmış görevler mail de atıyordu.

    Event log'lardan uygulama kapanınca gelen event'daki prıgrama bakıp istediğin programsa exe çalıştır.

    Ben şu an bir program çalışınca tetiklemesini kullanıyorum.

     

    aradığın exe; usb virüslernin çokça kullandığı blat.exe yada sendmail.exe

    http://caspian.dotconf.net/menu/Software/SendEmail/

    http://www.blat.net/

    ---

    Zaten Go ile çözümü vermişler.

    Burada dursun powershell için: https://techibee.com/powershell/powershell-track-process-stoptermination/2278

     

     

    NoktaliVirgul tarafından 22/Haz/18 10:11 tarihinde düzenlenmiştir

    If my calculations are correct, when this baby hits eighty-eight miles per hour... you"re gonna see some serious shit.
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    DevilKingtr
    DevilKingtr's avatar
    Kayıt Tarihi: 19/Mayıs/2010
    Erkek
    AMpul bunu yazdı

    Yuce programlama dili go ile 5 dk lik is :)

    Exe link: https://s3.us-east-2.amazonaws.com/dodotahribat/watch.7z
    Password: tahribat

    Kod:

    package main
    
    import (
        "fmt"
        "net/smtp"
        "os"
    )
    
    func main() {
        var pid int
        var user, pass, recp string
    
        fmt.Printf("Process ID : ")
        fmt.Scanf("%d\n", &pid)
        proc, err := os.FindProcess(pid)
        if err != nil {
            fmt.Println("Cannot find process.")
            return
        }
        fmt.Printf("Sender     : ")
        fmt.Scanln(&user)
        fmt.Printf("Password   : ")
        fmt.Scanln(&pass)
        fmt.Printf("Recipient  : ")
        fmt.Scanln(&recp)
    
        fmt.Printf("\nWaiting for %d...\n", pid)
        proc.Wait()
        fmt.Println(pid, "Terminated. Sending e-mail...")
    
        smtp.SendMail(
            "smtp.gmail.com:587",
            smtp.PlainAuth("", user, pass, "smtp.gmail.com"),
            user,
            []string{recp},
            []byte("Subject: Process Terminated\r\n\r\n"))
    }

    Kullanim:

    1) gonderen gmail olmak zorunda, aksi halde sendmail deki smtp adresini degistirip yeniden derlemen lazim. alici herhangi bir mail olabilir.

    2) process id yerine process adi yapmadim cunku chrome gibi ayni isimde 144545 process olabilir, PID ise sadece 1 tane var. Eger pid i nasil bulacagini bilmiyorsan, taskmgr yerine resource monitor'u ac o gosteriyor, ya da taskmgr de view/select column kismindan pid i ekleyebilirsin.

    3) id sini verdigin process kapandiginda alici olarak verdigin email'e Process Terminated diye bos mail gider, istersen yine kodu editleyip maili guzellestirebilirsin.

    sen nasıl bir varlıksın dede helal !...

    edit:bu arada resource monitöre run / resmon.exe yaparak ulaşabilirsiniz...

     

    DevilKingtr tarafından 22/Haz/18 10:40 tarihinde düzenlenmiştir

    Viski var önlerinde , Ne içen dediler ? ırakı dedim ben https://www.kisa.link/QobI
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    sunyy2003
    sunyy2003's avatar
    Kayıt Tarihi: 20/Ağustos/2005
    Erkek
    MhmdAlmz bunu yazdı
    sunyy2003 bunu yazdı
    AMpul bunu yazdı

     

    Vurdu gol oldu

     

    Go ne hocam

    Programlama dili

    Affet ilk kez duydum


    tek bir an var ATA mın diz çöktüğü çalar harmandalı zeybek oynar bu dilden firar eden her söz yaydan çıkmış ok gibi (sagopa kajmer) Sago sıcak ekmek üzerine bal kaymak. "Bla bla" larını tartıda tartar bakkal aylak. Aşkın bir sabunsa köpürt beni Pentax
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    SerYolcu
    SerYolcu's avatar
    Kayıt Tarihi: 14/Ocak/2010
    Erkek
    AMpul bunu yazdı

    Kod:

    package main
    
    import (
        "fmt"
        "net/smtp"
        "os"
    )
    
    func main() {
        var pid int
        var user, pass, recp string
    
        fmt.Printf("Process ID : ")
        fmt.Scanf("%d\n", &pid)
        proc, err := os.FindProcess(pid)
        if err != nil {
            fmt.Println("Cannot find process.")
            return
        }
        fmt.Printf("Sender     : ")
        fmt.Scanln(&user)
        fmt.Printf("Password   : ")
        fmt.Scanln(&pass)
        fmt.Printf("Recipient  : ")
        fmt.Scanln(&recp)
    
        fmt.Printf("\nWaiting for %d...\n", pid)
        proc.Wait()
        fmt.Println(pid, "Terminated. Sending e-mail...")
    
        smtp.SendMail(
            "smtp.gmail.com:587",
            smtp.PlainAuth("", user, pass, "smtp.gmail.com"),
            user,
            []string{recp},
            []byte("Subject: Process Terminated\r\n\r\n"))
    }

       Benim burada sormak istediğim bir husus var,

      main () fonksiyonunda hafızasında Process Id si verilen işlemi sürekli mi tarıyor bu program ?

     Yani şöyle sorayım. main fonksiyonu sonsuz döngüye girmiş şekilde mi process id sini tarıyor ?

     Sonsuz döngüye girmiş şekilde hafızadaki process id sini tarayan bir program eninde sonunda sistemin yavaşlamasına sebep olmaz mı ?

     @AmPul dan cevap bekliyorum..


    Ondan çocuk olmamıştır (Kimsenin babası değildir). Kendisi de doğmamıştır (kimsenin çocuğu değildir). İhlas Suresi 3 üncü ayette bunlar yazar.
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Mad Scientist
    AMpul
    AMpul's avatar
    Kayıt Tarihi: 31/Aralık/2009
    Erkek

    @SerYolcu, sonsuz dongu filan yok, kodda da yok arka planda da yok. 

     Yukaridaki program cross platform, yani linux ya da mac'de de direkt derlenip kullanilabilir, ama windows icin arka planda olan sey su.

    OpenProcess ile process aciliyor ve WaitForSingleObject ile process handle'inda bekleniyor, process terminate olursa handle signaled duruma geldigi icin WaitForSingleObject sonlaniyor, program da mail gonderiyor.

    Her hangi bir programlama dilinde bu iki api ile yazilabilir, Go ile yazma sebebim aslinda tls ile mail gondermenin cok kolay olmasi.


    What I cannot create, I do not understand. — Richard Feynman
Toplam Hit: 2598 Toplam Mesaj: 16
kapanan uygulama mail atan