Exe fájlformátum és a loader

Méret: px
Mutatás kezdődik a ... oldaltól:

Download "Exe fájlformátum és a loader"

Átírás

1 Exe fájlformátum és a loader Kódvisszafejtés. Izsó Tamás december 3. Izsó Tamás Exe fájlformátum és a loader/ 1

2 Section 1 PE/COFF Izsó Tamás Exe fájlformátum és a loader/ 2

3 Exe file leképzése a memóriába Unmapped Data.reloc section... section... section.rdata section.rdata section.data section.data section.text section.text section SECTION HEADERS SECTION HEADERS PE HEADER PE HEADER DOS HEADER DOS HEADER Növekvő file offset Növekvő memória cím Izsó Tamás Exe fájlformátum és a loader/ 3

4 Portable Executable fájl DOS operációs rendszerrel kompatibilis, figyelmeztető üzenetet ad, ha nem futtatható DOS alatt a program. A PE fájl eleje megegyezik a MZ végrehajtható fájlformátummal. DLL hívást támogatja. Az exe és a DLL azonos szerkezetű. A DLL fájlokat sokszor más kiterjesztéssel használják, pl. OCX, CPL Alpha, MIPS és.net MSIL végrehajtható fájlformátuma is egyben. 64 bites programok hasonló formában vannak tárolva, egyes helyeken a 32 bitet 64 bites adatok váltották fel. PE32+ elnevezést kapta. Izsó Tamás Exe fájlformátum és a loader/ 4

5 Relative Virtual Address (RVA) A futtatható fájlt a loader nem másolja be a memóriába, hanem az egyes szekciókat memory mapped file-ként kezeli. A fájlban tárolt szekciók 512-vel (0x200) osztható byte határon kezdődnek, míg a memóriában új lapra kerülnek, ahol egy lap 4Kbyte (vagy 8 Kbyte). Ezért a fájl adott tartalma a fájl elejétől más távolságra van, mint ugyanez az adat a memóriába a program elejétől számítva. RVA kiszámítása A memóriában lévő címek a betöltés helyétől függetlenül vannak megadva. Ha egy cím a 0x4010DA címen szerepel és a program képe a 0x címtől kezdve lett betöltve, akkor a relatív virtuális cím (RVA): RVA = 0x4010DA 0x = 0x10DA Izsó Tamás Exe fájlformátum és a loader/ 5

6 Exe file dumpja : 4D 5A FF FF MZ... DOS HEADER : B : : C : 0E 1F BA 0E 00 B4 09 CD 21 B8 01 4C CD L..Th : F D E 6E 6F is.program.canno : E E F t.be.run.in.dos : 6D 6F E 0D 0D 0A mode : C9 B5 76 DC 8D D4 18 8F 8D D4 18 8F 8D D4 18 8F..v : 84 AC 8B 8F 8E D4 18 8F 8D D4 19 8F 8F D4 18 8F A0: 84 AC 9B 8F 8C D4 18 8F 84 AC 89 8F 8C D4 18 8F... NT HEADER B0: D D4 18 8F Rich C0: C C 0B A PE..L...P D0: E B E0: F0: : IMAGE : OPTIONAL : : HEADER : 0C : : IMAGE : DATA : DIRECTORY : C A0: B0: E text C0: 2A D0: E0: 2E C rdata F0: : : : : SECTION : TABLE : : : : : A0: B0: C0: D0: E0: F0: : : : : : : : : : : A0: text B0: adatok C0: D0: E0: F0: : 55 8B EC 51 6A 04 6A 03 FF C4 U..Qj.j : FC 8B 45 FC 50 FF C4..E..E.P : 04 B B E5 5D C : : : : : : : A0: B0: C0: D0: E0: F0: : : : : : : : : : : A0: B0: C0: D0: E0: F0: : 4C L : R : : C L : E F 6E Function...Ad : C 63 2E 64 6C 6C d.calc.dll : : : : A0: B0: C0: D0: E0: F0: 00.rdata : : 00 adatok : : : : : : : : A0: B0: C0: D0: E0: F0: Izsó Tamás Exe fájlformátum és a loader/ 6

7 DOS HEADER typedef struct _IMAGE_DOS_HEADER { / / DOS.EXE header WORD e_magic ; / / Magic number WORD e_cblp ; / / Bytes on l a s t page of f i l e WORD e_cp ; / / Pages i n f i l e WORD e _ crlc ; / / Relocations WORD e_cparhdr ; / / Size of header i n paragraphs WORD e_minalloc ; / / Minimum e x t r a paragraphs needed WORD e_maxalloc ; / / Maximum e x t r a paragraphs needed WORD e_ss ; / / I n i t i a l ( r e l a t i v e ) SS value WORD e_sp ; / / I n i t i a l SP value WORD e_csum ; / / Checksum WORD e_ip ; / / I n i t i a l IP value WORD e_cs ; / / I n i t i a l ( r e l a t i v e ) CS value WORD e _ l f a r l c ; / / F i l e address of r e l o c a t i o n t a b l e WORD e_ovno ; / / Overlay number WORD e_res [ 4 ] ; / / Reserved words WORD e_oemid ; / / OEM i d e n t i f i e r ( f o r e_oeminfo ) WORD e_oeminfo ; / / OEM i n f o r m a t i o n ; e_oemid s p e c i f i c WORD e_res2 [ 1 0 ] ; / / Reserved words LONG e_lfanew ; / / F i l e address of new exe header } IMAGE_DOS_HEADER, PIMAGE_DOS_HEADER; Izsó Tamás Exe fájlformátum és a loader/ 7

8 DOS HEADER tartalma Két érdemi részt tartalmaz: 1 e_magic értéke "MZ" (Mark Zbikowski) 2 e_lfanew file offset, a PE header-re mutat. DOS_HEADER után kis DOS program következik. A PE rész közvetlenűl ez után, 8-cal osztható címre igazítva található. Izsó Tamás Exe fájlformátum és a loader/ 8

9 DOS header dumpja : 4D 5A FF FF MZ : B : : C : 0E 1F BA 0E 00 B4 09 CD 21 B8 01 4C CD L.. T h : F D E 6E 6F i s. p r o g r a m. c a n n o : E E F t. b e. r u n. i n. D O S : 6D 6F E 0D 0D 0A m o d e : C9 B5 76 DC 8D D4 18 8F 8D D4 18 8F 8D D4 18 8F.. v : 84 AC 8B 8F 8E D4 18 8F 8D D4 19 8F 8F D4 18 8F A0 : 84 AC 9B 8F 8C D4 18 8F 84 AC 89 8F 8C D4 18 8F B0 : D D4 18 8F R i c h C0 : C C 0B A PE.. L P D0 : E B E0 : PE kezdete NT header DOS header Izsó Tamás Exe fájlformátum és a loader/ 9

10 NT HEADER typedef s t r u c t _IMAGE_NT_HEADERS { DWORD Signature ; / / "PE" IMAGE_FILE_HEADER FileHeader ; IMAGE_OPTIONAL_HEADER32 OptionalHeader ; } IMAGE_NT_HEADERS32, PIMAGE_NT_HEADERS32; Izsó Tamás Exe fájlformátum és a loader/ 10

11 NT header dumpja DOS header : 4D 5A FF FF MZ : B : : C : 0E 1F BA 0E 00 B4 09 CD 21 B8 01 4C CD L.. T h : 69 Intel later 70 72processors 6F D E 6E 6F i s. p r o g r a m. c a n n o : 74 and20 compatible processors6f 75 6E E F t. b e. r u n. i n. D O S E 0D 0D 0A m o d e : 6D : C9 B5 76 DC 8D D4 18 8F 8D D4 18 8F 8D D4 18 8F.. v : signature 84 AC 8B 8F 8E D4 18 8F 8D D4 19 8F 8F D4 18 8F A0 : 84 AC 9B 8F 8C 2D4 section szimbólumtáblára 18 8F 84 AC 89 8F 8C D4 18 8F B0 : D D4 18 8F időbélyeg mutató pointer R i c h C0 : C C 0B A PE.. L P D0 : E B E0 : Szimbólumok száma Opcionális header mérete IMAGE_FILE_EXECUTABLE_IMAGE IMAGE_FILE_RELOCS_STRIPPED NT header Izsó Tamás Exe fájlformátum és a loader/ 11

