Προς το περιεχόμενο

Εμφανιση και Κρυψιμο αρχειων


ntaryl

Προτεινόμενες αναρτήσεις

Δημοσ.

καλησπερα

Προσπαθω να καταλαβω τον τροπο που ο Explorer εμφανιζει η κρυβει τα αρχεια

παν τα βεβαια με χρηση των FindFirstfile,Findnextfile

μπορει καποιος να με διαφωτισει ετσι ωστε να το καταλαβω

ευχαριστω πολυ

 

 

υ.γ Παντα σε Visual basic

Δημοσ.

δε ξερω αν καταλαβα την ερωτηση αλλα.....

 

ο explorer δεν εμφανιζει τα αρχεια (ή φακελους) που εχουν ενεργοποιημενο το attribute hidden

 

στη vb, η εντρολη για να σεταρεις το file attribute ειναι η SetAttr

αν λοιπον ορισεις ως hidden το αρχειο, απλα δεν θα φαινεται

 

εκτος και αν ρωτας αλλο πραγμα

 

PS δεν ξερω vb

Δημοσ.

Σε περίπτωση που ρωτάς άλλο πράγμα από το παραπάνω που εξηγεί ο georgemarios, να σημειώσω πως τα FindFirstfile,Findnextfile (τουλάχιστον από τη C/C++ που τα ξέρω) δεν επηρεάζονται από τις ιδιότητες των αρχείων, τα δίνουν όλα.

Δημοσ.
Σε περίπτωση που ρωτάς άλλο πράγμα από το παραπάνω που εξηγεί ο georgemarios, να σημειώσω πως τα FindFirstfile,Findnextfile (τουλάχιστον από τη C/C++ που τα ξέρω) δεν επηρεάζονται από τις ιδιότητες των αρχείων, τα δίνουν όλα.

 

Όχι δεν τον καταλάβατε θέλει να hookarei την FindFileNext για να διαμορφώσει τα αποτελέσματα που θα βγάλει ,έτσι για παράδειγμα όταν θα βλέπει το αρχείο του η FindFileNext να τρέχει 2 φορες με αποτέλεσμα να πηδάει πέρα από αυτό χωρίς να γυρίσει το αποτέλεσμα .Το πρόβλημα είναι το εξής : Ntaryl είσαι σίγουρος ότι FindFileNext είναι υπεύθυνη για την αναζήτηση αρχείων από το explorer?? Έχεις τις απαραίτητες γνώσεις για να κανεις debug και να δεις τι πάει στραβά??? Στο είπα και στο άλλο forum VB με system programming δεν πάνε μαζί .

Δημοσ.

Ααα, μάλιστα! Καλά όντως δε μου πέρασε από το μυαλό αυτό που εννοούσε, βοήθησε η λέξη hook όμως.

 

είσαι σίγουρος ότι FindFileNext είναι υπεύθυνη για την αναζήτηση αρχείων από το explorer?

Ναι βρε συ! Απλά δεν είναι γραμμένο σε VB...

(λες να έχουν τίποτα περίεργα μέσα? δε νομίζω)

Δημοσ.
Ευχαριστω πολυ παιδια

Νομιζω οτι αυτη ευ8υνεται .

καλο απογευμα

 

Επειδή την έχω δοκιμάσει σε διαβεβαιώνω ότι τουλάχιστον στα Vista δεν ευθύνεται αυτή για εύρεση αρχείων .Το πρόβλημα σου που σου προκαλεί σφάλμα πρέπει να είναι το εξής : υπάρχουν 2 εκδοχές της FinFileNext η πρώτη είναι FindFileNextA και η δεύτερη FindFileNextW ,η πρώτη είναι φτιαγμένη για απλά strings ενώ η δεύτερη για unicode ,ίσος κανεις hook την unicode string και στην συνάρτηση σου καλείς την απλή FindFileNext που by default είναι FindFileNextA .Αν δεν την καλείς και αυτό πιθανότατα να οδηγήσει σε σφάλματα .Στο DOS που δοκίμασα δούλεψε η FindFileNextW και έκρυψα το φιλε .Το explorer κάνει κάτι άλλο .

Δημοσ.

Από περιέργεια για δείτε και την FindFirstFileExW.

 

Από εκεί και πέρα.. για ρίξτε μια ματιά και στο Ntdll.dll που είναι συνήθης ύποπτος (και ο Kernel32 το έχει σε μεγάλη υπόληψη, τουλάχιστον στα XP SP3) ;)

Δημοσ.

Ευχαριστω παιδια

Directx = Δεν θελω να φτασω σε επιπεδο NtQuerySytemdirectory .

Δουλευω σε Winxp sp1- sp3 .

file m1cRo θα το τσεκαρω με την πρωτη ευκαιρια.Εγω κανω Ηοοκ την unicode αλλα μαλλον καλω την πλοεπιλεγμενη.

Μπορεις να εξηγησεις πως υλοποιησες την συναρτησης επιστροφης ?

θα με βοηθησει αρκετα να καταλαβω και να υλοποιησω την δικη μου

καλο απογευμα

Δημοσ.
Ευχαριστω παιδια

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;
}

Δημοσ.

ευχαριστω πολυ

Θα προσπαθησω να την φερω οσο πιο κοντα σε Vbasic

ετσι ωστε να μπορεσω να την καταλαβω

καλο βραδυ

Δημοσ.
Ευχαριστω παιδια

Directx = Δεν θελω να φτασω σε επιπεδο NtQuerySytemdirectory .

 

Ok.. (απλά για την ιστορία μιας και το κοίταζα χθες .. η NtQuerySystemDirectory καλεί έμμεσα την ZwQueryDirectoryFile η οποία καταλήγει σε KiFastSystemCall το οποίο κάνει dispatch το αίτημα του Ring 3 σε Ring 0 μέσο SYSENTER ώστε να διεκπεραιωθεί η επικοινωνία μεταξύ User & Kernel Mode File System driver).

 

Καλή συνέχεια!! :)

Δημοσ.

Γμτ

Κανω inject την Dll αλλα μου βγαζει μηνυμα οτι δεν υπαρχει δυνατοτητα εγγραφης μνημης

μλκ εκανα

Δημοσ.
Γμτ

Κανω inject την Dll αλλα μου βγαζει μηνυμα οτι δεν υπαρχει δυνατοτητα εγγραφης μνημης

μλκ εκανα

 

Δες την VirtualProtect .

Δημοσ.

Χαιρετώ

 

Στη 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 βιβλιοθήκη για να τις χρησιμοποιήσεις.

 

Ελπίζω να βοήθησα έστω λίγο...:-)

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...