ntaryl Δημοσ. 6 Απριλίου 2009 Δημοσ. 6 Απριλίου 2009 καλησπερα Προσπαθω να καταλαβω τον τροπο που ο Explorer εμφανιζει η κρυβει τα αρχεια παν τα βεβαια με χρηση των FindFirstfile,Findnextfile μπορει καποιος να με διαφωτισει ετσι ωστε να το καταλαβω ευχαριστω πολυ υ.γ Παντα σε Visual basic
georgemarios Δημοσ. 6 Απριλίου 2009 Δημοσ. 6 Απριλίου 2009 δε ξερω αν καταλαβα την ερωτηση αλλα..... ο explorer δεν εμφανιζει τα αρχεια (ή φακελους) που εχουν ενεργοποιημενο το attribute hidden στη vb, η εντρολη για να σεταρεις το file attribute ειναι η SetAttr αν λοιπον ορισεις ως hidden το αρχειο, απλα δεν θα φαινεται εκτος και αν ρωτας αλλο πραγμα PS δεν ξερω vb
PCharon Δημοσ. 6 Απριλίου 2009 Δημοσ. 6 Απριλίου 2009 Σε περίπτωση που ρωτάς άλλο πράγμα από το παραπάνω που εξηγεί ο georgemarios, να σημειώσω πως τα FindFirstfile,Findnextfile (τουλάχιστον από τη C/C++ που τα ξέρω) δεν επηρεάζονται από τις ιδιότητες των αρχείων, τα δίνουν όλα.
m1cRo Δημοσ. 7 Απριλίου 2009 Δημοσ. 7 Απριλίου 2009 Σε περίπτωση που ρωτάς άλλο πράγμα από το παραπάνω που εξηγεί ο georgemarios, να σημειώσω πως τα FindFirstfile,Findnextfile (τουλάχιστον από τη C/C++ που τα ξέρω) δεν επηρεάζονται από τις ιδιότητες των αρχείων, τα δίνουν όλα. Όχι δεν τον καταλάβατε θέλει να hookarei την FindFileNext για να διαμορφώσει τα αποτελέσματα που θα βγάλει ,έτσι για παράδειγμα όταν θα βλέπει το αρχείο του η FindFileNext να τρέχει 2 φορες με αποτέλεσμα να πηδάει πέρα από αυτό χωρίς να γυρίσει το αποτέλεσμα .Το πρόβλημα είναι το εξής : Ntaryl είσαι σίγουρος ότι FindFileNext είναι υπεύθυνη για την αναζήτηση αρχείων από το explorer?? Έχεις τις απαραίτητες γνώσεις για να κανεις debug και να δεις τι πάει στραβά??? Στο είπα και στο άλλο forum VB με system programming δεν πάνε μαζί .
PCharon Δημοσ. 7 Απριλίου 2009 Δημοσ. 7 Απριλίου 2009 Ααα, μάλιστα! Καλά όντως δε μου πέρασε από το μυαλό αυτό που εννοούσε, βοήθησε η λέξη hook όμως. είσαι σίγουρος ότι FindFileNext είναι υπεύθυνη για την αναζήτηση αρχείων από το explorer? Ναι βρε συ! Απλά δεν είναι γραμμένο σε VB... (λες να έχουν τίποτα περίεργα μέσα? δε νομίζω)
ntaryl Δημοσ. 8 Απριλίου 2009 Μέλος Δημοσ. 8 Απριλίου 2009 Ευχαριστω πολυ παιδια Νομιζω οτι αυτη ευ8υνεται . καλο απογευμα
m1cRo Δημοσ. 9 Απριλίου 2009 Δημοσ. 9 Απριλίου 2009 Ευχαριστω πολυ παιδια Νομιζω οτι αυτη ευ8υνεται . καλο απογευμα Επειδή την έχω δοκιμάσει σε διαβεβαιώνω ότι τουλάχιστον στα Vista δεν ευθύνεται αυτή για εύρεση αρχείων .Το πρόβλημα σου που σου προκαλεί σφάλμα πρέπει να είναι το εξής : υπάρχουν 2 εκδοχές της FinFileNext η πρώτη είναι FindFileNextA και η δεύτερη FindFileNextW ,η πρώτη είναι φτιαγμένη για απλά strings ενώ η δεύτερη για unicode ,ίσος κανεις hook την unicode string και στην συνάρτηση σου καλείς την απλή FindFileNext που by default είναι FindFileNextA .Αν δεν την καλείς και αυτό πιθανότατα να οδηγήσει σε σφάλματα .Στο DOS που δοκίμασα δούλεψε η FindFileNextW και έκρυψα το φιλε .Το explorer κάνει κάτι άλλο .
Directx Δημοσ. 9 Απριλίου 2009 Δημοσ. 9 Απριλίου 2009 Από περιέργεια για δείτε και την FindFirstFileExW. Από εκεί και πέρα.. για ρίξτε μια ματιά και στο Ntdll.dll που είναι συνήθης ύποπτος (και ο Kernel32 το έχει σε μεγάλη υπόληψη, τουλάχιστον στα XP SP3)
ntaryl Δημοσ. 10 Απριλίου 2009 Μέλος Δημοσ. 10 Απριλίου 2009 Ευχαριστω παιδια Directx = Δεν θελω να φτασω σε επιπεδο NtQuerySytemdirectory . Δουλευω σε Winxp sp1- sp3 . file m1cRo θα το τσεκαρω με την πρωτη ευκαιρια.Εγω κανω Ηοοκ την unicode αλλα μαλλον καλω την πλοεπιλεγμενη. Μπορεις να εξηγησεις πως υλοποιησες την συναρτησης επιστροφης ? θα με βοηθησει αρκετα να καταλαβω και να υλοποιησω την δικη μου καλο απογευμα
m1cRo Δημοσ. 10 Απριλίου 2009 Δημοσ. 10 Απριλίου 2009 Ευχαριστω παιδια Directx = Δεν θελω να φτασω σε επιπεδο NtQuerySytemdirectory . Δουλευω σε Winxp sp1- sp3 . file m1cRo θα το τσεκαρω με την πρωτη ευκαιρια.Εγω κανω Ηοοκ την unicode αλλα μαλλον καλω την πλοεπιλεγμενη. Μπορεις να εξηγησεις πως υλοποιησες την συναρτησης επιστροφης ? θα με βοηθησει αρκετα να καταλαβω και να υλοποιησω την δικη μου καλο απογευμα > BOOL _stdcall Hook_Kernel32_FindNextFileW::myFindNextFileW(HANDLE hFindFile,LPWIN32_FIND_DATAW lpFindFileDataW){ BOOL result=FindNextFileW(hFindFile,lpFindFileDataW); //MyCode here------------------------------------ MessageBoxW(0,lpFindFileDataW->cFileName,L"OK",0); //----------------------------------------------- return result; }
ntaryl Δημοσ. 10 Απριλίου 2009 Μέλος Δημοσ. 10 Απριλίου 2009 ευχαριστω πολυ Θα προσπαθησω να την φερω οσο πιο κοντα σε Vbasic ετσι ωστε να μπορεσω να την καταλαβω καλο βραδυ
Directx Δημοσ. 10 Απριλίου 2009 Δημοσ. 10 Απριλίου 2009 Ευχαριστω παιδια Directx = Δεν θελω να φτασω σε επιπεδο NtQuerySytemdirectory . Ok.. (απλά για την ιστορία μιας και το κοίταζα χθες .. η NtQuerySystemDirectory καλεί έμμεσα την ZwQueryDirectoryFile η οποία καταλήγει σε KiFastSystemCall το οποίο κάνει dispatch το αίτημα του Ring 3 σε Ring 0 μέσο SYSENTER ώστε να διεκπεραιωθεί η επικοινωνία μεταξύ User & Kernel Mode File System driver). Καλή συνέχεια!!
ntaryl Δημοσ. 11 Απριλίου 2009 Μέλος Δημοσ. 11 Απριλίου 2009 Γμτ Κανω inject την Dll αλλα μου βγαζει μηνυμα οτι δεν υπαρχει δυνατοτητα εγγραφης μνημης μλκ εκανα
m1cRo Δημοσ. 12 Απριλίου 2009 Δημοσ. 12 Απριλίου 2009 Γμτ Κανω inject την Dll αλλα μου βγαζει μηνυμα οτι δεν υπαρχει δυνατοτητα εγγραφης μνημης μλκ εκανα Δες την VirtualProtect .
digimyth Δημοσ. 14 Απριλίου 2009 Δημοσ. 14 Απριλίου 2009 Χαιρετώ Στη Visual Basic 6 που ξέρω καλά υπάρχει μια συνάρτηση που λέγεται GetAttr. Αυτή παίρνει τις ιδιότητες ενός αρχείου... Επίσης υπάρχει και η SetAttr που θέτει ιδιότητες ενός αρχείου και μπορείς να το κάνεις κρυφό, μόνο για ανάγνωση κτλ. Συντάσσεται ως εξής: >[b]GetAttr( PathName As String ) As VbFileAttribute SetAttr( PathName As String, Attributes As VbFileAttribute )[/b] πχ SetAttrApp.Path & "\" & Hello.txt, vbHidden + vbReadOnly Επίσης δεν χρειάζεται να εισάγεις καμιά extra βιβλιοθήκη για να τις χρησιμοποιήσεις. Ελπίζω να βοήθησα έστω λίγο...
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.