12 IMAGE FILE HEADER typedef s t r u c t _IMAGE_FILE_HEADER { WORD Machine ; WORD NumberOfSections ; DWORD TimeDateStamp ; DWORD PointerToSymbolTable ; DWORD NumberOfSymbols ; WORD SizeOfOptionalHeader ; WORD C h a r a c t e r i s t i c s ; } IMAGE_FILE_HEADER, PIMAGE_FILE_HEADER ; Izsó Tamás Exe fájlformátum és a loader/ 12

13 IMAGE OPTIONAL HEADER standard mezők typedef s t r u c t _IMAGE_OPTIONAL_HEADER { WORD Magic ; BYTE MajorLinkerVersion ; BYTE MinorLinkerVersion ; DWORD SizeOfCode ; DWORD S i z e O f I n i t i a l i z e d D a t a ; DWORD S i z e O f U n i n i t i a l i z e d D a t a ; DWORD AddressOfEntryPoint ; DWORD BaseOfCode ; DWORD BaseOfData ; Izsó Tamás Exe fájlformátum és a loader/ 13

14 IMAGE OPTIONAL HEADER NT specifikus mezők DWORD ImageBase ; DWORD SectionAlignment ; DWORD FileAlignment ; WORD MajorOperatingSystemVersion ; WORD MinorOperatingSystemVersion ; WORD MajorImageVersion ; WORD MinorImageVersion ; WORD MajorSubsystemVersion ; WORD MinorSubsystemVersion ; DWORD Win32VersionValue ; DWORD SizeOfImage ; DWORD SizeOfHeaders ; DWORD CheckSum ; WORD Subsystem ; WORD D l l C h a r a c t e r i s t i c s ; DWORD SizeOfStackReserve ; DWORD SizeOfStackCommit ; DWORD SizeOfHeapReserve ; DWORD SizeOfHeapCommit ; DWORD LoaderFlags ; DWORD NumberOfRvaAndSizes ; IMAGE_DATA_DIRECTORY DataDirectory [IMAGE_NUMBEROF_DIRECTORY_ENTRIES ] ; } IMAGE_OPTIONAL_HEADER32, PIMAGE_OPTIONAL_HEADER32; Izsó Tamás Exe fájlformátum és a loader/ 14

15 Optional header dumpja.data mérete.bbs mérete program belépési pontja RVA PE32.text mérete Kód címe RVA NT HEADER C0: C C 0B A PE..L...P D0: E B E0: F0: : IMAGE : : 00 adat címe00 image betőltési OPTIONAL címhatárra file 00 offset : 00 RVA címe HEADER igazítás határra igazítás : 0C : : IMAGE : DATA : DIRECTORY : C A0: B0: E text... Izsó Tamás Exe fájlformátum és a loader/ 15

16 SECTION TABLE A section táblák kezdete: psectiontable = &NtHeader. OptionalHeader + NtHeader. FileHeader. SizeOfOptionalHeader ; typedef struct _IMAGE_SECTION_HEADER { BYTE Name[ IMAGE_SIZEOF_SHORT_NAME ] ; / / s e c t i o n neve union { DWORD PhysicalAddress ; DWORD V i r t u a l S i z e ; / / l e f o g l a l t méret } Misc ; DWORD VirtualAddress ; / / RVA DWORD SizeOfRawData ; / / adatok tényleges mérete DWORD PointerToRawData ; DWORD PointerToRelocations ; DWORD PointerToLinenumbers ; WORD NumberOfRelocations ; WORD NumberOfLinenumbers ; DWORD C h a r a c t e r i s t i c s ; } IMAGE_SECTION_HEADER, PIMAGE_SECTION_HEADER; Izsó Tamás Exe fájlformátum és a loader/ 16

17 SECTION TABLE dumpja opcionális header mérete + section tábla kezdete opcionális header kezdete NT HEADER C0: C C 0B A PE..L...P D0: E B E0: F0: : IMAGE : OPTIONAL : : HEADER : 0C : : section név IMAGE : DATA : DIRECTORY : C A0: B0: E text C0: 2A D0: E0: 2E C rdata F0: : : : mérete a 00 fájlban : SECTION adatok méret : helye 00 a TABLE : fájlban : cím (RVA) : : : A0: B0: C0: D0: E0: F0: : : : : : : : : : : A0: text B0: adatok C0: D0: E0: F0: : 55 8B EC 51 6A 04 6A 03 FF C4 U..Qj.j : FC 8B 45 FC 50 FF C4..E..E.P : 04 B B E5 5D C : : : : : : : : : : : A0: B0: C0: D0: E0: F0: : 4C L : R : : C L : E F 6E Function...Ad : C 63 2E 64 6C 6C d.calc.dll : : : : A0: B0: C0: D0: E0: F0: 00.rdata : : 00 adatok : : : : : : : : A0: B0: C0: D0: E0: F0: Izsó Tamás Exe fájlformátum és a loader/ 17

18 IMAGE DATA DIRECTORY 16 db bejegyzés typedef s t r u c t _IMAGE_DATA_DIRECTORY { DWORD V i r t u a l A d d r e s s ; DWORD Size ; } IMAGE_DATA_DIRECTORY, PIMAGE_DATA_DIRECTORY; Izsó Tamás Exe fájlformátum és a loader/ 18

19 IMAGE DATA Bejegyzések 16 db bejegyzés 0 Export Table dll.edata Section 1 Import Table dll.idata 2 Resource Table.rsrc Section 3 Exception Table.pdata Section 4 Certificate Table 5 Base Relocation Table.reloc Section 6 Debug.debug Section 7 Architecture Specific Data reserved 0 8 Global Ptr 9 TLS Directory 10 Load Configuration Directory 11 Bound Import 12 IAT import address table 13 Delay Load Import Descriptors 14 CLR Runtime descriptor 15 reserved 0 Izsó Tamás Exe fájlformátum és a loader/ 19

20 IMAGE DATA kikeresése a SECTION TABLE-ban A section tábla kezdete a memóriában (RVA): PIMAGE_SECTION_HEADER getsectionhdr ( DWORD rva ) { PIMAGE_SECTION_HEADER section = IMAGE_FIRST_SECTION( pntheader ) ; unsigned i ; for ( i =0; i < pntheader >FileHeader. NumberOfSections ; i ++, section ++) { DWORD size = section >Misc. VirtualSize ; / / Is the RVA within t h i s section? i f ( ( rva >= section >V i r t u a l A d d r e s s ) && ( rva < ( section >VirtualAddress + size ) ) ) return section ; } return 0; } A section tábla kezdete a fájlban (offset): DWORD GetOffsetFromRVA ( DWORD rva, PIMAGE_SECTION_HEADER psectionhdr ) { / / rva = 0x200C / / Dumpban 0x2000 0x600, d e l t a = 0x0C DWORD delta = rva psectionhdr >VirtualAddress ; return delta + psectionhdr >PointerToRawData ; / / 0x60C } Izsó Tamás Exe fájlformátum és a loader/ 20

21 EXPORT DIRECTORY Entry typedef s t r u c t _IMAGE_EXPORT_DIRECTORY { DWORD C h a r a c t e r i s t i c s ; / / Set 0 DWORD TimeDateStamp ; WORD MajorVersion ; / / User s e t WORD MinorVersion ; / / User s e t DWORD Name; / / DLL name (RVA) DWORD Base ; DWORD NumberOfFunctions ; DWORD NumberOfNames ; DWORD AddressOfFunctions ; / / EAT (RVA) DWORD AddressOfNames ; / / RVA DWORD AddressOfNameOrdinals ; / / RVA } IMAGE_EXPORT_DIRECTORY, PIMAGE_EXPORT_DIRECTORY; Izsó Tamás Exe fájlformátum és a loader/ 21

