Αυτό εννοείται, δεν χρειάζεται καν να το αναφέρεις ως συμπέρασμα!
Η προστασία της μνήμης είναι ένα από τα πιο θεμελιώδη χαρακτηριστικά ενός σύγχρονου λειτουργικού.
Δεν είμαι σίγουρος 100%, αλλά μου ακούγεται λογικό να υπάρχει κάποιο access bit,και μάλιστα τα processes πρέπει να έχουν και κάποιο access bit enabled προκειμένου να διαβαστούν οι μνήμες τους...σωστά??
Εμφάνιση 16-23 από 23
-
23-01-11, 16:22 Απάντηση: RAM manipulation...(και πώς..) #16
-
23-01-11, 19:37 Απάντηση: RAM manipulation...(και πώς..) #17
Όμορφα...αλλά τότε πως λειτουργούν προγράμματα όπως το memdump που κοπιάρουν ολόκληρη τη RAM??
η ακόμα καλύτερα τέτοια προγράμματα http://www.windowscarepro.com/memory...mate/index.htm που ισχυρίζονται ότι ελευθερώνουν wasted space...?
Διαβάζοντας "wasted space" μου έρχονται απευθείας στο μυαλό κάποια temp files που μπορεί να υπάρχουν στη RAM...αλλά εφόσον αυτά τα temp files δεν είναι κάποιο process για να έχουν ID, τότε πως τα προσπελαύνει ένα τέτοιο πρόγραμμα?
-
23-01-11, 21:35 Απάντηση: RAM manipulation...(και πώς..) #18
Το εν λογο προγραμμα, κατα τι γνωμη μου (που επηρεαζεται απο το ollydbg) χρησιμοποιοι ενα μιξ απο WMI (εφοσον το CoIniz εμφανιζεται μετα του showwindow αρα δε κανει χρηση atl/mfc ξερω γω καποιο fw για gui). Συν οτι χρησιμοποιει καποιες συναρτησεις απο το Virtual Memory Functions (που δεν εχω ιδεα τι ειναι).
Συμπερασμα:
Κατα 90%: Οι πληροφοριες που παιρνει για τις διεργασιες (ονομα, μνημη, cpu, και βαλε) τις παιρνει απο το WMI εφοσον ειναι αρκετα ευκολο.
Κατα 60%: Τις λειτουργιες του προγραμματος ( που λεει οτι κανει) τις κανει με το Virtual Memory Functions
Φυσικα υπαρχουν και κατι dll αλλα ειναι COM και ετσι δεν μπορω να τα περασω απο το ollydbg (δεν ξερω πως κανεις dbg καποιο com)
-
24-01-11, 02:44 Απάντηση: RAM manipulation...(και πώς..) #19
Χμμμ(ξανά)...στο link για τα virtual memory functions που δίνεις το πρώτο πράγμα που αναφέρει είναι αυτό:
"The virtual memory functions enable a process to manipulate or determine the status of pages in its virtual address space. They can perform the following operations:..."
Επιπλέον βρήκα και αυτό:
Memory protection που στην αρχή αναφέρει ότι η μνήμη των processes είναι προστατευμένη! Επομένως δεν είναι δυνατόν κάποιο πρόγραμμα να χρησιμοποιήσει τα Virtual Memory Function για να controllάρει μνήμη άλλων διεργασιών...
Το μόνο function που βρήκα και θα μπορούσε (πιθανώς) να μεταβάλλει τα δεδομένα μνήμης κάποιου άλλου process είναι το File Mapping και αυτό μόνο αν το process για το οποίο ενδιαφερόμαστε έχει κάνει mapping κάποιο file στη μνήμη...
Τα Virtual memory functions απόσο διαβάζω είναι ιδιαιτέρως χρήσιμα αλλά μόνο για την process η οποία τα χρησιμοποιεί!
Επομένως ένα trainer που ανέφερε και ο φίλος karnage θα μπορούσε θεωρητικά να δουλέψει μόνο με κάποιου είδους file mapping! Σωστά...?
Επιπλέον το WMI που αναφέρεις απ'όσο διαβάζω είναι διαχειριστικό tool..!Θα μπορούσε να βρεί και να εμφανίσει πληροφορίες του τι γίνεται...αλλα όχι να πειράξει τη μνήμη
-Με άλλα λόγια βλέπω ότι μόνο με openProcess ίσως να μπορούσαμε θεωρητικά να "πειράξουμε" τη μνήμη ενός process αλλα το ερώτημα είναι αν θα μπορούσε να γραφτεί ένα πρόγραμμα που να στοχεύει μνήμη "στο γάμο του καραγκιόζη" και να τη μεταβάλλει... Μπορεί θεωρητικά να γίνει κάτι τέτοιο? Και αν ναί πως?
-Και επιτέλους ποια είναι η αρχή λειτουργίας αυτών των memory improvement προγραμμάτων απο τη στιγμή που υπάρχει memory protection απο το λειτουργικό?Τελευταία επεξεργασία από το μέλος bicco : 24-01-11 στις 02:56. Αιτία: Μικροδιορθώσεις
-
24-01-11, 04:37 Απάντηση: RAM manipulation...(και πώς..) #20
Τι να σου πω, εγω απλος εκανα ενα dump τα calls του προγραμματος που ανεφερες. Τεσπα αν δε βρεις κατι σε user mode τοτε παρε καποιο προγραμμα του τυπου deepfreeze και πειραματισου με kernel mode (drivers)
-
24-01-11, 19:02 Απάντηση: RAM manipulation...(και πώς..) #21
Φίλε bicco αν και για να είμαι ειλικρινής δεν διάβασα όλα τα post, θα ήθελα να σου πω πως το API ενός λειτουργικού είναι αρκετά μεγάλο και χρειάζεται να διαβάσεις το documentation (και ενδεχομένως μερικά βιβλία) για να δεις πως γίνεται τι.
Π.χ. ρωτάς πως λειτουργεί ένα πρόγραμμα που λέει πως καθαρίζει τη μνήμη. Δεν έχει νόημα να κάνουμε αυθαίρετες υποθέσεις ... ότι μάλλον υπάρχουν temp files και με κάποιο τρόπο χωρίς PID τα βρίσκει και τα καθαρίζει. Μπορεί το λειτουργικό να αποδεσμεύει τη μνήμη με κάποια λογική κατά περιόδους (όπως ένας garbage collector) και αυτό το πρόγραμμα απλά να αναγκάζει τη ρουτίνα του λειτουργικού να τρέξει.
Όπως και να έχει τα πράγματα που εγώ ξέρω για τα 32bit Windows είναι πως :
Κάθε εφαρμογή έχει 4GB διαθέσιμη εικονική RAM
Κάθε εφαρμογή έχει δικό της address space και δεν έχει καμία σχέση η εκάστοτε θέση μνήμης με αυτή μιας άλλης εφαρμογής ακόμα και αν έχουν την ίδια διεύθυνση.
Για να διαβάσεις σε user mode τη μνήμη μια εφαρμογής απλά χρειάζεσαι τα WINAPI OpenProcess ReadProcess κλπ.
Για να διαβάσεις σε kernel mode τη μνήμη υπάρχει αντίστοιχο API αλλά δεν είναι τόσο απλουστευμένο. Πρέπει να ξέρεις αν είναι paged αυτό που θες να διαβάσεις, αν είναι όντως στη RAM ή στο swap και άλλα πολλά.
Γιατί δεν ψάχνεις να διαβάσεις λίγο το WDF (KMDF και UMDF πλέον). Για ότι άλλο εδώ είμαστε ... όποιος ξέρει να πει.
-
30-01-11, 01:42 Απάντηση: RAM manipulation...(και πώς..) #22
Χμμμ...αρκετά ενδιαφέρον..!Πιστεύω ότι ακόμα και μια υπόθεση σαν τη παραπάνω μου αρκεί! Δεν ενδιαφέρομαι να πειράξω πρακτικά τη RAM κανενός προγράμματος ούτε να ασχοληθώ με τόσο low-level ρουτίνες... οι ερωτήσεις μου βασίζονται σε απλή περιέργια και αναρωτιέμαι αν μπορώ να δώσω μια -λογική- εξήγηση στον εαυτό μου για 5 πράγματα που παρατηρώ..!
Στη συγκεκριμένη περίπτωση δεν είχα ιδέα..!
Και για να είμαι ειλικρινής φίλε karnage τα trainers ούτε καν τα είχα σκεφτεί και αν δε τα ανέφερες σε προηγούμενο post σου τώρα η κουβέντα δε θα είχε πάρει αυτή τη μορφή
Εν τι αύτη περιπτώση βλέπω ότι το θέμα είναι αρκετά μπερδεμένο και επιπλέον καθορίζεται και ανάλογα με το εκάστοτε λειτουργικό..!Φαντάζομαι σε linux τα πράγματα πάλι θα αλλάζουν..!
Και πάλι ένα μεγάλο ευχαριστώ σε όλους για τον χρόνο σας!
Εις το επανιδείν!
-
21-02-11, 17:47 Απάντηση: RAM manipulation...(και πώς..) #23
Τώρα αυτό που λέω μπορεί να είναι και εντελώς λάθος μιας και δεν έχω ασχοληθεί με το θέμα. Λογικά σε kernel mode θα υπάρχουν συναρτήσεις διαχείρησης της μνήμης, κάνωντας hook μια απο αυτές ίσως να μπορούσες και εσύ να παρέμβεις στις διάφορες θέσεις μνήμης.
Παρόμοια Θέματα
-
Προσθήκη Μνήμης RAM .... Τι ; Πως ; και από Που ;
Από kerkiss στο φόρουμ Συνθέσεις Η/Υ και αναβαθμίσειςΜηνύματα: 9Τελευταίο Μήνυμα: 02-12-09, 17:05 -
Πως να εγκαταστησω RAM και Εthernet?
Από clyde στο φόρουμ Motherboards, CPU και memoryΜηνύματα: 10Τελευταίο Μήνυμα: 06-10-06, 19:08 -
Πως θα δω τι μνημη RAM έχω?
Από HaileGbrselasie στο φόρουμ Motherboards, CPU και memoryΜηνύματα: 8Τελευταίο Μήνυμα: 04-10-06, 21:38 -
Πώς βρίσκουμε τα timings της RAM
Από zeibekis στο φόρουμ Motherboards, CPU και memoryΜηνύματα: 6Τελευταίο Μήνυμα: 28-08-06, 22:00
Bookmarks