Sprawdzanie który plik został otwarty przez program

dział ogólny

Sprawdzanie który plik został otwarty przez program

Nowy postprzez Koziol » niedziela, 18 października 2009, 17:46

Witam,
przeczytałem kurs na temat keyloggera (http://www.cyfbar.republika.pl/api4.html#api4) i zastanawie mnie czy i jak istnieje możliwość sprawdzania który plik został otwarty przez program?
np:

2007-05-13 10:00:09 [run] Microsoft Word
2007-05-13 10:00:50 [open] Microsoft Word="c:/asd.doc"
2007-05-13 10:01:00 [save] Microsoft Word="c:/asd.doc"
Avatar użytkownika
Koziol
Intelektryk
Intelektryk
 
Posty: 144
Dołączył(a): niedziela, 13 lipca 2008, 17:36
Podziękował : 8
Otrzymał podziękowań: 2
System operacyjny: Windows XP Pro SP2
Kompilator: C++ Builder
    NieznanyNieznana

Re: Sprawdzanie który plik został otwarty przez program

Nowy postprzez Cyfrowy Baron » niedziela, 18 października 2009, 20:51

Jest to możliwe, aczkolwiek ja nie wiem jeszcze jak to zrobić. Na pewno trzeba pobrać uchwyt do procesu, a potem uzyskać informacje na jego temat. Pomocna może być tutaj porada Wyliczanie aktywnych procesów w systemie.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4719
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    NieznanyNieznana

Re: Sprawdzanie który plik został otwarty przez program

Nowy postprzez Koziol » poniedziałek, 19 października 2009, 00:07

Doczytałem że można to zrobić przez SQL injection, a wikipedia podpowiedziała mi:

"DLLs listed under the registry key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows\AppInit_DLLs will be loaded into every process that links to User32.dll as that DLL attaches itself to the process."

Teraz pytanie brzmi czy każdy program ładuje User32.dll (mi bardziej chodzi o programy w stylu PakietOffice, AutoCAD etc ogólnie aplikacje biurowe)?

I w jaki sposób napisać ową biblioteke?
Avatar użytkownika
Koziol
Intelektryk
Intelektryk
 
Posty: 144
Dołączył(a): niedziela, 13 lipca 2008, 17:36
Podziękował : 8
Otrzymał podziękowań: 2
System operacyjny: Windows XP Pro SP2
Kompilator: C++ Builder
    NieznanyNieznana

Re: Sprawdzanie który plik został otwarty przez program

Nowy postprzez Cyfrowy Baron » poniedziałek, 19 października 2009, 08:36

"DLLs listed under the registry key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows\AppInit_DLLs will be loaded into every process that links to User32.dll as that DLL attaches itself to the process."


Znaczy mniej więcej tyle:

DLLs przechowywany w kluczu HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows\AppInit_DLLs będzie ładował się do każdego procesu, który łączy się za pomocą User32.dll, ponieważ ten DLL dołącza siebie do procesów.

U mnie jest to biblioteka programu antywirusowego.

Nie wiem co kombinujesz, ale to nie jest to czego oczekujesz.

Przecież napisałem. Program musi pobrać uchwyt do procesu aplikacji, tak jak opisałem to w poradach, wyliczanie aktywnych procesów i zamykanie procesów. Środowisko C++Builder oferuje gotowe struktury, które zwrócą informacje o procesie. W poradzie Wyliczanie aktywnych procesów w systemie Windows oprócz nazwy procesu procesu, kod pobiera lokalizację procesu (ścieżkę dostępu), czyli już pobiera jakąś informację o procesie. W poradzie Zamykanie procesów kod pobiera nazwę okna procesu oraz jego ID. Tak więc modyfikując te porady i stosując odpowiednią strukturę można pobrać więcej informacji o procesach.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4719
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    NieznanyNieznana

Re: Sprawdzanie który plik został otwarty przez program

Nowy postprzez Koziol » poniedziałek, 19 października 2009, 08:44

Problem w tym ze na forum MSDN powiedzieli że Windows nie oferuje takiej wersji hook'a czyt. nie da sie sprawdzić który plik został zapisany badź otwarty przez program. A metodą podaną przeze mnie - dorzucenie kolejnego pliku dll do tego klucza - dało by się (tak mi się wydaje) kontrolować to co robi aplikacja. Ale nie za bardzo wiem jak się za to zabrać :(
Avatar użytkownika
Koziol
Intelektryk
Intelektryk
 
Posty: 144
Dołączył(a): niedziela, 13 lipca 2008, 17:36
Podziękował : 8
Otrzymał podziękowań: 2
System operacyjny: Windows XP Pro SP2
Kompilator: C++ Builder
    NieznanyNieznana

Re: Sprawdzanie który plik został otwarty przez program

Nowy postprzez Cyfrowy Baron » poniedziałek, 19 października 2009, 09:12

Da się. Używam programu Total Commander UP i on podaje dokładne informacje o procesach, w tym informacje o plikach otwartych przez proces. TC UP nie ładuje żadnych DLL-i w podanym kluczu i wogóle nie podłącza się do aktywnych procesów, jestem pewien, że się nie podłącza, bo program antywirusowy blokuje i zgłasza każdą próbę użycia keylogera, czy też próbę podpięcia się procesu pod inny proces, a sprawdzanie procesów przez TC UP nie wywołuje żadnej reakcji w programie antywirusowym.

Sposób polegający na pobraniu uchwytu do procesu, nie polega na przechwytywaniu haków, lecz na pobraniu uchwytu do procesu, a następnie pobraniu informacji o tym procesie, to nie ma nic wspólnego z hakami systemowymi, jeżeli tego nie rozumiesz, to nie napiszesz tego programu. Przecież w podanych poradach program jest w stanie pobrać informacje o procesach, ale to ile informacji pobierze zależy od funkcji i struktur, które wykorzystasz do pobrania tych informacji.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4719
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    NieznanyNieznana

Re: Sprawdzanie który plik został otwarty przez program

Nowy postprzez Koziol » środa, 21 października 2009, 14:55

Przeszukując MSDN niestety nie udało mi się nic znaleźć. Google też nic nie powiedział.

Miał byś może pomysł gdzie dokładniej tego poszukać? Bo tak prawde mówiąc szukanie tego bez pomysłu "gdzie", to jak szukanie igły w stogu siana...
Avatar użytkownika
Koziol
Intelektryk
Intelektryk
 
Posty: 144
Dołączył(a): niedziela, 13 lipca 2008, 17:36
Podziękował : 8
Otrzymał podziękowań: 2
System operacyjny: Windows XP Pro SP2
Kompilator: C++ Builder
    NieznanyNieznana

Re: Sprawdzanie który plik został otwarty przez program

Nowy postprzez polymorphism » środa, 21 października 2009, 15:29

TU masz jakieś info.
C++ Reference - opis wszystkich klas STL-a i funkcji C.

Za ten post autor polymorphism otrzymał podziękowania - 3:
Cyfrowy Baron, Koziol, Witold
Avatar użytkownika
polymorphism
Doświadczony Programista ● Moderator
Doświadczony Programista ● Moderator
 
Posty: 2157
Dołączył(a): piątek, 19 grudnia 2008, 13:04
Podziękował : 0
Otrzymał podziękowań: 200
System operacyjny: Windows 8.1
Windows 10
Linux Mint 19
Kompilator: Visual Studio
Visual Studio Code
MSYS2 (MinGW, clang)
g++
clang
Gadu Gadu: 0
    NieznanyNieznana

Re: Sprawdzanie który plik został otwarty przez program

Nowy postprzez Witold » środa, 21 października 2009, 17:45

polymorphism napisał(a):TU masz jakieś info.


Działa, nawet nie wiedziałem że tego potrzebuje. Nie mój temat, ale podziękuje.
Avatar użytkownika
Witold
Konstrukcjonista
Konstrukcjonista
 
Posty: 223
Dołączył(a): piątek, 29 sierpnia 2008, 10:53
Podziękował : 1
Otrzymał podziękowań: 14
Kompilator: bcb6, Turbo C++ Explorer
    NieznanyNieznana

Re: Sprawdzanie który plik został otwarty przez program

Nowy postprzez Koziol » środa, 21 października 2009, 22:13

polymorphism napisał(a):TU masz jakieś info.


Zaraz na to zerkne ;)
Mi teżu dało się znaleźć coś ciekawego przeszukując CodeProject: http://www.codeproject.com/KB/shell/Ope ... x3189175xx

Za ten post autor Koziol otrzymał podziękowanie od:
Cyfrowy Baron
Avatar użytkownika
Koziol
Intelektryk
Intelektryk
 
Posty: 144
Dołączył(a): niedziela, 13 lipca 2008, 17:36
Podziękował : 8
Otrzymał podziękowań: 2
System operacyjny: Windows XP Pro SP2
Kompilator: C++ Builder
    NieznanyNieznana


Powrót do Ogólne problemy z programowaniem

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 11 gości

cron