22 IMPORT DIRECTORY DATA dumpja NT HEADER C0: C C 0B A PE..L...P D0: E B E0: F0: : IMAGE : OPTIONAL : : HEADER : 0C : : IMAGE IMPORT SECTION : IMPORT SECTION DATA : 00 RVA MÉRET DIRECTORY : C A0: section név B0: E text C0: 2A D0: E0: 2E C rdata F0: : : cím (RVA) : : SECTION adatok méret : TABLE : mérete a 00 fájlban : : helye a : fájlban : A0: B0: C0: D0: E0: F0: : : : : : : : : : : : : : : : A0: B0: C0: D0: E0: F0: : 4C L : R : : C L : E F 6E Function...Ad : C 63 2E 64 6C 6C d.calc.dll : : : : A0: B0: C0: D0: E0: F0: 00.rdata : : 00 adatok : : : : : : : Izsó Tamás Exe fájlformátum és a loader/ 22

23 IMAGE IMPORT DESCRIPTOR typedef struct _IMAGE_IMPORT_DESCRIPTOR { union { DWORD C h a r a c t e r i s t i c s ; DWORD O r i g i n a l F i r s t T h u n k ; / / RVA to o r i g i n a l unbound IAT } DUMMYUNIONNAME; DWORD TimeDateStamp ; / / 0 i f not bound, DWORD ForwarderChain ; / / 1 i f no forwarders DWORD Name; DWORD FirstThunk ; / / RVA to IAT } IMAGE_IMPORT_DESCRIPTOR; typedef s t r u c t _IMAGE_IMPORT_BY_NAME { WORD Hint ; BYTE Name [ 1 ] ; } IMAGE_IMPORT_BY_NAME, PIMAGE_IMPORT_BY_NAME; Izsó Tamás Exe fájlformátum és a loader/ 23

24 IMPORT TABLE Hint Name Table IMAGE_IMPORT _BY_NAME 44 GetMessage Import Address Table IMAGE IMPORT DESCRIPTOR OriginalFirstThunk TimeDateStamp ForwarderChain Name FirstThunk USER32.DLL 72 LoadIcon 19 TranslateMessage 95 IsWindow További DLL-ek leírása Izsó Tamás Exe fájlformátum és a loader/ 24

25 IMPORT TABLE : : : : rdata A0: adatok B0: C0: D0: OriginalFirstThunk E0: F0: : 4C L : R : : C L : E F 6E Function...Ad : C 63 2E 64 6C 16C d.calc.dll : : Ordinal : : Name (RVA) Name (RVA) FirstThunk A0: B0: C0: D0: Importált E0: szimbólum F0: : (függvény) neve Izsó Tamás Exe fájlformátum és a loader/ 25

26 IMPORT TABLE program indítása után a memóriában R C L E F 6E F u n c t i o n.... A d C 63 2E 64 6C 6C d. c a l c. d l l Izsó Tamás Exe fájlformátum és a loader/ 26

27 DLL-ben lévő függvény hívása PUSH EBP BEC MOV EBP, ESP PUSH ECX A 04 PUSH A 03 PUSH FF CALL DWORD PTR DS:[ <& calc.add >] E 83C4 08 ADD ESP, FC MOV DWORD PTR SS : [ LOCAL.1 ],EAX B45 FC MOV EAX,DWORD PTR SS : [ LOCAL.1 ] PUSH EAX FF CALL DWORD PTR DS:[ <& calc. Function >] E 83C4 04 ADD ESP, B MOV EAX, BE5 MOV ESP,EBP D POP EBP C3 RETN Izsó Tamás Exe fájlformátum és a loader/ 27

28 DLL tartalma PUSH EBP BEC MOV EBP,ESP B45 08 MOV EAX,DWORD PTR SS : [ EBP+8] C ADD EAX,DWORD PTR SS : [ EBP+0C] D POP EBP A C3 RETN PUSH EBP BEC MOV EBP,ESP B45 08 MOV EAX,DWORD PTR SS : [ EBP+8] B45 0C SUB EAX,DWORD PTR SS : [ EBP+0C] D POP EBP A C3 RETN PUSH EBP BEC MOV EBP,ESP B45 08 MOV EAX,DWORD PTR SS : [ EBP+8] FAF45 0C IMUL EAX,DWORD PTR SS : [ EBP+0C] A 5D POP EBP B C3 RETN PUSH EBP BEC MOV EBP,ESP B45 08 MOV EAX,DWORD PTR SS : [ EBP+8] PUSH EAX C00010 PUSH OFFSET 1000C000 ; ASCII " P r i n t f from DLL %d " C E8 7F CALL C C4 08 ADD ESP, D POP EBP C3 RETN Izsó Tamás Exe fájlformátum és a loader/ 28

29 Importált függvények címének feloldása A program a dll-ben lévő Add() függvényt a címen a CALL [ ] utasítással hívja meg. Az indirekten hívott függvény címét az Import Address Table (IAT) tárolja. A fordító a declspec(dllimport) int Add(int,int) ; függvény tárolási osztály módosító hatására generál optimálisabb kódot. Ha nem adjuk meg, akkor a CALL XXXXXXXX utasításnak meg kellene hívni egy thunk kódot, ami megoldja a DLL-ben lévő függvény hívását. A fordító egy imp Add szimbólumot is generál, amely egy pointer, és az IAT táblában foglal helyet. A loadernek a betöltésnél csak az IAT-t kell megváltoztatni. A függvényeket nemcsak név, hanem sorszám (ordinal number) alapján is meg lehet hívni. Izsó Tamás Exe fájlformátum és a loader/ 29

30 Optimalizálatlan DLL függvényhívás Ha a főprogramban nem használjuk a declspec(dllimport) függvény tárolási osztály módosítót, ekkor a következő nem annyira hatékony kód keletkezik: PUSH EBP BEC MOV EBP,ESP PUSH ECX A 04 PUSH A 03 PUSH E CALL <JMP.&calc.Add > ; Jump to calc.add D 83C4 08 ADD ESP, FC MOV DWORD PTR SS : [ LOCAL.1 ],EAX B45 FC MOV EAX,DWORD PTR SS : [ LOCAL.1 ] PUSH EAX E8 0C CALL <JMP.&c a l c. F u n c t i o n > ; Jump to c a l c. F u n c t i o n C 83C4 04 ADD ESP, F B MOV EAX, BE5 MOV ESP,EBP D POP EBP C3 RETN $ FF JMP DWORD PTR DS:[ <& calc. Function >] E $ FF JMP DWORD PTR DS:[ <& calc.add >] Izsó Tamás Exe fájlformátum és a loader/ 30

31 BIND utility Bind.Exe -v -u test_implicit.exe BIND: test_implicit.exe - Imports from calc.dll BIND: test_implicit.exe - Add Bound to BIND: test_implicit.exe - Function Bound to BIND: Details of binding of test_implicit.exe Import from calc.dll [50a80afb] : : FF FF FF FF FF FF FF FF R : : C L : E F 6E F u n c t i o n.... A d : C 63 2E 64 6C 6C d. c a l c. d l l A Bind utility feloldja az IAT táblában levő címeket. Hogyan lehetséges ez? A program relokálása a virtuális memóriakezelés által hardware szintű támogatást kap. Az időbélyeg és az Image Bound Import Descriptor (lásd az irodalmat) alapján a loader megbízhatóan el tudja dönteni, hogy a DLL fájl újra lett linkelve. Izsó Tamás Exe fájlformátum és a loader/ 31

32 Irodalom 1 Matt Pietrek An In-Depth Look into the Win32 Portable Executable File Format com/en-us/magazine/bb aspx 2 Matt Pietrek Peering Inside the PE: A Tour of the Win32 Portable Executable File Format com/en-us/magazine/ms aspx 3 Microsoft PE and COFF Specification. microsoft.com/en-us/library/windows/hardware/ gg aspx Izsó Tamás Exe fájlformátum és a loader/ 32

Exe fájlformátum loader linker

Exe fájlformátum loader linker Exe fájlformátum loader linker Kód visszafejtés. Izsó Tamás 2016. december 1. Izsó Tamás Exe fájlformátum loader linker/ 1 Section 1 Linker és Loader Izsó Tamás Exe fájlformátum loader linker/ 2 Több modulból

Részletesebben

Programok működése dióhéjban

Programok működése dióhéjban Programok működése dióhéjban Intel x68 Izsó Tamás 2015. október 30. Izsó Tamás Programok működése dióhéjban/ 1 Section 1 Fordítás Izsó Tamás Programok működése dióhéjban/ 2 authenticate.c 1 // cl /GS-

