folder Tahribat.com Forumları
linefolder Yazılımlar / Diğer Programlar
linefolder Programların Açılış Kapanış Saatlerini Takip Etme



Programların Açılış Kapanış Saatlerini Takip Etme

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    yunusemre
    yunusemre's avatar
    Kayıt Tarihi: 22/Ağustos/2016
    Erkek

    Merhaba,

    Çalıştırılan uygulamaların hangi saatlerde açılıp, kapandığını denetleyip log tutabilecek bir yazılım arıyorum,

    xxx.exe - açıldı: 12:10 - kapandı: 12:30 

    gibi.

    Bildiğiniz bu tarz bi program var mı? Sevgiler.


    "Programcılar saatler boyunca çalışmak zorunda kalmalarına engel olacak sistemler tasarlamaya saatler boyunca uğraşırlar." David Allen
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Amatör Üye
    masteryoda
    masteryoda's avatar
    Kayıt Tarihi: 15/Mayıs/2012
    Erkek

    tüm uygulamaların mı yoksa beli başlı uygulamalarınmı?

  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    yunusemre
    yunusemre's avatar
    Kayıt Tarihi: 22/Ağustos/2016
    Erkek

    Tümüde olabilir isimleri verilenlerde olabilir hocam. Seçilenler olursa daha iyi olur ama 


    "Programcılar saatler boyunca çalışmak zorunda kalmalarına engel olacak sistemler tasarlamaya saatler boyunca uğraşırlar." David Allen
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    cybermole
    cybermole's avatar
    Kayıt Tarihi: 29/Mart/2016
    Erkek

    windowsun event viwere mi ne vardi sanirim yonetimsel araclarda ordan gorunuodu pcye gecince bakayim

  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Mad Scientist
    AMpul
    AMpul's avatar
    Kayıt Tarihi: 31/Aralık/2009
    Erkek

    Program varmi bilmem ama nasil yapilabilecegini anlatabilirim.

    En mantikli yontem psSetCreateProcessNotifyRoutine ile bir callback set etmek, boylece her process baslarken sizin fonksiyonunuz cagirilir, isterseniz engelleyebilirsiniz, tum antivirusler bunu kullaniyor, ama kernel mod oldugu icin driversiz mumkun degil.

    User modda yontem her process'e dll inject edip CreateProcess'i hooklamak, bu da bence pis bir is ve gereksiz boyle basit bir sey icin.

    Kolaya kacarak %90 calisan ama isini gorecek pragmatik bir yontem, her saniye process listesini alip eski listede olmayanlari "started", eskisinde olup yenisinde olmayanlari "stopped" olarak loglamak.

    Bir saniye sleep arasinda baslayip kapanan processleri loglamaz haliyle ama %99 isini gorur. Asagidaki ufak program bunu yapiyor. Calistiginda bulundugu dizine proclog.txt diye bir dosya acip icine loglari yaziyor.

    Link: https://s3.us-east-2.amazonaws.com/dodotahribat/proclog.7z

    Password: tahribat

    Program penceresiz oldugu icin kapatmak icin gorev yoneticisinden bulup kapatirsin.

    Kod;

    #include <stdio.h>
    #include <time.h>
    #include <windows.h>
    #include <tlhelp32.h>
    
    typedef struct node node;
    
    struct node {
        char name[256];
        node *next;
    };
    
    void *emalloc(int n)
    {
        void *p = calloc(1, n);
        if (p == NULL) {
            exit(1);
        }
        return p;
    }
    
    void freelist(node *list)
    {
        if (list == NULL) {
            return;
        }
        freelist(list->next);
        free(list);
    }
    
    void diff(node *a, node *b, char *msg)
    {
        node *p, *q;
        for (p = a; p != NULL; p = p->next) {
            int found = 0;
            for (q = b; q != NULL; q = q->next) {
                if (strcmp(p->name, q->name) == 0) {
                    found = 1;
                    break;
                }
            }
            if (!found) {
                time_t t;
                time(&t);
                char buf[128];
                strftime(buf, sizeof(buf), "%d.%m.%y %H:%M", localtime(&t));
                printf("%s\t%s\t%s\n", buf, p->name, msg);
            }
        }
    }
    
    node *proclist(void)
    {
        HANDLE hSnap;
        PROCESSENTRY32 pe32;
        node *root = NULL;
    
        hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
        if (hSnap == INVALID_HANDLE_VALUE) {
            return NULL;
        }
        pe32.dwSize = sizeof(pe32);
        if (!Process32First(hSnap, &pe32)) {
            CloseHandle(hSnap);
            return NULL;
        }
        
        node *proc = root = emalloc(sizeof(node));
        strcpy(proc->name, pe32.szExeFile);
    
        while (Process32Next(hSnap, &pe32)) {
            proc->next = emalloc(sizeof(node));
            strcpy(proc->next->name, pe32.szExeFile);
            proc = proc->next;
        }
        CloseHandle(hSnap);
        return root;
    }
    
    int main()
    {
        FILE *f = freopen("proclog.txt", "wb", stdout);
        if (f == NULL) {
            return 1;
        }
    
        node *proc = proclist();
    
        for (;;) {
            node *new = proclist();
            diff(new, proc, "started");
            diff(proc, new, "stopped");
            freelist(proc);
            proc = new;
            fflush(f);
            Sleep(1000);
        }
        return 0;
    }

     


    What I cannot create, I do not understand. — Richard Feynman
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    yunusemre
    yunusemre's avatar
    Kayıt Tarihi: 22/Ağustos/2016
    Erkek

    @cybermole

    olay görüntüleyicisini kurcaladımda hocam istediğimiz gibi rapor veren biyer göremedim

     

    AMpul bunu yazdı

    Program varmi bilmem ama nasil yapilabilecegini anlatabilirim.

    En mantikli yontem psSetCreateProcessNotifyRoutine ile bir callback set etmek, boylece her process baslarken sizin fonksiyonunuz cagirilir, isterseniz engelleyebilirsiniz, tum antivirusler bunu kullaniyor, ama kernel mod oldugu icin driversiz mumkun degil.

    User modda yontem her process'e dll inject edip CreateProcess'i hooklamak, bu da bence pis bir is ve gereksiz boyle basit bir sey icin.

    Kolaya kacarak %90 calisan ama isini gorecek pragmatik bir yontem, her saniye process listesini alip eski listede olmayanlari "started", eskisinde olup yenisinde olmayanlari "stopped" olarak loglamak.

    Bir saniye sleep arasinda baslayip kapanan processleri loglamaz haliyle ama %99 isini gorur. Asagidaki ufak program bunu yapiyor. Calistiginda bulundugu dizine proclog.txt diye bir dosya acip icine loglari yaziyor.

    Link: https://s3.us-east-2.amazonaws.com/dodotahribat/proclog.7z

    Password: tahribat

    Program penceresiz oldugu icin kapatmak icin gorev yoneticisinden bulup kapatirsin.

    Kod;

    #include 
    #include 
    #include 
    #include 
    
    typedef struct node node;
    
    struct node {
        char name[256];
        node *next;
    };
    
    void *emalloc(int n)
    {
        void *p = calloc(1, n);
        if (p == NULL) {
            exit(1);
        }
        return p;
    }
    
    void freelist(node *list)
    {
        if (list == NULL) {
            return;
        }
        freelist(list->next);
        free(list);
    }
    
    void diff(node *a, node *b, char *msg)
    {
        node *p, *q;
        for (p = a; p != NULL; p = p->next) {
            int found = 0;
            for (q = b; q != NULL; q = q->next) {
                if (strcmp(p->name, q->name) == 0) {
                    found = 1;
                    break;
                }
            }
            if (!found) {
                time_t t;
                time(&t);
                char buf[128];
                strftime(buf, sizeof(buf), "%d.%m.%y %H:%M", localtime(&t));
                printf("%s\t%s\t%s\n", buf, p->name, msg);
            }
        }
    }
    
    node *proclist(void)
    {
        HANDLE hSnap;
        PROCESSENTRY32 pe32;
        node *root = NULL;
    
        hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
        if (hSnap == INVALID_HANDLE_VALUE) {
            return NULL;
        }
        pe32.dwSize = sizeof(pe32);
        if (!Process32First(hSnap, &pe32)) {
            CloseHandle(hSnap);
            return NULL;
        }
        
        node *proc = root = emalloc(sizeof(node));
        strcpy(proc->name, pe32.szExeFile);
    
        while (Process32Next(hSnap, &pe32)) {
            proc->next = emalloc(sizeof(node));
            strcpy(proc->next->name, pe32.szExeFile);
            proc = proc->next;
        }
        CloseHandle(hSnap);
        return root;
    }
    
    int main()
    {
        FILE *f = freopen("proclog.txt", "wb", stdout);
        if (f == NULL) {
            return 1;
        }
    
        node *proc = proclist();
    
        for (;;) {
            node *new = proclist();
            diff(new, proc, "started");
            diff(proc, new, "stopped");
            freelist(proc);
            proc = new;
            fflush(f);
            Sleep(1000);
        }
        return 0;
    }

     

    üstad bitanesin. tamda bu basitlikte birşey bakıyorduk uğramışsın kod yazan ellerin dert görmesin..

     


    "Programcılar saatler boyunca çalışmak zorunda kalmalarına engel olacak sistemler tasarlamaya saatler boyunca uğraşırlar." David Allen
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    asi27
    asi27's avatar
    Kayıt Tarihi: 28/Mart/2012
    Erkek

    bu kernal mod dediğimiz nedir, neden tercih ediliyor? 


    BİZDE BİLİRİZ BİR KALBİN EN DERİN YERLERİNE İZ BIRAKMASINI,ŞAYET FARKINDA OLMASAYDIK YÜREĞİMİZDEKİ TAHRİBAT'IN...!
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    asi27
    asi27's avatar
    Kayıt Tarihi: 28/Mart/2012
    Erkek

    bu kernal mod dediğimiz nedir, neden tercih ediliyor? 


    BİZDE BİLİRİZ BİR KALBİN EN DERİN YERLERİNE İZ BIRAKMASINI,ŞAYET FARKINDA OLMASAYDIK YÜREĞİMİZDEKİ TAHRİBAT'IN...!
  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Mad Scientist
    AMpul
    AMpul's avatar
    Kayıt Tarihi: 31/Aralık/2009
    Erkek
    asi27 bunu yazdı

    bu kernal mod dediğimiz nedir, neden tercih ediliyor? 

    Islemcinin bir calisma modu. Isletim sistemi ve driverlar bu modda calisir. Hic bir kisitlama olmadan tum bellege, aygitlara ve ozel islemci komutlarina erisebilir.

    Antivirusler tabii ki normal programlar uzerinde tam yetki sahibi olmak icin kullaniyor, aygit ureticileri cihazlarini yonetmek icin kullaniyor, bunun disinda amaclarla da kullanilabilir, mesela yeni bir dosya sistemini sisteme tanitmak icin, ya da transparan dosya sifreleme vb isler icin.

    Yeni islemcilerde bir de hypervisor mod var, sanal makinalar icin gelistirildi, isletim sistemi nasil programlari denetliyorsa bu modda isletim sistemlerini denetliyor.


    What I cannot create, I do not understand. — Richard Feynman
Toplam Hit: 1726 Toplam Mesaj: 9
yazılım program denetleme