Részletesebben

PE/COFF fájl formátum

PE/COFF fájl formátum PE/COFF fájl formátum Kód visszafejtés. Izsó Tamás 2013. december 5. Izsó Tamás PE/COFF fájl formátum/ 1 Szimbólumtábla A programozási nyelvekben az típusokra, adatokra, függvényekre, ugrási címekre szimbólikus

Részletesebben

Stack Vezérlés szerkezet Adat 2.

Stack Vezérlés szerkezet Adat 2. Stack Vezérlés szerkezet Adat 2. Kód visszafejtés. Izsó Tamás 2013. november 14. Izsó Tamás Stack Vezérlés szerkezet Adat 2./ 1 Változó típusú paraméterekátadása 1. #include < s t d i o. h> int64 myfunc

Részletesebben

Assembly Rekurzív függvények, EXE, C programok. Iványi Péter

Assembly Rekurzív függvények, EXE, C programok. Iványi Péter Assembly Rekurzív függvények, EXE, C programok Iványi Péter Algoritmusok előadás Rekurzív függvény FÜGGVÉNY nyomtat(n) print n HA n!= 0 nyomtat(n-1) ELÁGAZÁS VÉGE FÜGGVÉNY VÉGE Rekurzív függvény org 100h

Részletesebben

Programozás alapjai. 10. előadás

Programozás alapjai. 10. előadás 10. előadás Wagner György Általános Informatikai Tanszék Pointerek, dinamikus memóriakezelés A PC-s Pascal (is) az IBM PC memóriáját 4 fő részre osztja: kódszegmens adatszegmens stackszegmens heap Alapja:

Részletesebben

Máté: Assembly programozás

Máté: Assembly programozás Dr. Máté Eörs docens Képfeldolgozás és Számítógépes Grafika Tanszék Árpád tér 2. II. em. 213 6196, 54-6196 (6396, 54-6396) http://www.inf.u-szeged.hu/~mate Tantárgy leírás: http://www.inf.u-szeged.hu/oktatas/kurzusleirasok/

Részletesebben

Biztonságos programozás Puffer túlcsordulásos támadások

Biztonságos programozás Puffer túlcsordulásos támadások Biztonságos programozás Puffer túlcsordulásos támadások Intel x68 Izsó Tamás 2015. október 5. Izsó Tamás Biztonságos programozás Puffer túlcsordulásos támadások/ 1 Section 1 Puffer túlcsordulás sebezhetőség

Részletesebben

Biztonságos programozás Puffer túlcsordulásos támadások

Biztonságos programozás Puffer túlcsordulásos támadások Biztonságos programozás Puffer túlcsordulásos támadások Intel x68 Izsó Tamás 2015. október 13. Izsó Tamás Biztonságos programozás Puffer túlcsordulásos támadások/ 1 Section 1 Támadások Izsó Tamás Biztonságos

Részletesebben

Mi az assembly? Gyakorlatias assembly bevezető. Sokféle assembly van... Mit fogunk mi használni? A NASM fordítóprogramja. Assembly programok fordítása

Mi az assembly? Gyakorlatias assembly bevezető. Sokféle assembly van... Mit fogunk mi használni? A NASM fordítóprogramja. Assembly programok fordítása Mi az assembly Gyakorlatias assembly bevezető Fordítóprogramok előadás (A, C, T szakirány) programozási nyelvek egy csoportja gépközeli: az adott processzor utasításai használhatóak általában nincsenek

Részletesebben

A 32 bites x86-os architektúra regiszterei

A 32 bites x86-os architektúra regiszterei Memória címzési módok Jelen nayagrészben az Intel x86-os architektúrára alapuló 32 bites processzorok programozását tekintjük. Egy program futása során (legyen szó a program vezérléséről vagy adatkezelésről)

Részletesebben

Intel x86 utasításkészlet + disassembler működése

Intel x86 utasításkészlet + disassembler működése Intel x86 utasításkészlet + disassembler működése Kód visszafejtés. Izsó Tamás 2016. november 10. Izsó Tamás Intel x86 utasításkészlet + disassembler működése / 1 Section 1 Intel X86 utasításkészlet Izsó

Részletesebben

Operációs rendszerek III.

Operációs rendszerek III. A WINDOWS NT memóriakezelése Az NT memóriakezelése Memóriakezelő feladatai: Logikai-fizikai címtranszformáció: A folyamatok virtuális címterének címeit megfelelteti fizikai címeknek. A virtuális memóriakezelés

Részletesebben

Biztonságos programozás Puffer túlcsordulásos támadások

Biztonságos programozás Puffer túlcsordulásos támadások Biztonságos programozás Puffer túlcsordulásos támadások Izsó Tamás 2015 október 12 Izsó Tamás Biztonságos programozás Puffer túlcsordulásos támadások/ 1 Section 1 DEP támadás Izsó Tamás Biztonságos programozás

Részletesebben

Assembly. Iványi Péter

Assembly. Iványi Péter Assembly Iványi Péter További Op. rsz. funkcionalitások PSP címének lekérdezése mov ah, 62h int 21h Eredmény: BX = PSP szegmens címe További Op. rsz. funkcionalitások Paraméterek kimásolása mov di, parameter

Részletesebben

Virtuális memóriakezelés Védelem. Memória védelem. Intel X86. Izsó Tamás október 1. Izsó Tamás Memória védelem/ 1

Virtuális memóriakezelés Védelem. Memória védelem. Intel X86. Izsó Tamás október 1. Izsó Tamás Memória védelem/ 1 Memória védelem Intel X86 Izsó Tamás 2015. október 1. Izsó Tamás Memória védelem/ 1 Section 1 Virtuális memóriakezelés Izsó Tamás Memória védelem/ 2 Operációs rendszer hardver szintű támogatása Hardver

Részletesebben

Adatelérés és memóriakezelés

Adatelérés és memóriakezelés Adatelérés és memóriakezelés Jelen nayagrészben az Intel x86-os architektúrára alapuló 32 bites processzorok programozását tekintjük. Egy program futása során (legyen szó a program vezérléséről vagy adatkezelésről)

Részletesebben

Introduction to 8086 Assembly

Introduction to 8086 Assembly Introduction to 886 Assembly Lecture 7 D and N-D Arrays D Arrays 4 5 tabular data rows and columns 4 6 8 6 9 5 4 8 6 D Arrays 4 5 4 6 8 6 9 5 https://advancedmathclubsk.weebly.com/matrices.html 4 8 6 5

Részletesebben

Nyíregyházi Egyetem Matematika és Informatika Intézete. Fájl rendszer

Nyíregyházi Egyetem Matematika és Informatika Intézete. Fájl rendszer 1 Fájl rendszer Terminológia Fájl és könyvtár (mappa) koncepció Elérési módok Fájlattribútumok Fájlműveletek, fájlszerkezetek ----------------------------------------- Könyvtár szerkezet -----------------------------------------

Részletesebben

Operációs rendszerek Memóriakezelés 1.1

Operációs rendszerek Memóriakezelés 1.1 Operációs rendszerek Memóriakezelés 1.1 Pere László (pipas@linux.pte.hu) PÉCSI TUDOMÁNYEGYETEM TERMÉSZETTUDOMÁNYI KAR INFORMATIKA ÉS ÁLTALÁNOS TECHNIKA TANSZÉK Operációs rendszerek p. A memóriakezelő A

Részletesebben

Az assembly nyelv sor-orientált nyelv, tehát minden sorba pontosan egy utasítás kerül. Egy sor mezőkből áll a következőképpen:

Az assembly nyelv sor-orientált nyelv, tehát minden sorba pontosan egy utasítás kerül. Egy sor mezőkből áll a következőképpen: Informatika szigorlat 16-os tétel: Az assembly nyelvek tulajdonságai és fordítása Az assembly nyelv tulajdonképpen a gépi kód szimbolikus megfelelője, azért jött létre, hogy könnyebben lehessen programozni

Részletesebben

Intel x86 utasításkészlet

Intel x86 utasításkészlet Intel x86 utasításkészlet Kód visszafejtés. Izsó Tamás 2013. október 31. Izsó Tamás Intel x86 utasításkészlet/ 1 Section 1 Intel mikroprocesszor Izsó Tamás Intel x86 utasításkészlet/ 2 Intel mikroprocesszor

Részletesebben

Assembly Címzési módok. Iványi Péter

Assembly Címzési módok. Iványi Péter Assembly Címzési módok Iványi Péter Gépi kód Gépi kód = amit a CPU megért 1-13 byte hosszúak lehetnek az utasítások Kb. 20 000 variációja van a gépi kódú utasításoknak Számítógép architektúrától függ Feszültség

Részletesebben

Máté: Számítógép architektúrák 2010.12.01.

Máté: Számítógép architektúrák 2010.12.01. Máté: Számítógép architektúrák... A feltételes ugró utasítások eldugaszolják a csővezetéket Feltételes végrehajtás (5.5 5. ábra): Feltételes végrehajtás Predikáció ió C pr. rész Általános assembly Feltételes

Részletesebben

Virtuális memóriakezelés Védelem. Memória védelem. Intel x68. Izsó Tamás október 18. Izsó Tamás Memória védelem/ 1

Virtuális memóriakezelés Védelem. Memória védelem. Intel x68. Izsó Tamás október 18. Izsó Tamás Memória védelem/ 1 Memória védelem Intel x68 Izsó Tamás 213. október 18. Izsó Tamás Memória védelem/ 1 Section 1 Virtuális memóriakezelés Izsó Tamás Memória védelem/ 2 Operációs rendszer hardver szintű támogatása Hardver

Részletesebben

találhatók. A memória-szervezési modell mondja meg azt, hogy miként

találhatók. A memória-szervezési modell mondja meg azt, hogy miként Memória címzési módok Egy program futása során (legyen szó a program vezérléséről vagy adatkezelésről) a program utasításai illetve egy utasítás argumentumai a memóriában találhatók. A memória-szervezési

Részletesebben

Operációs rendszerek. Az NT memóriakezelése

Operációs rendszerek. Az NT memóriakezelése Operációs rendszerek MS Windows NT (2000) memóriakezelés Az NT memóriakezelése 32-bites virtuális memóriakezelés: 4 GB-os címtartomány, alapesetben: a fels! 2 GB az alkalmazásoké, az alsó 2 GB az OPR-é.

Részletesebben

Nyíregyházi Egyetem Matematika és Informatika Intézete. Fájl rendszer

Nyíregyházi Egyetem Matematika és Informatika Intézete. Fájl rendszer 1 Fájl rendszer Terminológia Fájl és könyvtár (mappa) koncepció Elérési módok Fájlattribútumok Fájlműveletek ----------------------------------------- Könyvtár szerkezet -----------------------------------------

Részletesebben

A Számítógépek felépítése, mőködési módjai

A Számítógépek felépítése, mőködési módjai Mechatronika, Optika és Gépészeti Informatika Tanszék Kovács Endre tud. Mts. A Számítógépek felépítése, mőködési módjai Mikroprocesszoros Rendszerek Felépítése Buszrendszer CPU OPERATÍV TÁR µ processzor

Részletesebben

Fordító részei. Fordító részei. Kód visszafejtés. Izsó Tamás szeptember 29. Izsó Tamás Fordító részei / 1

Fordító részei. Fordító részei. Kód visszafejtés. Izsó Tamás szeptember 29. Izsó Tamás Fordító részei / 1 Fordító részei Kód visszafejtés. Izsó Tamás 2016. szeptember 29. Izsó Tamás Fordító részei / 1 Section 1 Fordító részei Izsó Tamás Fordító részei / 2 Irodalom Izsó Tamás Fordító részei / 3 Irodalom Izsó

Részletesebben

10. gyakorlat Struktúrák, uniók, típusdefiníciók

10. gyakorlat Struktúrák, uniók, típusdefiníciók 10. gyakorlat Struktúrák, uniók, típusdefiníciók Házi - (f0218) Olvass be 5 darab maximum 99 karakter hosszú szót úgy, hogy mindegyiknek pontosan annyi helyet foglalsz, amennyi kell! A sztringeket írasd

Részletesebben

Operációs rendszerek. UNIX fájlrendszer

Operációs rendszerek. UNIX fájlrendszer Operációs rendszerek UNIX fájlrendszer UNIX fájlrendszer Alapegység: a file, amelyet byte-folyamként kezel. Soros (szekvenciális) elérés. Transzparens (átlátszó) file-szerkezet. Link-ek (kapcsolatok) létrehozásának

Részletesebben

Paraméter átadás regisztereken keresztül

Paraméter átadás regisztereken keresztül Eljárások paramétereinek átadási módjai Az eljárások deklarációjánál nincs mód arra, hogy paramétereket adjunk meg, ezért más, közvetett módon tudunk átadni paramétereket az eljárásoknak. Emlékeztetőül:

Részletesebben

Karunkról Kari digitális könyvtár

Karunkról Kari digitális könyvtár . előadás Jegyzet www.inf.elte.hu Karunkról Kari digitális könyvtár i az assembly? gépi kód: a számítógép által közvetlenül értelmezett és végrehajtott jelsorozat assembly: a gépi kód emberek számára könnyen

Részletesebben

Memóriagazdálkodás. Kódgenerálás. Kódoptimalizálás

Memóriagazdálkodás. Kódgenerálás. Kódoptimalizálás Kódgenerálás Memóriagazdálkodás Kódgenerálás program prológus és epilógus értékadások fordítása kifejezések fordítása vezérlési szerkezetek fordítása Kódoptimalizálás L ATG E > TE' E' > + @StPushAX T @StPopBX

Részletesebben

.NET (Dot-NET) #1 (Bevezetés)

.NET (Dot-NET) #1 (Bevezetés) .NET (Dot-NET) #1 (Bevezetés) v0.2a 2004.02.05. 23:49:00 Eszterházy Károly Főiskola Információtechnológia tsz. Hernyák Zoltán adj. e-mail: aroan@ektf.hu web: http://aries.ektf.hu/~aroan 1 E jegyzet másolata

Részletesebben

Utolsó módosítás:

Utolsó módosítás: Utolsó módosítás:2010. 09. 15. 1 2 Kicsit konkrétabban: az utasítás hatására a belső regiszterek valamelyikének értékét módosítja, felhasználva regiszter értékeket és/vagy kívülről betöltött adatot. A

Részletesebben

Digitális rendszerek. Utasításarchitektúra szintje

Digitális rendszerek. Utasításarchitektúra szintje Digitális rendszerek Utasításarchitektúra szintje Utasításarchitektúra Jellemzők Mikroarchitektúra és az operációs rendszer közötti réteg Eredetileg ez jelent meg először Sokszor az assembly nyelvvel keverik

Részletesebben

Bevezetés a számítástechnikába

Bevezetés a számítástechnikába Bevezetés a számítástechnikába, Címzési módok, Assembly Fodor Attila Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék foa@almos.vein.hu 2010. november 2/9. ú utasítás

Részletesebben

A hibát az alábbi Python program segítségével tudjuk előidézni:

A hibát az alábbi Python program segítségével tudjuk előidézni: Bevezető Az ismertetésre kerülő biztonsági hiba 0day kategóriába tartozik, ezért sem a termék, sem a teljes hiba kihasználását lehetővé tevő kód bemutatása nem történik meg. A leírás célja az alkalmazott

Részletesebben

Fájl rendszer. Fájl koncepció Elérési módok Könyvtár szerkezet Védelem Konzisztencia szemantika

Fájl rendszer. Fájl koncepció Elérési módok Könyvtár szerkezet Védelem Konzisztencia szemantika 1 Fájl koncepció Elérési módok Könyvtár szerkezet Védelem Konzisztencia szemantika Fájl rendszer 2 Fájl koncepció A számítógépek az adatokat különböző fizikai háttértárakon tárolhatják (pl. mágnes lemez,

Részletesebben

Vizuális, eseményvezérelt programozás XI.

Vizuális, eseményvezérelt programozás XI. Vizuális, eseményvezérelt programozás XI ÓE-NIK, 2011 1 Hallgatói tájékoztató A jelen bemutatóban található adatok, tudnivalók és információk a számonkérendő anyag vázlatát képezik Ismeretük szükséges,

Részletesebben

1. Az utasítás beolvasása a processzorba

1. Az utasítás beolvasása a processzorba A MIKROPROCESSZOR A mikroprocesszor olyan nagy bonyolultságú félvezető eszköz, amely a digitális számítógép központi egységének a feladatait végzi el. Dekódolja az uatasításokat, vezérli a műveletek elvégzéséhez

Részletesebben

Powershell 2. gyakorlat

Powershell 2. gyakorlat Szkriptek készítése, folytatás Könyvtárban levő bejegyzések száma, mérete (Új: measure-object) /batch/ megszamol2.ps1 $hossz=(get-childitem measure-object -property length).count write-host ("konyvtarban

Részletesebben

Számítógép Architektúrák

Számítógép Architektúrák Számítógép Architektúrák Utasításkészlet architektúrák 2015. április 11. Budapest Horváth Gábor docens BME Hálózati Rendszerek és Szolgáltatások Tsz. ghorvath@hit.bme.hu Számítógép Architektúrák Horváth

Részletesebben

Mechatronika és mikroszámítógépek 2017/2018 I. félév. Bevezetés a C nyelvbe

Mechatronika és mikroszámítógépek 2017/2018 I. félév. Bevezetés a C nyelvbe Mechatronika és mikroszámítógépek 2017/2018 I. félév Bevezetés a C nyelvbe A C programozási nyelv A C egy általános célú programozási nyelv, melyet Dennis Ritchie fejlesztett ki Ken Thompson segítségével

Részletesebben

386 processzor címzés

386 processzor címzés 386 processzor címzés 0 31 0 31 Báziscím + Offset cím Szegmens regiszter 0 15 16 31 Bázis cím 0..15 Határbitek 0..15 32 39 40 41 44 47 Bázis cím 24..31 G B/D Határbitek 16..1 48 49 50 51 52 54 55 56 63

Részletesebben

Csatlakozás a BME eduroam hálózatához Setting up the BUTE eduroam network

Csatlakozás a BME eduroam hálózatához Setting up the BUTE eduroam network Csatlakozás a BME eduroam hálózatához Setting up the BUTE eduroam network Table of Contents Windows 7... 2 Windows 8... 6 Windows Phone... 11 Android... 12 iphone... 14 Linux (Debian)... 20 Sebők Márton

Részletesebben

Archi2 Gyak. (Processzorok Utasításszintű Kezelése) 2014 ősz

Archi2 Gyak. (Processzorok Utasításszintű Kezelése) 2014 ősz Archi2 Gyak (Processzorok Utasításszintű Kezelése) 2014 ősz Ajánlott irodalom Agárdi Gábor: Gyakorlati Assembly, LSI Oktatóközpont, 1996, ISBN 963 577 117 7 Agárdi G.: Gyakorlati Assembly haladóknak, LSI

Részletesebben

Rootkitek. Előadó: Barta Csaba

Rootkitek. Előadó: Barta Csaba Rootkitek Előadó: Barta Csaba Rövid tartalom Definíció Rootkitek rövid története Felhasználói és kernel mód Megoldandó problémák Driver betöltés Verziófüggőség Programhiba, debuggolás Technikák DKOM Hooking,

Részletesebben

Máté: Assembly programozás

Máté: Assembly programozás Szegmens, szegmens csoport sz_név SEGMENT aling_type combine_type osztály... szegmens sz_név ENDS sz_név a szegmens (szelet) neve. A fordító az azonos nevű szegmens szeleteket úgy tekinti, mintha folyamatosan,

Részletesebben

Miről lesz ma szó? A PROGAMOZÁS ALAPJAI 1. Dinamikus változók. Dinamikus változók. Dinamikus változók. Dinamikus változók. 7.

Miről lesz ma szó? A PROGAMOZÁS ALAPJAI 1. Dinamikus változók. Dinamikus változók. Dinamikus változók. Dinamikus változók. 7. Miről lesz ma szó? A PROGAMOZÁS ALAPJAI 1 Vitéz András egyetemi adjunktus BME Híradástechnikai Tanszék vitez@hit.bme.hu Dinamikus memóriakezelés Dinamikus tömbök Dinamikus stringek Program kapcsolata a

Részletesebben

1. Gyakorlat: Telepítés: Windows Server 2008 R2 Enterprise, Core, Windows 7

1. Gyakorlat: Telepítés: Windows Server 2008 R2 Enterprise, Core, Windows 7 1. Gyakorlat: Telepítés: Windows Server 2008 R2 Enterprise, Core, Windows 7 1.1. Új virtuális gép és Windows Server 2008 R2 Enterprise alap lemez létrehozása 1.2. A differenciális lemezek és a két új virtuális

Részletesebben

4. Gyakorlat: Csoportházirend beállítások

4. Gyakorlat: Csoportházirend beállítások 4. Gyakorlat: Csoportházirend beállítások 4.1. A Default Domain Policy jelszóra vonatkozó beállításai 4.2. Parancsikon, mappa és hálózati meghajtó megjelenítése csoport házirend segítségével 4.3. Alkalmazások

Részletesebben

Tartalom DCOM. Történeti áttekintés. Történeti áttekintés. Történeti áttekintés. Történeti áttekintés

Tartalom DCOM. Történeti áttekintés. Történeti áttekintés. Történeti áttekintés. Történeti áttekintés Tartalom D Szoftvertechnológia elıadás Architektúra D vs CORBA Példá 2 1987 Dynamic Data Exchange (DDE) Windows 2.0-ban Windows alkalmazások közötti adatcsere Ma is használatos (pl. vágólap) NetDDE NetBIOS

Részletesebben

Pénzügyi algoritmusok

Pénzügyi algoritmusok Pénzügyi algoritmusok A C++ programozás alapjai Tömbök (3. rész) Konstansok Kivételkezelés Tömbök 3. Többdimenziós tömbök Többdimenziós tömbök int a; Többdimenziós tömbök int a[5]; Többdimenziós tömbök

Részletesebben

Processzorok Utasításszintű Kezelése tavasz

Processzorok Utasításszintű Kezelése tavasz Processzorok Utasításszintű Kezelése 2014 tavasz Ajánlott irodalom Agárdi Gábor: Gyakorlati Assembly, LSI Oktatóközpont, 1996, ISBN 963 577 117 7 Agárdi G.: Gyakorlati Assembly haladóknak, LSI oktatóközpont,

Részletesebben

2. Gyakorlat Khoros Cantata

2. Gyakorlat Khoros Cantata 2. Gyakorlat Khoros Cantata Ismerkedés a Khoros Cantata-val: A Khoros Cantata egy képfeldolgozó műveletsorok készítésére szolgáló program. A műveleteket csővezetékszerűen lehet egymás után kötni. A műveleteket

Részletesebben

Balaton Marcell Balázs. Assembly jegyzet. Az Assembly egy alacsony szintű nyelv, mely a gépi kódú programozás egyszerűsítésére született.

Balaton Marcell Balázs. Assembly jegyzet. Az Assembly egy alacsony szintű nyelv, mely a gépi kódú programozás egyszerűsítésére született. Balaton Marcell Balázs Assembly jegyzet Az Assembly egy alacsony szintű nyelv, mely a gépi kódú programozás egyszerűsítésére született. 1. Regiszterek Regiszterek fajtái a. Szegmensregiszterek cs (code):

Részletesebben

Irvine eljárások. ClrScr - Törli a képernyő tartalmát és a kurzort a képernyő bal felső sarkába helyezi (Clear Screen).

Irvine eljárások. ClrScr - Törli a képernyő tartalmát és a kurzort a képernyő bal felső sarkába helyezi (Clear Screen). Irvine eljárások Ahogy azt már év elején is említettük, a 32 bites környezet lehetővé tette számunkra, hogy több, már előre létrehozott eljárást használhassunk. Ehhez csupán telepítenünk kellett az Irvine

Részletesebben

Járműfedélzeti rendszerek II. 3. előadás Dr. Bécsi Tamás

Járműfedélzeti rendszerek II. 3. előadás Dr. Bécsi Tamás Járműfedélzeti rendszerek II. 3. előadás Dr. Bécsi Tamás 5.3. Mutatók,tömbök A mutató vagy pointer olyan változó, amely egy másik változó címét tartalmazza. A C nyelvű programokban gyakran használják a

Részletesebben

Bevezetés Alapfogalmak Jog

Bevezetés Alapfogalmak Jog Bevezetés Alapfogalmak Jog Kód visszafejtés. Izsó Tamás 2015. szeptember 18. Izsó Tamás Bevezetés Alapfogalmak / 1 Tartalom 1 Bevezetés 2 Alapfogalmak 3 Motivációs példák 4 Jog Izsó Tamás Bevezetés Alapfogalmak

Részletesebben

Dr. Schuster György október 14.

Dr. Schuster György október 14. Real-time operációs rendszerek RTOS 2011. október 14. A fordítás vázlata prog.c Előfeldolgozó Átmenti állomány Fordító prog.obj más.obj-tek könyvtárak indító kód Linker futtatható kód Ismétlés Előfeldolgozó

Részletesebben

Operációs rendszerek. 6. gyakorlat: Processzusok közti kommunikáció (osztott memória, üzenetsor)

Operációs rendszerek. 6. gyakorlat: Processzusok közti kommunikáció (osztott memória, üzenetsor) Operációs rendszerek 6. gyakorlat: Processzusok közti kommunikáció (osztott memória, üzenetsor) A UNIX System V Release-óta minden rendszer biztosít három egyszerűabsztrakciót a processzusok közti kommunikáció

Részletesebben

e-szignó Hitelesítés Szolgáltató Microsec e-szignó Tanúsítvány telepítése Mac OS X 10.6.7 Snow Leopard operációs rendszeren

e-szignó Hitelesítés Szolgáltató Microsec e-szignó Tanúsítvány telepítése Mac OS X 10.6.7 Snow Leopard operációs rendszeren Microsec e-szignó Tanúsítvány telepítése Mac OS X 10.6.7 Snow Leopard operációs rendszeren Tartalomjegyzék 1. Bevezetés - Nem megbízható webhely... 3 2. Az e-szignó Hitelesítés Szolgáltató gyökértanúsítványinak

Részletesebben

Számítógép architektúrák

Számítógép architektúrák Számítógép architektúrák Számítógépek felépítése Digitális adatábrázolás Digitális logikai szint Mikroarchitektúra szint Gépi utasítás szint Operációs rendszer szint Assembly nyelvi szint Probléma orientált

Részletesebben

Programozás C++ -ban 2007/7

Programozás C++ -ban 2007/7 Programozás C++ -ban 2007/7 1. Másoló konstruktor Az egyik legnehezebben érthető fogalom C++ -ban a másoló konstruktor, vagy angolul "copy-constructor". Ez a konstruktor fontos szerepet játszik az argumentum

Részletesebben

Számítógépek felépítése

Számítógépek felépítése Számítógépek felépítése Emil Vatai 2014-2015 Emil Vatai Számítógépek felépítése 2014-2015 1 / 14 Outline 1 Alap fogalmak Bit, Byte, Word 2 Számítógép részei A processzor részei Processzor architektúrák

Részletesebben

Ali and more about Sharp PC-1500 at http:/lwww.pc-1500.info PTA 4000 + 16 HORDOZHATÓ SZÁMITOOÉP HIRADÁSTECHNIKA SZÖVETKEZET WWW. PC-1500.

Ali and more about Sharp PC-1500 at http:/lwww.pc-1500.info PTA 4000 + 16 HORDOZHATÓ SZÁMITOOÉP HIRADÁSTECHNIKA SZÖVETKEZET WWW. PC-1500. PTA 4000 + 16 HORDOZHATÓ SZÁMITOOÉP HIRADÁSTECHNIKA SZÖVETKEZET WWW. PC-1500.INFO All and more about Sharp PC-1500 at http:/lwww.pc-1500.info Tisztelt felhasználónk Örömmel üdvözöljük Önt a PTA 4000 +

Részletesebben

HARDVERKÖZELI PROGRAMOZÁS1

HARDVERKÖZELI PROGRAMOZÁS1 HARDVERKÖZELI PROGRAMOZÁS1 Dr. Varga Imre Debreceni Egyetem Informatikai Rendszerek és Hálózatok Tanszék 2015.05.11 Követelmények Gyakorlat (aláírás) Óralátogatás (maximum hiányzás: 3) C programozási beugró

Részletesebben

OOP #14 (referencia-elv)

OOP #14 (referencia-elv) OOP #14 (referencia-elv) v1.0 2003.03.19. 21:22:00 Eszterházy Károly Főiskola Információtechnológia tsz. Hernyák Zoltán adj. e-mail: aroan@ektf.hu web: http://aries.ektf.hu/~aroan OOP OOP_14-1 - E jegyzet

Részletesebben

Operációs rendszerek. Az NT folyamatok kezelése

Operációs rendszerek. Az NT folyamatok kezelése Operációs rendszerek Az NT folyamatok kezelése Folyamatok logikai felépítése A folyamat modell: egy adott program kódját végrehajtó szál(ak)ból és, a szál(ak) által lefoglalt erőforrásokból állnak. Folyamatok

Részletesebben

8. óra op. rendszer Intéző

8. óra op. rendszer Intéző 8. óra op. rendszer Intéző Fájlok és könyvtárak kezelésére a Windows az Intéző nevű programot biztosítja számunkra. Indítása: Windows gomb + E Start gombon jobb klikk / A Windows Intéző Start / Minden

Részletesebben

Aritmetikai utasítások I.

Aritmetikai utasítások I. Aritmetikai utasítások I. Az értékadó és aritmetikai utasítások során a címzési módok különböző típusaira látunk példákat. A 8086/8088-as mikroprocesszor memóriája és regiszterei a little endian tárolást

Részletesebben

Publish date 11/30/2012 4:11 AM. Change date 11/30/2012 4:11 AM

Publish date 11/30/2012 4:11 AM. Change date 11/30/2012 4:11 AM Irrigation works Info Version 2 Url http://com.mercell.com/permalink/35586282.aspx External tender id 379567-2012 Tender type Contract Award Document type Contract award Procurement procedure Negotiated

Részletesebben

Számítógépes Hálózatok 2011

Számítógépes Hálózatok 2011 Számítógépes Hálózatok 2011 10. Hálózati réteg IP címzés, IPv6, ARP, DNS, Circuit Switching, Packet Switching 1 IPv4-Header (RFC 791) Version: 4 = IPv4 IHL: fejléc hossz 32 bites szavakban (>5) Type of

Részletesebben

Avery Design Pro 4.0

Avery Design Pro 4.0 Avery Design Pro 4.0 Felhasználói útmutató Az Avery Design egy egyszerű, de sokfunkciós, könnyen kezelhető címkenyomtató, kártyatervező program. Készítsük el a kártyasablont Indításkor az Üdvözlő ablak

Részletesebben

Mutatók és mutató-aritmetika C-ben március 19.

Mutatók és mutató-aritmetika C-ben március 19. Mutatók és mutató-aritmetika C-ben 2018 március 19 Memória a Neumann-architektúrában Neumann-architektúra: a memória egységes a címzéshez a természetes számokat használjuk Ugyanabban a memóriában van:

Részletesebben

Vezérlésfolyam gráf és X86 utasításkészlet

Vezérlésfolyam gráf és X86 utasításkészlet Vezérlésfolyam gráf és X86 utasításkészlet Kód visszafejtés. Izsó Tamás 2016. november 3. Izsó Tamás Vezérlésfolyam gráf és X86 utasításkészlet / 1 Intervallum algoritmus Procedure Intervals(G={N, E, h})

Részletesebben

Oralce kliens installálása Windows Server 2003-ra

Oralce kliens installálása Windows Server 2003-ra Oralce kliens installálása Windows Server 2003-ra Szükséges elofeltétel Szükséges operációs rendszer: Windows 2003 SP1 Oracle kliens verzió: 9.2.0.1.0 (9R2) Valid SQLNet.ORA fájl, amely tartalmazza a céges

Részletesebben

Dr. Wührl Tibor Ph.D. MsC 04 Ea. IP kapcsolás hálózati réteg

Dr. Wührl Tibor Ph.D. MsC 04 Ea. IP kapcsolás hálózati réteg Dr. Wührl Tibor Ph.D. MsC 04 Ea IP kapcsolás hálózati réteg IP kapcsolás Az IP címek kezelése, valamint a csomagok IP cím alapján történő irányítása az OSI rétegmodell szerint a 3. rétegben (hálózati network

Részletesebben

Sharp MX-M850. Általános. Másoló

Sharp MX-M850. Általános. Másoló Sharp MX-M850 Nagy termelékenység Oldal/perc: 85 fekete-fehér Papír kapacitás: Std 3000 Max 8050 Kimagasló nyomdai eszköz elsıosztályú megbízhatóság és teljesítmény biztosítására tervezve Széleskörő finisher

Részletesebben

Programozás alapjai. 5. előadás

Programozás alapjai. 5. előadás 5. előadás Wagner György Általános Informatikai Tanszék Cserélve kiválasztásos rendezés (1) A minimum-maximum keresés elvére épül. Ismétlés: minimum keresés A halmazból egy tetszőleges elemet kinevezünk

Részletesebben

Operációs Rendszerek II. labor. 2. alkalom

Operációs Rendszerek II. labor. 2. alkalom Operációs Rendszerek II. labor 2. alkalom Mai témák (e)grep Shell programozás (részletesebben, példákon keresztül) grep Alapvető működés: mintákat keres a bemeneti csatorna (STDIN vagy fájl) soraiban,

Részletesebben

Készítette: Oláh István mestertanár

Készítette: Oláh István mestertanár BME Automatizálási és Alkalmazott Informatikai Tanszék Villamos laboratórium 1. PLC-k programoza sa Mérési útmutató Készítette: Oláh István mestertanár (olah.istvan@aut.bme.hu) 2014. szeptember Bevezetés

Részletesebben

Programfejlesztés. Programozás alapjai II. (3. ea) C++ Néhány programozási módszer. Korai szoftverkészítés jellemzői. Gépi nyelv? Strukturált tervezés

Programfejlesztés. Programozás alapjai II. (3. ea) C++ Néhány programozási módszer. Korai szoftverkészítés jellemzői. Gépi nyelv? Strukturált tervezés Programozás alapjai II. (3. ea) C++ OO paradigmák, osztály, operátorok átdefiniálása Szeberényi Imre BME IIT Programfejlesztés Feladatanalízis világ = dolgok + tevékenységek Modellezés

Részletesebben

Programozás alapjai II. (3. ea) C++ Programfejlesztés. Néhány programozási módszer. Feladatanalízis. Modellezés Tervezés. Implementáció (programozás)

Programozás alapjai II. (3. ea) C++ Programfejlesztés. Néhány programozási módszer. Feladatanalízis. Modellezés Tervezés. Implementáció (programozás) Programozás alapjai II. (3. ea) C++ OO paradigmák, osztály, operátorok átdefiniálása Szeberényi Imre BME IIT M Ű E G Y T E M 1 7 8 2 C++ programozási nyelv BME-IIT Sz.I. 2011.02.22.

Részletesebben

OpenCL - The open standard for parallel programming of heterogeneous systems

OpenCL - The open standard for parallel programming of heterogeneous systems OpenCL - The open standard for parallel programming of heterogeneous systems GPU-k általános számításokhoz GPU Graphics Processing Unit Képalkotás: sok, általában egyszerű és független művelet < 2006:

Részletesebben

Bevezetés a számítástechnikába

Bevezetés a számítástechnikába Bevezetés a számítástechnikába Megszakítások Fodor Attila Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék foa@almos.vein.hu 2010. november 9. Bevezetés Megszakítások

Részletesebben

Előszó avagy Murphy és az optimizmus. Tartalomjegyzék

Előszó avagy Murphy és az optimizmus. Tartalomjegyzék Előszó avagy Murphy és az optimizmus Tartalomjegyzék Tartalomjegyzék...3 Előszó avagy Murphy és az optimizmus...7 1. Fejezet...8 A PC (DOS) filekezelésetm "filekezelése"...8 Egy file létrehozása...8 File

Részletesebben

Operációs rendszerek. A Windows NT felépítése

Operációs rendszerek. A Windows NT felépítése Operációs rendszerek A Windows NT felépítése A Windows NT 1996: NT 4.0. Felépítésében is új operációs rendszer: New Technology (NT). 32-bites Windows-os rendszerek felváltása. Windows 2000: NT alapú. Operációs

Részletesebben

[cimke:] [feltétel] utasítás paraméterek [; megjegyzés]

[cimke:] [feltétel] utasítás paraméterek [; megjegyzés] Szoftver fejlesztés Egy adott mikroprocesszoros rendszer számára a szükséges szoftver kifejlesztése több lépésből áll: 1. Forrás nyelven megírt program(ok) lefordítása gépi kódra, amihez megfelelő fejlesztő

Részletesebben

A számítógép alapfelépítése

A számítógép alapfelépítése Informatika alapjai-6 számítógép felépítése 1/8 számítógép alapfelépítése Nevezzük számítógépnek a következő kétféle elrendezést: : Harvard struktúra : Neumann struktúra kétféle elrendezés alapvetően egyformán

Részletesebben

Információs Technológia

Információs Technológia Információs Technológia Sor és verem adatszerkezet Fodor Attila Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék foa@almos.vein.hu 2009. november 19. Alapötlet

Részletesebben

Információs Technológia

Információs Technológia Információs Technológia A C programozási nyelv (Típusok és operátorok) Fodor Attila Pannon Egyetem Műszaki Informatika Kar Villamosmérnöki és Információs Rendszerek Tanszék foa@almos.vein.hu 2010 szeptember

Részletesebben

Mutatók és címek (ism.) Programozás alapjai C nyelv 8. gyakorlat. Indirekció (ism) Néhány dolog érthetőbb (ism.) Változók a memóriában

Mutatók és címek (ism.) Programozás alapjai C nyelv 8. gyakorlat. Indirekció (ism) Néhány dolog érthetőbb (ism.) Változók a memóriában Programozás alapjai C nyelv 8. gyakorlat Szeberényi mre BME T Programozás alapjai. (C nyelv, gyakorlat) BME-T Sz.. 2005.11.07. -1- Mutatók és címek (ism.) Minden változó és függvény

Részletesebben

Adatbázis-kezelés ODBC driverrel

Adatbázis-kezelés ODBC driverrel ADATBÁZIS-KEZELÉS ODBC DRIVERREL... 1 ODBC: OPEN DATABASE CONNECTIVITY (NYÍLT ADATBÁZIS KAPCSOLÁS)... 1 AZ ODBC FELÉPÍTÉSE... 2 ADATBÁZIS REGISZTRÁCIÓ... 2 PROJEKT LÉTREHOZÁSA... 3 A GENERÁLT PROJEKT FELÉPÍTÉSE...

Részletesebben

Programozás C nyelven (9. ELŐADÁS) Sapientia EMTE

Programozás C nyelven (9. ELŐADÁS) Sapientia EMTE Programozás C nyelven (9. ELŐADÁS) Sapientia EMTE 2015-16 1 POINTEREK ismétlés double x = 3.14, *px = &x; unsigned char *p, *p1, *p2; p1 = (unsigned char*)px; p2 = p1 + sizeof(double); for ( p = p2-1 ;

Részletesebben

C programozási nyelv

C programozási nyelv C programozási nyelv Struktúrák Dr Schuster György 2011 június 16 Dr Schuster György () C programozási nyelv Struktúrák 2011 június 16 1 / 11 Struktúrák Struktúrák A struktúra egy olyan összetett adatszerkezet,

Részletesebben

Programozás alapjai II. (2. ea) C++ Programfejlesztés. Néhány programozási módszer. Feladatanalízis. Modellezés Tervezés. Implementáció (programozás)

Programozás alapjai II. (2. ea) C++ Programfejlesztés. Néhány programozási módszer. Feladatanalízis. Modellezés Tervezés. Implementáció (programozás) Programozás alapjai II. (2. ea) C++ OO paradigmák, osztály, operátorok átdefiniálása Szeberényi Imre BME IIT M Ű E G Y E T E M 1 7 8 2 C++ programozási nyelv BME-IIT Sz.I. 2016.02.23.

Részletesebben