< C6520B1B8C1B6BFCD20BEF0C6D0C5B7C0C720BFF8B8AE2E687770>
|
|
- 호영 배
- 5 years ago
- Views:
Transcription
1 PE FILE 구조와 언패킹의원리 지선호 - 1 -
2 < PE FILE 이란 > -win32 운영체제에서이용되는파일형식 ( 현재사용되는대부분의 OS) -Portable executable, : exe, dll, ocx 이식가능한실행파일형식 - 윈도우의바이너리를분석하기위한가장기본이되는지식 : unpacking, API Hooking, DLL injection, 악성코드분석.. <PE FORMAT 이해를위한기본지식> RVA - 이미지가해당프로세스의가상주소공간내에로드돼었을때에그시작 주소에대한상대적번지개념. 메모리상에서의 PE의시작주소에대한 offset 으로생각하면됨 Section - PE 가가상주소공간에로드된뒤의실제내용( 코드와데이터,Import API,Export API, 리소스, 재배치정보 TLS 등) 을담고있는블록들 ** 파일로존재하는 PE 구조와가상번지에로드되었을때의 PE 구조의관계 - 프로세스에할당되는 4기가바이트의가상주소공간을유지하기위해가상메모리 관리자(VMM) 는페이지파일(pagefile.sys) 이라는스와핑영역을하드디스크에유지하며이 페이지파일과의적절한스와핑, 매핑을통해프로세스에게 4기가의가상공간을실제로제공해 주는것처럼실행환경을만들어주게됩니다. 하지만 PE 파일이로드될때 VMM 은페이지파일을사용하지않고, PE 파일자체를마치 페이지파일처럼가상주소공간에그대로매핑하게됩니다. 이렇게파일자체가페이지파일의 역할을대신하는경우를메모리에매핑된파일(MMF) 라고하며즉 PE 의경우 MMF 로해당 파일을연다고볼수있습니다. WinNT.H 에정의된 PE Header 의구조체를보면 IMAGE 라는 단어를사용하고있습니다. 여기서 "IMAGE" 의의미는메모리에매핑된하드디스크상의 PE 파일자체를말하고있습니다. 정리하자면, 메모리상의로드된 PE 파일포맷이나, 하드디스크 상에서의파일로존재하는 PE 포맷의모습이같다고말할수있습니다
3 < PE FILE HEADER 구조분석 > - Win32 Platform SDK 의 WinNT.H" 헤더파일참조 <Block 으로간단히표현> - 3 -
4 1. DOS MZ header (IMAGE_DOS_HEADER) :PE 파일의시작지점 ( PE header 의 offset 을가짐) win32 기반 OS에서 PE 파일형식을실행하면 PE loader는 PE header의 offset을읽고바로 DOS 부분을건너뛰고 PE header 에접근 -DOS stub :OS 가 PE 파일형식을알지못할때 This program cannot be run in DOS mode" 메시지출력, real dos mode 실행목적으로사용 주요필드 e_magic DOS 헤더를구별하는식별자. MZ" 모든실행파일은파일의가장첫부분에이값을가지게됨. PE 로더가이값을체크하여맞다면실행파일을메모리에로드하게됨 e_lfanew PE 헤더(IMAGE_NT_HEADER) 가있는곳의 offset - 실행파일의시작부분정도로만생각하면됩니다. 2. PE HEADER (IMAGE_NT_HEADER) : PE 로더가사용하는핵심정보를담고있음 - 4 -
5 signature : PE 파일임을나타내는매직넘버. 4byte 로구성되며항상 PE\x0\x0" 이다. IMAGE_DOS_HEADER 구조체의 e_lfanew 필 드가가리키는오프셋으로부터의 4byte 값. FileHeader : IMAGE_FILE_HEADER 구조체멤버 주요필드 Machine 파일이실행될 CPU 플랫폼 NumberOfSections TimeDateStamp SizeOfOptionalHeader 파일에존재하는섹션의수 파일이생성된시간과날짜 IMAGE_OPTIONAL_HEADER 구조체의크기 Characteristics 해당 PE 파일에대한특정정보를나타내는 flag **OptionalHeader : IMAGE_OPTIONAL_HEADER 의구조체멤버 Logical Layout 에대한정보 - 5 -
6 <IMAGE_OPTIONAL_HEADER 의구조> 주요필드 SizeOfCode 코드영역에 CPU가실행하는기계어코드의전체크기 SizeOfInitializedData SizeOfUninitializedData AddressOfEntryPoint Data 가초기화된섹션의총합 SizeOfInitializedData 의반대 프로그램의시작위치(main) 의 RVA ** 프로세스가가장먼저시작하는위치라고생각하면안됨! BaseOfCode 코드영역( 주로.text 섹션) 의시작주소 RVA BaseOfData 데이터영역( 주로.data 섹션) 의시작주소 RVA - 6 -
7 ImageBase SectionAlignment FileAlgnment SizeOfImage SizeOfHeaders PE file 이메모리에매핑될 RVA의기준이되는시작주소 ( 주로 exe : 0x dll : 0x ) 메모리에매핑된후의섹션의배치간격. 섹션이 PE로더에의해메 모리에올려질때항상이멤버의배수값으로위치. 섹션헤더의 VirtualAddress 멤버에영향을주게됨파일상에서의섹션의배치간격. SectionAlignment 와같은개념. 섹션헤더의 PointerToRawData 멤버에영향을주게됨로더가해당 PE 를메모리상에로드할때확보해야할충분한 Size PE 파일상에서의섹션의배치가메모리에매핑되면서달라질수 있기때문에보통 PE 파일의크기보다크다. 값은반드시 SectionAlignment 필드값이배수가되어야함 PE 포맷의모든헤더를더한값 FileAlignment 필드값의배수가되어야함 IMAGE_DATA_DIRECTORY 구조체의멤버 DataDirectory VirtualAddress : 데이터구조체의 RVA Size : VirtualAddress 에서참조된데이터구조체의크기 총 16 개의배열을가지고있음. 00 Export table 01 Import table 02 Resource 03 Exception 04 Security 05 Base relocation 06 Debug 07 Copyright string 08 Unknown 09 Thread local storage(tls) 10 Load configuration 11 Bound Import 12 Import Address Table 13 Delay Import 14 COM descriptor - 7 -
8 3. Section Table (IMAGE_SECTION_HEADER) :PE 헤더바로뒤에구조체배열형식으로위치해있음. 배열의개수는 FILE HEADER 의 NumberOfSection 멤버값에의해결정됨 주요필드 Name PhysicalAddress / VirtualSize VirtualAddress SizeOfRawData PointerToRawData Characteristics 섹션의네임을나타내는멤버 * 섹션의속성을파악하기위해선 Characteristics 멤버를참조해야함 PE로더에의해이미지가메모리에올려진후에해당섹션이얼마만큼의 크기를가지는지의정보. * 물리적주소정보아님 PE로더에의해이미지가메모리에올려진후에해당섹션이어느주소에 위치하는지의 RVA 주소값 *IMAGE_OPTIONAL_HEADER 의멤버인 SectionAlignment 의배수값을가짐 Raw Data 상에서해당섹션에실제사용된 Size * 섹션의영역은 FileAlignment 의영향을받음 정보 Raw Data가파일상의어느주소에위치해있는지나타내는변수 해당섹션에대한속성정보 flag 값을상수매크로로정의 IMAGE_SCN_CNT_CODE 0x : 코드로채워진섹션 IMAGE_SCN_CNT_INITIALIZED_DATA 0x : 데이터가초기화된코드 IMAGE_SCN_CNT_UNINITIALIZED_DATA 0x : 데이터가비초기화된섹션 IMAGE_SCN_MEM_EXECUTE 0x : 코드로서실행될수있는섹션 IMAGE_SCN_MEM_READ 0x : 읽기가능역역섹션 IMAGE_SCN_MEM_WRITE 0x : 쓰기가능영역섹션 - 8 -
9 4. IMPORT TABLE ( IMAGE_IMPORT_DESCRIPTOR ) : Import Section - 사용하고자하는익스포트함수들과그 DLL 에대한정보 를보관하고있는곳. 일반적으로섹션테이블에는.idata 라는이름으로지정됨 <import 정보를가진구조체의관계> 1) OptionalHeader 구조체의 DataDirectory 의주소를구한다. 2) DataDirectory 의두번째인덱스(import table) 에서 VirtualAddress 멤버값을 참조한다.(IMAGE_IMPORT_DESCRIPTOR 의위치) * 임포트섹션헤더의 VirtualAddress 필드와동일한값을가진다 3) IMAGE_IMPORT_DESCRIPTOR 의구조 - 9 -
10 주요필드 OriginalFirstThunk IMAGE_THUNK_DATA IMAGE_THUNK_DATA 는구조체를가리키는 구조체의배열을가리키는 배열의원소는 RVA 값을가짐 RVA 값 IMAGE_IMPORT_BY_NAME TimeDateStamp 바인딩되지않았을경우 0, 바인딩이후엔 -1 값을가짐 ForwarerChain DLL 포워딩과 TimeDateStamp 와관련있음 Name FirstThunk 이라 임포트된 DLL의이름을담고있는 NULL로끝나는 ASCII 문자열에대 한 RVA 값 IMAGE_THUNK_DATA 구조체의배열을가리키는 RVA *PE File 이가상주소공간에매핑되면 값 IMAGE_THUNK_DATA 는실 제해당주소의함수포인터를담게된다. 이배열을 Import Address Table(IAT) 이라고한다. 실제해당주소가 IAT 에설정되면이것을바 인딩되었다고한다. -*OriginalFirstThunk, FirstThunk? <OriginalFirstThunk, FirstThunk 가가리키는 IMAGE_THUNK_DATA 의구조> ForwarderString Function Ordinal AddressOfData *OriginalFirstThunk 는정확히이값을가리킨다. DLL 에서임포트할함수가포워딩된함수일경우를위한필드. * 포워딩된함수의경우익스포트섹션의익스포트함수포인터 내의엔트리값이실제함수진입점주소가아니라포워딩된대 상 DLL과실제함수를나타내는문자열에대한주소가됨 PE file이메모리에매핑된후에 IAT 에저장된함수포인터를직 접참조할때 Function 필드를통해서참조한다. 모듈정의파일을통해서구체적으로서수파일을지정하게되면 링커는 DLL 링크시함수명(symbol) 을통한링크가아니라서수 를통해서사용된함수를링크하게된다. 이때사용되는필드 IMAGE_THUNK_DATA 의값이 체의시작번지를가리킬때사용돼는필드 IMAGE_IMPORT_BY_NAME 구조
11 <IMAGE_IMPORT_BY_NAME 의구조> Hint : 서수를지정하지않은경우에임의로지정하는임포트된 함수에대한 0 으로시작하는인덱스. 차례대로 1 씩증가. 이값은필수요소가아니며어떤링커는이값을 만든다. Name[1] : NULL 0으로 로끝나는아스키문자열로이루어진해당 DLL 에사용된익스포트함수의이름을나타냄 OriginalFirstThunk -> INT (Import Name Table) & FirstThunk -> IAT (Import Address Table) - 메모리에매핑되기전 INT 와 IAT 는동일한위치를가리킴 - memory 에매핑이되면로더는 OriginalFirstThunk 가가리키는 INT 배열을 참조해서임포트할함수에대한정보를얻어오게되고, 포인터를획득하게됨 가상주소공간에서함수 - 이함수포인터는 IAT 에기록이되고이제 FirstThunk 는 IMAGE_THUNK_DATA 의 Function 필드를통해실제함수의함수포인터를 이용하여해당함수를호출하게됨 ( 이시점에서 INT 와 IAT 의값이달라짐) 5. Export Table (IMAGE_EXPORT_DIRECTORY) :PE File 이메모리에매핑될때필요한 DLL들을해당프로세스주소공간에 로드하고메인프로그램에서필요한함수를구하기위해로드된 하는곳 DLL에서참조
12 -PE 파일이 DLL에서 Export 함수를참조하는방식을정의할때, 보통 IMAGE_EXPORT_DIRECTORY 구조체의 AddressOfName 필드를참조하거 나, 함수의 Ordinal 을이미알고 AddressOfFunction 필드를참조하는두가지 방식을가짐 <IMAGE_EXPORT_DIREXTORY 구조체> 주요필드 Name 해당 DLL 의이름을나타내는아스키코드문자열의위치 Base 익스포트된함수들에대한서수의시작번호 RVA AddressOfFunction 배열에대한 index를얻기위해 ordinal 을 보정하는데사용되는값 *ordinal - base NumberOfFunctions AddressOfFunction 필드가가리키는 RVA의배열의원소개수 NumberOfNames AddressOfFunctions AddressOfNames AddressOfNameOridinals AddressOfNames 개수와 필드가가리키는 AddressOfNameOridinals 의원소의개수를나타냄. RVA의배열의원소의 * 실제익스포트된함수의정확한개수를나타냄 필드가가리키는서수배열 익스포트된함수들의함수포인트를가진배열을가리킴. RVA 익스포트된함수의심볼을나타내는문자열포인터배열을가 리키는 RVA 값 AddressOfName 배열에있는함수심볼과연관된 WORD 타입 의배열에대한포인터. 이 WORD 타입의값들은익스포트된 모든함수들의서수를담고있음. -Export 함수의주소를찾아가는과정
13 <Export Table 의구조> 1) 이름으로참조할때 Export Table에 NumberOfNames에서 Name 원소의개수를확인 AddressOfName 과 AddressOfNameOrdinals 을병렬적으로수행한후 AddressOfName에서 Name 이발견되면 AddressOfNameOrdinals에서이와 연결된값을구함. AddressOfNameOridinals 배열에서얻은값을 AddressOfFunction배열의 index 로사용. 그값이그함수의 RVA 2) Ordinal 로참조 Export Table에서 Base 값을구함. Base 값이서수의시작번호이므로 Oridinals에서 Base 값을빼면 AddressOfFunction 배열에대한 index를얻게 됨 AddressOfFunction 배열에서 index 값을이용해함수의 RVA 를구함
14 < 실행압축 (Packing) 이란> - 일반압축과같이여러파일을하나로묶어압축을수행하는것이아니라, 하나의실행파일을파일의형태를그대로유지하면서 Size 를줄여주는압축방식 - 확장자를그대로유지하면서파일의실행도전과같이이루어짐 - 패킹툴의종류, 버전과패킹방식이다양함 ASPack -> Alexey Solodovnikov Pack, UPX, ASprotect, NeoLite, Armadillo, Exeshield, Pecompect, PEncrypt, CryptFF, DBPE, telock, Stxe, PE_Patch.AvSpoof, Bat2Exe.BDTmp, Batlite, ExeStealth, JDPack, PECRC, PE_Patch.Elka, Pex, Pingvin, Mmpo, Embedded CAB, Morphine, Eagle, PE-Crypt.Negn, Bat2Exe, PCPEC, FlySFX, Exe2Dll, Teso, PE-Crypt.UC, Polyene, PE-Crypt.UC, PEBundle, CryptFF, DBPE, BitArts.Fusion, PE_Patch.Aklay, TapTrap, CryptZ, PE-Crypt.Moo, PE-Pack, RarSFX, XCR, ZipSFX, DoomPack, NDrop, PECrc32, DebugScript, PE_Patch.Ardurik, PE-Crypt.Wonk, PE_Patch.Upolyx, MEW, PE_Patch.ZiPack, ZiPack, CryptFF.b, MEW 등등... -최근발견되는악성코드들은대부분실행압축과파일보호기법으로악의적인코드를숨기고있음 *PE file 구조를이해해야악성코드분석을위한실행압축해제를수행할수있음 < 실행압축의기본적인원리> -packing 을수행하는프로그램이압축을수행할프로그램의실제 Code Data 를다른영역에압축, 저장한후프로그램의 Entry Point 를실행압축해제 루틴을먼저가리키게한후, 실행압축해제(Unpacking) 가먼저이루어진후에 프로그램이동작하는방식 및
15 Target File : putty-2938-rm2rob.exe <PEid 로본실행압축(ASPack 2.12->Alexey Solodovnikov) 된파일과원본파일의모습> * Entry Point 가다른위치의섹션을가리키고있습니다. -PE explorer 를사용하여두파일의차이점을분석 < 패킹된 putty-2938-rm2rob.exe 파일의헤더정보>
16 < 원본 putty-2938-rm2rob.exe 파일의헤더정보> 변경된필드값 필드네임패킹된 putty 원본 putty NumberOfSection 0006h 0004h AddressOfEntryPoint 0046D001h Fh FileAlignment h h SizeOfImage h 0006D000h SizeOfHeaders h h : 변경되 Field 값으로패킹된이후새로운섹션이 2 개추가되었고, EntryPoint 의위치가변경되었으며, 있습니다. FileAlignment 수있습니다. 파일의사이즈와헤더의크기가변경된것을알수 값으로파일상에서의섹션의배치간격이줄어든걸알 ( 패킹된 putty) ( 원본 putty)
17 변경된 DataDirectory 정보 Directory Name 패킹된 putty (VA / Size) 원본 putty (VA / Size) Import Table 0046DFACh / h 00460DD8h / 00002F28h Relocation Table 0046DF54h / h Load Configuration Table 00460D78h / h Import Address Table 0044B000h / h :IMAGE_OPTIONAL_HEADER에서참조하는 DataDirectory 의정보 패킹된 putty에서 Import Table 의위치와크기가변경되었고, Configuration Table 니다 과 IAT 정보가없어지고재배치정보가새로추가된것을확인할수있습 : IMAGE_SECTION_HEADER 구조체의 PointerToRawData 변수값이 600으로 변경되었고 ( FileAlignment 200 의배수값) 새로추가된.aspack 섹션에임포 트정보와재배치정보가병합되어있는것을알수있습니다. 변경사항이없습니다. 리소스테이블은
18 < 실행압축해제의기본원리> OEP(Original Entry Point) - PE file 찾기 의내부구조가바뀌어도결과적으로실행되는프로그램의기본구조 자체는변하지않습니다. 즉실행압축된프로그램이실행되어패킹루틴에 의해처리가된후에는압축되기전상태로돌아가게되며이때메모리 Dump 를수행하고 Entry Point 를이지점으로수정해주는것입니다. 1. PEiD plugiin 이용 : PEiD 의 generic OEP Finder 와같은플러그인을이용하여 OEP 주소를쉽 게찾을수있습니다. 그러나모든패킹프로그램의 OEP를찾아내지는못합니 다. <PEiD를이용하여 OEP 를찾아내는화면> 2. Ollydbg 로 MUP (Manual Unpacking) 수행 :Ollydbg 를사용하여 OEP 를찾아내는과정은패킹프로그램마다각자다른방식의패킹알고리즘이있고, 언패킹을방지하기위한트릭이나안티디버거가존재하기때문에다양한방법으로과정을수행할수있습니다. *SEH 예외처리이용 -대부분의패킹툴은디버깅을방지하기위해고의로예외처리를발생시키는코드를삽입합니다. Ollydbg 에서는예외처리옵션에서이와같은예외가발생하였
19 을때무시하도록설정을변경할수있습니다. Ollydbg 의 Shift + F9 키를이용하여 exception 이발생한코드를무시하고디 버깅을진행할수있습니다. 디버깅이진행되다프로그램이실행이되면 SEH 창 에서마지막 SE handler 를확인한예외처리루틴이위치한주소로이동합니다. 그리고예외처리루틴을 Reference 한지점을검색하여 OEP 에근접한곳을찾 아낼수있습니다. *Code Section 접근확인하기 Ollydbg에서 Alt + M 키를눌러 Memory map 구조를확인할수있습니다. 여기 서코드섹션에브레이크포인트를설정한후실행하면해당섹션의메모리에접 근하는순간을잡을수가있습니다
20 * BreakPoint Hardware.on access Dword PEtite 2.2 나 ASpack 2.12 이용하기 등으로패킹된프로그램을언패킹하면패킹루틴의 시작지점에 pushad 어셈블리명령어를볼수있습니다. 이명령어는모든레지 스터값을스택에저장하는명령어입니다. 주로압축이모두풀리면원래의레지 스터들을복원하기위해사용됩니다. 이런과정을이용해서 OEP 에접근할수가있습니다. pushad 명령어에서 F8을 한번눌러명령을실행하면레지스터값들이스택에저장이되고 ESP 스택포인 터는마지막으로삽입된그값들을가리키고있습니다. ESP 를 Follow in Dump 를실행하여 Hex dump 창에나타난값에 4 byte 를지정해준후에메뉴에서 BreakPoint Hardware.on access Dword 를선택한후실행을하게되면지정된 메모리에접근할때 break 가되고 popad 와같은레지스터를복원하는명령어 를볼수있습니다. 그후에 OEP 값을찾아낼수있습니다
21 IAT(Import Address Table) 복구하기 - 패킹프로그램마다경우가틀리지만대부분의패킹프로그램은 IAT 정보를변 경하거나사용할 Import function 들을에뮬레이션해주고 IAT엔쓰레기값을 넣는경우가발생하기때문에 지금은좋은툴이많아서자동으로 IAT 정보를재구성해주어야합니다. IAT 복구를수행해주고있습니다. 1. OllyDump 이용 Ollydbg에서 OEP 값을찾아낸후에 Ollydump 플러그인을이용하여바로메모리 덤프를수행할수있습니다. Rebuild Import 를체크하면자동으로 IAT 정보를수정하여덤프를수행합니다. 2. ImportREC ImportREC 이용 를실행하여디버깅을수행중인패킹된프로그램을 attach 한후찾 아낸 OEP 값을입력해주면자동으로 RVA 값과 Import Function 들을찾아줍니 다
22 Fix Dump를선택하여언패킹한프로그램에 IAT 를복구해주면됩니다. 참고문서, 사이트 Windows 시스템실행파일의구조와원리 ( 이호동저) OPEN REVERSE FORUMS BSW-Powered by vbulletion PE Format 완전분석 ( 김경곤 (A.K.A. Anasra))
Deok9_PE Structure
PE Structure CodeEngn Co-Administrator!!! and Team Sur3x5F Member Nick : Deok9 E-mail : DDeok9@gmail.com HomePage : http://deok9.sur3x5f.org Twitter :@DDeok9 1. PE > 1) PE? 2) PE 3) PE Utility
More information목 차 1. 개요 2. PE(Portable Executable) 이란? 3. IMAGE_DOS_HEADER 4. IMAGE_NT_HEADER 1) IMAGE_FILE_HEADER 2) IMAGE_OPTIONAL_HEADER 3) IMAGE_DATA_DIRECTORY
작성자 : 한서대학교 H.I.S.L 동아리진선호 sunho104@msn.com 본보고서의전부나일부를인용시반드시 [ 자료 : 한서대학교정보보호동아리 (H.I.S.L)] 를명시하여주시기바랍니다. - 1 - 목 차 1. 개요 2. PE(Portable Executable) 이란? 3. IMAGE_DOS_HEADER 4. IMAGE_NT_HEADER 1) IMAGE_FILE_HEADER
More information<4D F736F F D20B0ADB5BFC7F65FB1E2BCFAB9AEBCAD5F4645B1B8C1B620B1E2BCFAB9AEBCAD5F66726F6D E6B5F66696E F2E646F63>
기술문서 08.10.24. 작성 PE 구조분석 Windows 계열 OS 의파일구성 (PE: Portable Executable) 작성자 : 동명대학교 THINK 강동현 (cari2052@gmail.com) 0. 시작하면서 -------------------------------------------------------------------------- p.02
More information목차 ⓵ VA and RVA 4p. ⓶ RVA to RAW 5p. ⓷ PE 7p. PE의개념. PE Header가생기는과정. PE의필요성. ⓷ DOS Header 8p. e_magic e_lfanew ⓸ DOS Stub 9p. 1
PE 구조 keybreak4855@tistory.com http://keybreak.tistory.com 목차 ⓵ VA and RVA 4p. ⓶ RVA to RAW 5p. ⓷ PE 7p. PE의개념. PE Header가생기는과정. PE의필요성. ⓷ DOS Header 8p. e_magic e_lfanew ⓸ DOS Stub 9p. 1 ⓹ NT Header 10p.
More information악성코드분석을위한 실행압축 해제기법 1. 개요 이제목을보고 실행압축이뭐야? 하는이도있을테고, 실행하면자동으로압축이풀리는 ZIP 파일과비슷한거아냐? 하고떠올리는이도있을것이다. 그러나여기서설명하는실행압축은그대상이다르다. 흔히말하는 ZIP, RAR처럼데이터들을하나로묶어놓는압
악성코드 분석을 위한 실행압축 해제 기법 NCSC-TR04025 악성코드분석을위한 실행압축 해제기법 1. 개요 이제목을보고 실행압축이뭐야? 하는이도있을테고, 실행하면자동으로압축이풀리는 ZIP 파일과비슷한거아냐? 하고떠올리는이도있을것이다. 그러나여기서설명하는실행압축은그대상이다르다. 흔히말하는 ZIP, RAR처럼데이터들을하나로묶어놓는압축과는달리그대상이 notepad.exe처럼실행할수있는파일을압축한것으로,
More informationPowerPoint 프레젠테이션
Black Falcon 입팀과제 Yoda's Write by FireM@rine INDEX Protector 02 CONTENTS 파일보호기법 (Protector) Protector 사용목적 크래킹 (Crackin) 방지 프로그램이크랙되어서불법적으로사용되는것방지 ( 게임보앆프로그램 ) 코드및리소스보호 PE 파일자체를보호하며파일이실행되었을때프로세스메모리를보호하여덤프를뜨지못하게함
More informationMicrosoft Word - PE_structure.docx
PE의구조 < 밑의내용은 kkamagui 님이쓰신글과 Msdn Magazine 의 An In-Depth Look into the Win32 Portable Executable File Format Part I, II와 msdn의 Debugging and Error Handling Technical Articles 에기재된 Peering Inside the PE:
More information연재순서 실행파읷속으로 필자소개 싞영짂 웰비아닶컴에서보안프로그래머로읷하고있다. 시스템프로그래밍에관심이많으며다수의 PC 보안프로그램개발에참여했다. 현재데브피아 Visual C++ 섹션시
윈도우프로그래머를위한 PE 포맷가이드 실행파읷속으로 목차 목차... 1 License... 1 소개... 1 연재가이드... 1 연재순서... 2 필자소개... 2 필자메모... 2 Introduction... 2 PE 포맷의젂체적읶구조... 3 DOS 헤더및스텁코드... 5 NT 헤더... 5 섹션헤더... 7 RVA와파읷오프셋... 10 익스포트정보...
More informationSecure Programming Lecture1 : Introduction
Malware and Vulnerability Analysis Lecture1 Malware Analysis #1 Agenda 악성코드정적분석 악성코드분석 악성코드정적분석 정적분석 임의의코드또는응용프로그램을실행하지않고분석 ASCII 문자열 (ex. URL) API 리스트 Packing VT 기타등등 정적분석 : 파일식별 악성으로의심되는파일의형태식별 file
More informationMicrosoft Word - PE Infection ? How to Inject a dll.doc
Black- out Frenzy [ B] (F) Security Researcher Center B0Frenzy.freehostia.com PE Infection How to Inject a dll www.mihanit.net Thank you to my friends who help me in this research (K053,Heli, L U C I F
More information<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>
연습문제해답 5 4 3 2 1 0 함수의반환값 =15 5 4 3 2 1 0 함수의반환값 =95 10 7 4 1-2 함수의반환값 =3 1 2 3 4 5 연습문제해답 1. C 언어에서의배열에대하여다음중맞는것은? (1) 3차원이상의배열은불가능하다. (2) 배열의이름은포인터와같은역할을한다. (3) 배열의인덱스는 1에서부터시작한다. (4) 선언한다음, 실행도중에배열의크기를변경하는것이가능하다.
More informationDeok9_Exploit Technique
Exploit Technique CodeEngn Co-Administrator!!! and Team Sur3x5F Member Nick : Deok9 E-mail : DDeok9@gmail.com HomePage : http://deok9.sur3x5f.org Twitter :@DDeok9 > 1. Shell Code 2. Security
More informationWin32 실행파일 (PE) 의구조 Windows 운영체제실행파일의구조에대하여알아보자 Kali-KM
Win32 실행파일 (PE) 의구조 Windows 운영체제실행파일의구조에대하여알아보자. 2016.05.10 Kali-KM 2 목차 1. 개요... 5 2. PE 파일의전체구조... 6 3. PE 분석을위한개념정리... 8 (1) RVA (Relative Virtual Address)... 8 (2) Section... 8 (3) VAS (Virtual Address
More information[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi
2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Function) 1. 함수의개념 입력에대해적절한출력을발생시켜주는것 내가 ( 프로그래머 ) 작성한명령문을연산, 처리, 실행해주는부분 ( 모듈 ) 자체적으로실행되지않으며,
More informationMicrosoft PowerPoint - chap02-C프로그램시작하기.pptx
#include int main(void) { int num; printf( Please enter an integer "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 을 작성하면서 C 프로그램의
More informationPowerPoint 프레젠테이션
System Software Experiment 1 Lecture 5 - Array Spring 2019 Hwansoo Han (hhan@skku.edu) Advanced Research on Compilers and Systems, ARCS LAB Sungkyunkwan University http://arcs.skku.edu/ 1 배열 (Array) 동일한타입의데이터가여러개저장되어있는저장장소
More informationPoison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3
Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3 Example 3.1 Files 3.2 Source code 3.3 Exploit flow
More informationMicrosoft PowerPoint - chap06-2pointer.ppt
2010-1 학기프로그래밍입문 (1) chapter 06-2 참고자료 포인터 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- 포인터의정의와사용 변수를선언하는것은메모리에기억공간을할당하는것이며할당된이후에는변수명으로그기억공간을사용한다. 할당된기억공간을사용하는방법에는변수명외에메모리의실제주소값을사용하는것이다.
More information금오공대 컴퓨터공학전공 강의자료
C 프로그래밍프로젝트 Chap 13. 포인터와배열! 함께이해하기 2013.10.02. 오병우 컴퓨터공학과 13-1 포인터와배열의관계 Programming in C, 정재은저, 사이텍미디어. 9 장참조 ( 교재의 13-1 은읽지말것 ) 배열이름의정체 배열이름은 Compile 시의 Symbol 로서첫번째요소의주소값을나타낸다. Symbol 로서컴파일시에만유효함 실행시에는메모리에잡히지않음
More information슬라이드 1
-Part3- 제 4 장동적메모리할당과가변인 자 학습목차 4.1 동적메모리할당 4.1 동적메모리할당 4.1 동적메모리할당 배울내용 1 프로세스의메모리공간 2 동적메모리할당의필요성 4.1 동적메모리할당 (1/6) 프로세스의메모리구조 코드영역 : 프로그램실행코드, 함수들이저장되는영역 스택영역 : 매개변수, 지역변수, 중괄호 ( 블록 ) 내부에정의된변수들이저장되는영역
More informationEP의주소값이 "RVA : " 인것을볼수있다. 당연히올리디버거에서는해당 EP 값을이상하다고판단하여처음에 "System EP" 에서멈춘것이다. * ImageBase + RVA EP == VA EP == 현재바이너리에적용된프로
Level 38 이번레벨에서는이전과다른패커를언패킹하면서 DLL & TLS(Thread Local Storage Callback function) 을이용하여디버거를탐지하는것에대한우회방법을다룰것이다. 악성코드에서사용하는패커 / 프로텍터들은리버싱을어렵게하기위해자체적은방어코드를가지고있기때문에단순히분기문을패치하는식으로는해결되지않는다. 내부적으로호출되는함수들을계속 "Step-In"
More informationScalable Network-based Buffer Overflow Attack Detection
사례연구 : 보안강화를위한다형성도구 (Polymorphic Tool) 개발 임을규 (imeg@hanyang.ac.kr) 핚양대학교정보통신대학 유무선네트워크보안연구실 2008-02-18 1 Contents 용어설명 PE format의구조 실행압축 UPX 소스코드분석 Yoda s Protector Morphine 기존방법의문제점 다형성도구의응용 향후연구방향 참고문헌
More information<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C D616E2E637070>
#include "stdafx.h" #include "Huffman.h" 1 /* 비트의부분을뽑아내는함수 */ unsigned HF::bits(unsigned x, int k, int j) return (x >> k) & ~(~0
More informationMicrosoft PowerPoint - ch07 - 포인터 pm0415
2015-1 프로그래밍언어 7. 포인터 (Pointer), 동적메모리할당 2015 년 4 월 4 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) Outline 포인터 (pointer) 란? 간접참조연산자
More informationuntitled
시스템소프트웨어 : 운영체제, 컴파일러, 어셈블러, 링커, 로더, 프로그래밍도구등 소프트웨어 응용소프트웨어 : 워드프로세서, 스프레드쉬트, 그래픽프로그램, 미디어재생기등 1 n ( x + x +... + ) 1 2 x n 00001111 10111111 01000101 11111000 00001111 10111111 01001101 11111000
More informationMicrosoft Word - 과목1.Reverse Engineering.doc
Table of Content Module 1 RCE 란?...1 1-1. RCE 란?...2 1-2. RCE 관련법규...4 1-3. RCE 응용분야...6 Module 2 RCE 기초...9 2-1. CPU 동작방식...10 2-2. CPU 레지스터...12 2-3. Assembly...17 2-4. STACK 구조...21 2-5. 함수호출규약 (Calling
More informationMicrosoft PowerPoint - chap01-C언어개요.pptx
#include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 프로그래밍의 기본 개념을
More informationISP and CodeVisionAVR C Compiler.hwp
USBISP V3.0 & P-AVRISP V1.0 with CodeVisionAVR C Compiler http://www.avrmall.com/ November 12, 2007 Copyright (c) 2003-2008 All Rights Reserved. USBISP V3.0 & P-AVRISP V1.0 with CodeVisionAVR C Compiler
More informationAdobe Flash 취약점 분석 (CVE-2012-0754)
기술문서 14. 08. 13. 작성 GNU C library dynamic linker $ORIGIN expansion Vulnerability Author : E-Mail : 윤지환 131ackcon@gmail.com Abstract 2010 년 Tavis Ormandy 에 의해 발견된 취약점으로써 정확한 명칭은 GNU C library dynamic linker
More information슬라이드 1
CCS v4 사용자안내서 CCSv4 사용자용예제따라하기안내 0. CCS v4.x 사용자 - 준비사항 예제에사용된 CCS 버전은 V4..3 버전이며, CCS 버전에따라메뉴화면이조금다를수있습니다. 예제실습전준비하기 처음시작하기예제모음집 CD 를 PC 의 CD-ROM 드라이브에삽입합니다. 아래안내에따라, 예제소스와헤더파일들을 PC 에설치합니다. CD 드라이브 \SW\TIDCS\TIDCS_DSP80x.exe
More information설계란 무엇인가?
금오공과대학교 C++ 프로그래밍 jhhwang@kumoh.ac.kr 컴퓨터공학과 황준하 6 강. 함수와배열, 포인터, 참조목차 함수와포인터 주소값의매개변수전달 주소의반환 함수와배열 배열의매개변수전달 함수와참조 참조에의한매개변수전달 참조의반환 프로그래밍연습 1 /15 6 강. 함수와배열, 포인터, 참조함수와포인터 C++ 매개변수전달방법 값에의한전달 : 변수값,
More informationchap 5: Trees
5. Threaded Binary Tree 기본개념 n 개의노드를갖는이진트리에는 2n 개의링크가존재 2n 개의링크중에 n + 1 개의링크값은 null Null 링크를다른노드에대한포인터로대체 Threads Thread 의이용 ptr left_child = NULL 일경우, ptr left_child 를 ptr 의 inorder predecessor 를가리키도록변경
More informationMicrosoft PowerPoint - o8.pptx
메모리보호 (Memory Protection) 메모리보호를위해 page table entry에 protection bit와 valid bit 추가 Protection bits read-write / read-only / executable-only 정의 page 단위의 memory protection 제공 Valid bit (or valid-invalid bit)
More informationMicrosoft Word - PLC제어응용-2차시.doc
과정명 PLC 제어응용차시명 2 차시. 접점명령 학습목표 1. 연산개시명령 (LOAD, LOAD NOT) 에대하여설명할수있다. 2. 직렬접속명령 (AND, AND NOT) 에대하여설명할수있다. 3. 병렬접속명령 (OR, OR NOT) 에대하여설명할수있다. 4.PLC의접점명령을가지고간단한프로그램을작성할수있다. 학습내용 1. 연산개시명령 1) 연산개시명령 (LOAD,
More informationBMP 파일 처리
BMP 파일처리 김성영교수 금오공과대학교 컴퓨터공학과 학습내용 영상반전프로그램제작 2 Inverting images out = 255 - in 3 /* 이프로그램은 8bit gray-scale 영상을입력으로사용하여반전한후동일포맷의영상으로저장한다. */ #include #include #define WIDTHBYTES(bytes)
More informationA Dynamic Grid Services Deployment Mechanism for On-Demand Resource Provisioning
C Programming Practice (II) Contents 배열 문자와문자열 구조체 포인터와메모리관리 구조체 2/17 배열 (Array) (1/2) 배열 동일한자료형을가지고있으며같은이름으로참조되는변수들의집합 배열의크기는반드시상수이어야한다. type var_name[size]; 예 ) int myarray[5] 배열의원소는원소의번호를 0 부터시작하는색인을사용
More informationMicrosoft Word - FunctionCall
Function all Mechanism /* Simple Program */ #define get_int() IN KEYOARD #define put_int(val) LD A val \ OUT MONITOR int add_two(int a, int b) { int tmp; tmp = a+b; return tmp; } local auto variable stack
More informationadfasdfasfdasfasfadf
C 4.5 Source code Pt.3 ISL / 강한솔 2019-04-10 Index Tree structure Build.h Tree.h St-thresh.h 2 Tree structure *Concpets : Node, Branch, Leaf, Subtree, Attribute, Attribute Value, Class Play, Don't Play.
More informationActFax 4.31 Local Privilege Escalation Exploit
NSHC 2013. 05. 23 악성코드 분석 보고서 [ Ransomware 악성코드 ] 사용자의 컴퓨터를 강제로 잠그고 돈을 요구하는 형태의 공격이 기승을 부리고 있 습니다. 이러한 형태의 공격에 이용되는 악성코드는 Ransomware로 불리는 악성코 드 입니다. 한번 감염 시 치료절차가 복잡하며, 보고서 작성 시점을 기준으로 지속 적인 피해자가 발생되고
More informationJAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각
JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( http://java.sun.com/javase/6/docs/api ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각선의길이를계산하는메소드들을작성하라. 직사각형의가로와세로의길이는주어진다. 대각선의길이는 Math클래스의적절한메소드를이용하여구하라.
More information설계란 무엇인가?
금오공과대학교 C++ 프로그래밍 jhhwang@kumoh.ac.kr 컴퓨터공학과 황준하 5 강. 배열, 포인터, 참조목차 배열 포인터 C++ 메모리구조 주소연산자 포인터 포인터연산 배열과포인터 메모리동적할당 문자열 참조 1 /20 5 강. 배열, 포인터, 참조배열 배열 같은타입의변수여러개를하나의변수명으로처리 int Ary[10]; 총 10 개의변수 : Ary[0]~Ary[9]
More information<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D>
뻔뻔한 AVR 프로그래밍 The Last(8 th ) Lecture 유명환 ( yoo@netplug.co.kr) INDEX 1 I 2 C 통신이야기 2 ATmega128 TWI(I 2 C) 구조분석 4 ATmega128 TWI(I 2 C) 실습 : AT24C16 1 I 2 C 통신이야기 I 2 C Inter IC Bus 어떤 IC들간에도공통적으로통할수있는 ex)
More information슬라이드 1
Delino EVM 용처음시작하기 - 프로젝트만들기 (85) Delfino EVM 처음시작하기앞서 이예제는타겟보드와개발홖경이반드시갖추어져있어야실습이가능합니다. 타겟보드 : Delfino EVM + TMS0F85 초소형모듈 개발소프트웨어 : Code Composer Studio 4 ( 이자료에서사용된버전은 v4..입니다. ) 하드웨어장비 : TI 정식 JTAG
More informationPowerPoint 프레젠테이션
Chapter 08 함수 01 함수의개요 02 함수사용하기 03 함수와배열 04 재귀함수 함수의필요성을인식한다. 함수를정의, 선언, 호출하는방법을알아본다. 배열을함수의인자로전달하는방법과사용시장점을알아본다. 재귀호출로해결할수있는문제의특징과해결방법을알아본다. 1.1 함수의정의와기능 함수 (function) 특별한기능을수행하는것 여러가지함수의예 Page 4 1.2
More information금오공대 컴퓨터공학전공 강의자료
C 프로그래밍프로젝트 Chap 14. 포인터와함수에대한이해 2013.10.09. 오병우 컴퓨터공학과 14-1 함수의인자로배열전달 기본적인인자의전달방식 값의복사에의한전달 val 10 a 10 11 Department of Computer Engineering 2 14-1 함수의인자로배열전달 배열의함수인자전달방식 배열이름 ( 배열주소, 포인터 ) 에의한전달 #include
More information이 장에서 사용되는 MATLAB 명령어들은 비교적 복잡하므로 MATLAB 창에서 명령어를 직접 입력하지 않고 확장자가 m 인 text 파일을 작성하여 실행을 한다
이장에서사용되는 MATLAB 명령어들은비교적복잡하므로 MATLAB 창에서명령어를직접입력하지않고확장자가 m 인 text 파일을작성하여실행을한다. 즉, test.m 과같은 text 파일을만들어서 MATLAB 프로그램을작성한후실행을한다. 이와같이하면길고복잡한 MATLAB 프로그램을작성하여실행할수있고, 오류가발생하거나수정이필요한경우손쉽게수정하여실행할수있는장점이있으며,
More informationC# Programming Guide - Types
C# Programming Guide - Types 최도경 lifeisforu@wemade.com 이문서는 MSDN 의 Types 를요약하고보충한것입니다. http://msdn.microsoft.com/enus/library/ms173104(v=vs.100).aspx Types, Variables, and Values C# 은 type 에민감한언어이다. 모든
More informationPowerPoint Presentation
FORENSICINSIGHT SEMINAR SQLite Recovery zurum herosdfrc@google.co.kr Contents 1. SQLite! 2. SQLite 구조 3. 레코드의삭제 4. 삭제된영역추적 5. 레코드복원기법 forensicinsight.org Page 2 / 22 SQLite! - What is.. - and why? forensicinsight.org
More information윤성우의 열혈 TCP/IP 소켓 프로그래밍
C 프로그래밍프로젝트 Chap 22. 구조체와사용자정의자료형 1 2013.10.10. 오병우 컴퓨터공학과 구조체의정의 (Structure) 구조체 하나이상의기본자료형을기반으로사용자정의자료형 (User Defined Data Type) 을만들수있는문법요소 배열 vs. 구조체 배열 : 한가지자료형의집합 구조체 : 여러가지자료형의집합 사용자정의자료형 struct
More informationJVM 메모리구조
조명이정도면괜찮조! 주제 JVM 메모리구조 설미라자료조사, 자료작성, PPT 작성, 보고서작성. 발표. 조장. 최지성자료조사, 자료작성, PPT 작성, 보고서작성. 발표. 조원 이용열자료조사, 자료작성, PPT 작성, 보고서작성. 이윤경 자료조사, 자료작성, PPT작성, 보고서작성. 이수은 자료조사, 자료작성, PPT작성, 보고서작성. 발표일 2013. 05.
More informationiii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다.
Eclipse 개발환경에서 WindowBuilder 를이용한 Java 프로그램개발 이예는 Java 프로그램의기초를이해하고있는사람을대상으로 Embedded Microcomputer 를이용한제어시스템을 PC 에서 Serial 통신으로제어 (Graphical User Interface (GUI) 환경에서 ) 하는프로그램개발예를설명한다. WindowBuilder:
More informationAPI 매뉴얼
PCI-DIO12 API Programming (Rev 1.0) Windows, Windows2000, Windows NT and Windows XP are trademarks of Microsoft. We acknowledge that the trademarks or service names of all other organizations mentioned
More information서현수
Introduction to TIZEN SDK UI Builder S-Core 서현수 2015.10.28 CONTENTS TIZEN APP 이란? TIZEN SDK UI Builder 소개 TIZEN APP 개발방법 UI Builder 기능 UI Builder 사용방법 실전, TIZEN APP 개발시작하기 마침 TIZEN APP? TIZEN APP 이란? Mobile,
More information슬라이드 1
휴지통포렌식 JK Kim @pr0neer proneer@gmail.com 개요 1. 휴지통 2. 휴지통파일구조 3. 휴지통파일카빙 4. 휴지통파일분석 2 휴지통 Security is a people problem 3 휴지통 휴지통이란? 휴지통소개 윈도우에서파일을삭제할경우, 기본적으로삭제된파일은휴지통 (Recycle Bin) 영역으로이동 휴지통우회방법 SHIFT
More informationMicrosoft PowerPoint - a10.ppt [호환 모드]
Structure Chapter 10: Structures t and Macros Structure 관련된변수들의그룹으로이루어진자료구조 template, pattern field structure를구성하는변수 (cf) C언어의 struct 프로그램의 structure 접근 entire structure 또는 individual fields Structure는
More information03_queue
Queue Data Structures and Algorithms 목차 큐의이해와 ADT 정의 큐의배열기반구현 큐의연결리스트기반구현 큐의활용 덱 (Deque) 의이해와구현 Data Structures and Algorithms 2 큐의이해와 ADT 정의 Data Structures and Algorithms 3 큐 (Stack) 의이해와 ADT 정의 큐는 LIFO(Last-in,
More informationUI TASK & KEY EVENT
T9 & AUTOMATA 2007. 3. 23 PLATFORM TEAM 정용학 차례 T9 개요 새로운언어 (LDB) 추가 T9 주요구조체 / 주요함수 Automata 개요 Automata 주요함수 추후세미나계획 질의응답및토의 T9 ( 2 / 30 ) T9 개요 일반적으로 cat 이라는단어를쓸려면... 기존모드 (multitap) 2,2,2, 2,8 ( 총 6번의입력
More information임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과
임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과 System call table and linkage v Ref. http://www.ibm.com/developerworks/linux/library/l-system-calls/ - 2 - Young-Jin Kim SYSCALL_DEFINE 함수
More informationMicrosoft Word - windows server 2003 수동설치_non pro support_.doc
Windows Server 2003 수동 설치 가이드 INDEX 운영체제 설치 준비과정 1 드라이버를 위한 플로피 디스크 작성 2 드라이버를 위한 USB 메모리 작성 7 운영체제 설치 과정 14 Boot Sequence 변경 14 컨트롤러 드라이버 수동 설치 15 운영체제 설치 17 운영체제 설치 준비 과정 Windows Server 2003 에는 기본적으로
More information<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>
리눅스 오류처리하기 2007. 11. 28 안효창 라이브러리함수의오류번호얻기 errno 변수기능오류번호를저장한다. 기본형 extern int errno; 헤더파일 라이브러리함수호출에실패했을때함수예 정수값을반환하는함수 -1 반환 open 함수 포인터를반환하는함수 NULL 반환 fopen 함수 2 유닉스 / 리눅스 라이브러리함수의오류번호얻기 19-1
More informationMicrosoft PowerPoint - chap10-함수의활용.pptx
#include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 중 값에 의한 전달 방법과
More information11장 포인터
누구나즐기는 C 언어콘서트 제 9 장포인터 이번장에서학습할내용 포인터이란? 변수의주소 포인터의선언 간접참조연산자 포인터연산 포인터와배열 포인터와함수 이번장에서는포인터의기초적인지식을학습한다. 포인터란? 포인터 (pointer): 주소를가지고있는변수 메모리의구조 변수는메모리에저장된다. 메모리는바이트단위로액세스된다. 첫번째바이트의주소는 0, 두번째바이트는 1, 변수와메모리
More information6. 설치가시작되는동안 USB 드라이버가자동으로로드됩니다. USB 드라이버가성공적으로로드되면 Setup is starting( 설치가시작되는중 )... 화면이표시됩니다. 7. 화면지침에따라 Windows 7 설치를완료합니다. 방법 2: 수정된 Windows 7 ISO
Windows 7 설치및 PCIE RAID 설정정보 DK173 초판 11월 2016 A. Windows 7 및 USB 드라이버설치 칩셋사양에따라 Windows 7 설치중에 USB 키보드 / 마우스를사용하려면시스템에서 USB 드라이버를사전로드해야합니다. 이절에서는 USB 드라이버사전로드방법과 Windows 7 설치방법에대해서설명합니다. 방법 1: SATA ODD
More information11장 포인터
Dynamic Memory and Linked List 1 동적할당메모리의개념 프로그램이메모리를할당받는방법 정적 (static) 동적 (dynamic) 정적메모리할당 프로그램이시작되기전에미리정해진크기의메모리를할당받는것 메모리의크기는프로그램이시작하기전에결정 int i, j; int buffer[80]; char name[] = data structure"; 처음에결정된크기보다더큰입력이들어온다면처리하지못함
More informationDLL(Dynamic Linked Library)
제 11 장동적연결라이브러리 11.1 DLL 의링크 11.2 DLL 의종류 실습 11-1 Implicit 링킹을통한정규 DLL 달력만들기 실습 11-2 Explicit 링킹을통한정규 DLL 달력만들기 실습 11-3 확장 DLL 을통한주민등록번호조회 프로그램만들기 DLL(Dynamic Linked Library) DLL 이란? 동적연결라이브러리 프로그램내부에라이브러리가있는것이아니라따로독립적으로실행가능한파일
More informationMicrosoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100
2015-1 프로그래밍언어 9. 연결형리스트, Stack, Queue 2015 년 5 월 4 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) 연결리스트 (Linked List) 연결리스트연산 Stack
More information취약점분석보고서 [Photodex ProShow Producer v ] RedAlert Team 안상환
취약점분석보고서 [Photodex ProShow Producer v5.0.3256] 2012-07-24 RedAlert Team 안상환 목 차 1. 개요... 1 1.1. 취약점분석추진배경... 1 2. Photodex ProShow Producer Buffer Overflow 취약점분석... 2 2.1. Photodex ProShow Producer Buffer
More informationIntroduce
Windows Hook Jerald Lee Contact Me : lucid7@paran.com 본문서는저자가 Windows Hook을공부하면서알게된것들을정리할목적으로작성되었습니다. 본인이 Windows System에대해아는것의거의없기때문에기존에존재하는문서들을짜집기한형태의문서로밖에만들수가없었습니다. 문서를만들면서참고한책, 관련문서등이너무많아일일이다기술하지못한점에대해원문저자들에게매우죄송스럽게생각합니다.
More information쉽게 풀어쓴 C 프로그래밍
Power Java 제 7 장클래스와객체 이번장에서학습할내용 객체지향이란? 객체 메시지 클래스 객체지향의장점 String 클래스 객체지향개념을완벽하게이해해야만객체지향설계의이점을활용할수있다. 실제세계는객체로이루어진다. 객체지향이란? 실제세계를모델링하여소프트웨어를개발하는방법 절차지향과객체지향 절차지향프로그래밍 (procedural programming): 문제를해결하는절차를중요하게생각하는방법
More informationOPCTalk for Hitachi Ethernet 1 2. Path. DCOMwindow NT/2000 network server. Winsock update win95. . . 3 Excel CSV. Update Background Thread Client Command Queue Size Client Dynamic Scan Block Block
More informationPowerPoint Template
10 포인터 1 주소 Address( 주소 ) 메모리에는그메모리의저장장소의위치를나타내는주소값 주소 (address) 는 1 바이트마다 1 씩증가하도록메모리에는연속적인번호가구성 2 주소연산자 & & 변수 변수의주소값을알아내려면변수앞에주소연산자 & (ampersand) 를이용 주소값이용장단점 주소값을이용하면보다편리하고융통성있는프로그램이가능 그러나복잡하고어려운단점
More informationChapter ...
Chapter 4 프로세서 (4.9절, 4.12절, 4.13절) Contents 4.1 소개 4.2 논리 설계 기초 4.3 데이터패스 설계 4.4 단순한 구현 방법 4.5 파이프라이닝 개요*** 4.6 파이프라이닝 데이터패스 및 제어*** 4.7 데이터 해저드: 포워딩 vs. 스톨링*** 4.8 제어 해저드*** 4.9 예외 처리*** 4.10 명령어 수준
More information버퍼오버플로우-왕기초편 10. 메모리를 Hex dump 뜨기 앞서우리는버퍼오버플로우로인해리턴어드레스 (return address) 가변조될수있음을알았습니다. 이제곧리턴어드레스를원하는값으로변경하는실습을해볼것인데요, 그전에앞서, 메모리에저장된값들을살펴보는방법에대해배워보겠습
앞서우리는버퍼오버플로우로인해리턴어드레스 (return address) 가변조될수있음을알았습니다. 이제곧리턴어드레스를원하는값으로변경하는실습을해볼것인데요, 그전에앞서, 메모리에저장된값들을살펴보는방법에대해배워보겠습니다. 여러분모두 Windows 에서 hex editor(hex dump, hex viewer) 라는것을사용해보셨을겁니다. 바로바이너리파일을 16 진수
More information<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >
10주차 문자 LCD 의인터페이스회로및구동함수 Next-Generation Networks Lab. 5. 16x2 CLCD 모듈 (HY-1602H-803) 그림 11-18 19 핀설명표 11-11 번호 분류 핀이름 레벨 (V) 기능 1 V SS or GND 0 GND 전원 2 V Power DD or V CC +5 CLCD 구동전원 3 V 0 - CLCD 명암조절
More informationUI TASK & KEY EVENT
2007. 2. 5 PLATFORM TEAM 정용학 차례 CONTAINER & WIDGET SPECIAL WIDGET 질의응답및토의 2 Container LCD에보여지는화면한개 1개이상의 Widget을가짐 3 Container 초기화과정 ui_init UMP_F_CONTAINERMGR_Initialize UMP_H_CONTAINERMGR_Initialize
More informationMicrosoft Word - MSOffice_WPS_analysis.doc
MS Office.WPS File Stack Overflow Exploit 분석 (http://milw0rm.com/ 에공개된 exploit 분석 ) 2008.03.03 v0.5 By Kancho ( kancholove@gmail.com, www.securityproof.net ) milw0rm.com에 2008년 2월 13일에공개된 Microsoft Office.WPS
More informationKNK_C_05_Pointers_Arrays_structures_summary_v02
Pointers and Arrays Structures adopted from KNK C Programming : A Modern Approach 요약 2 Pointers and Arrays 3 배열의주소 #include int main(){ int c[] = {1, 2, 3, 4}; printf("c\t%p\n", c); printf("&c\t%p\n",
More informationPowerPoint 프레젠테이션
BOOTLOADER Jo, Heeseung 부트로더컴파일 부트로더소스복사및압축해제 부트로더소스는웹페이지에서다운로드 /working 디렉터리로이동한후, wget으로다운로드 이후작업은모두 /working 디렉터리에서진행 root@ubuntu:# cp /media/sm5-linux-111031/source/platform/uboot-s4210.tar.bz2 /working
More informationIDA use manual 1.0 Ad2m 1. IDA 기본구성 Menu Bar IDA 기본메뉴 Tool Bar 분석 Tool TAB 기능 (Hex, 그래프등 ) View Navigation Band 파일의코드부분을순차및섹션별색상으로보여줌. Disassembly 함수
IDA use manual 1.0 Ad2m 1. IDA 기본구성 Menu Bar IDA 기본메뉴 Tool Bar 분석 Tool TAB 기능 (Hex, 그래프등 ) View Navigation Band 파일의코드부분을순차및섹션별색상으로보여줌. Disassembly 함수 block 단위의 Disassembly 흐름 Funtions windows 분석 Tool Graph
More informationA Hierarchical Approach to Interactive Motion Editing for Human-like Figures
단일연결리스트 (Singly Linked List) 신찬수 연결리스트 (linked list)? tail 서울부산수원용인 null item next 구조체복습 struct name_card { char name[20]; int date; } struct name_card a; // 구조체변수 a 선언 a.name 또는 a.date // 구조체 a의멤버접근 struct
More information경우 1) 80GB( 원본 ) => 2TB( 복사본 ), 원본 80GB 는 MBR 로디스크초기화하고 NTFS 로포맷한경우 복사본 HDD 도 MBR 로디스크초기화되고 80GB 만큼포맷되고나머지영역 (80GB~ 나머지부분 ) 은할당되지않음 으로나온다. A. Window P
Duplicator 는기본적으로원본하드디스크를빠르게복사본하드디스크에복사하는기능을하는것입니다.. 복사본 하드디스크가원본하드디스크와똑같게하는것을목적으로하는것이어서저용량에서고용량으로복사시몇 가지문제점이발생할수있습니다. 하드디스크는사용하려면, 디스크초기화를한후에포맷을해야사용가능합니다. Windows PC는 MBR과 GPT 2 개중에 1개로초기화합니다. -Windows
More informationInstall stm32cubemx and st-link utility
STM32CubeMX and ST-LINK Utility for STM32 Development 본문서는 ST Microelectronics 의 ARM Cortex-M 시리즈 Microcontroller 개발을위해제공되는 STM32CubeMX 와 STM32 ST-LINK Utility 프로그램의설치과정을설명합니다. 본문서는 Microsoft Windows 7
More informationIDA 5.x Manual 07.02.hwp
IDA 5.x Manual - Manual 01 - 영리를 목적으로 한 곳에서 배포금지 Last Update 2007. 02 이강석 / certlab@gmail.com 어셈블리어 개발자 그룹 :: 어셈러브 http://www.asmlove.co.kr - 1 - IDA Pro 는 Disassembler 프로그램입니다. 기계어로 되어있는 실행파일을 어셈블리언어
More information목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2
제 8 장. 포인터 목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2 포인터의개요 포인터란? 주소를변수로다루기위한주소변수 메모리의기억공간을변수로써사용하는것 포인터변수란데이터변수가저장되는주소의값을 변수로취급하기위한변수 C 3 포인터의개요 포인터변수및초기화 * 변수데이터의데이터형과같은데이터형을포인터 변수의데이터형으로선언 일반변수와포인터변수를구별하기위해
More information*2008년1월호진짜
3. USB 이동식저장장치를이용하여전파되는악성코드분석 1. 개 요 최근 USB 이동식 저장장치를 통하여 전파되는 악성코드에 대한 감염피해가 증가하고 있어 주의가 필요하다. 이번에 확인된 ntion.exe 악성코드는 감염 시, 특정 사이트에 접속하여 추가 악성코드를 다운로드하는 Dropper 기능을 수행한다. 또한, 웹 서버가 감염될 경우는 웹 서버내의 웹 페이지가
More informationMicrosoft Word - ntasFrameBuilderInstallGuide2.5.doc
NTAS and FRAME BUILDER Install Guide NTAS and FRAME BUILDER Version 2.5 Copyright 2003 Ari System, Inc. All Rights reserved. NTAS and FRAME BUILDER are trademarks or registered trademarks of Ari System,
More informationPowerPoint 프레젠테이션
Chapter 10 포인터 01 포인터의기본 02 인자전달방법 03 포인터와배열 04 포인터와문자열 변수의주소를저장하는포인터에대해알아본다. 함수의인자를값과주소로전달하는방법을알아본다. 포인터와배열의관계를알아본다. 포인터와문자열의관계를알아본다. 1.1 포인터선언 포인터선언방법 자료형 * 변수명 ; int * ptr; * 연산자가하나이면 1 차원포인터 1 차원포인터는일반변수의주소를값으로가짐
More informationPowerPoint 프레젠테이션
오픈소스소프트웨어개발입문 (CP33992) 포인터 부산대학교공과대학정보컴퓨터공학부 학습목표 포인터선언과간접참조를통한포인터사용방법을알수있다. 함수의인수전달에서포인터의역할및사용방법을알수있다. 포인터를통한배열원소의참조방법에대해알수있다. 포인터의가감연산을통한다양한활용법을알수있다. 포인터를이용한문자열처리에대해알수있다. void 포인터, 함수포인터의사용방법을알수있다.
More informationWindows Server 2012
Windows Server 2012 Shared Nothing Live Migration Shared Nothing Live Migration 은 SMB Live Migration 방식과다른점은 VM 데이터파일의위치입니다. Shared Nothing Live Migration 방식은 Hyper-V 호스트의로컬디스크에 VM 데이터파일이위치합니다. 반면에, SMB
More information<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>
SIMATIC S7 Siemens AG 2004. All rights reserved. Date: 22.03.2006 File: PRO1_17E.1 차례... 2 심벌리스트... 3 Ch3 Ex2: 프로젝트생성...... 4 Ch3 Ex3: S7 프로그램삽입... 5 Ch3 Ex4: 표준라이브러리에서블록복사... 6 Ch4 Ex1: 실제구성을 PG 로업로드하고이름변경......
More information슬라이드 1
명령어집합 주소지정모드 (addressing mode) 내용 명령어는크게연산자부분과이연산에필요한주소부분으로구성 이때주소부분은다양한형태를해석될수있으며, 해석하는방법을주소지정방식 ( 모드 )(addressing mode) 라한다. 즉피연산자정보를구하는방법을주소지정방식이라고함 명령어형식 주소지정 명령어형식에있는주소필드는상대적으로짧다. 따라서지정할수있는위치가제한된다.
More informationPowerPoint Presentation
자바프로그래밍 1 배열 손시운 ssw5176@kangwon.ac.kr 배열이필요한이유 예를들어서학생이 10 명이있고성적의평균을계산한다고가정하자. 학생 이 10 명이므로 10 개의변수가필요하다. int s0, s1, s2, s3, s4, s5, s6, s7, s8, s9; 하지만만약학생이 100 명이라면어떻게해야하는가? int s0, s1, s2, s3, s4,
More informationSystem Recovery 사용자 매뉴얼
Samsung OS Recovery Solution 을이용하여간편하게 MagicInfo 의네트워크를설정하고시스템을백업및복원할수있습니다. 시스템시작시리모컨의 - 버튼이나키보드의 F3 키를연속해서누르면복구모드로진입한후 Samsung OS Recovery Solution 이실행됩니다. Samsung OS Recovery Solution 은키보드와리모컨을사용하여조작할수있습니다.
More informationPowerPoint 프레젠테이션
1. data-addressing mode CHAPTER 6 Addressing Modes 2. use of data-address mode to form assembly language statements 3. op of program memory address mode 4. use of program memory address mode to form assembly
More informationMicrosoft PowerPoint - chap06-5 [호환 모드]
2011-1 학기프로그래밍입문 (1) chapter 06-5 참고자료 변수의영역과데이터의전달 박종혁 Tel: 970-6702 Email: jhpark1@seoultech.ac.kr h k 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- ehanbit.net 자동변수 지금까지하나의함수안에서선언한변수는자동변수이다. 사용범위는하나의함수내부이다. 생존기간은함수가호출되어실행되는동안이다.
More informationMicrosoft PowerPoint - 15-MARS
MARS 소개및실행 어셈블리프로그램실행예 순천향대학교컴퓨터공학과이상정 1 MARS 소개및실행 순천향대학교컴퓨터공학과 2 MARS 소개 MARS MIPS Assembler and Runtime Simulator MIPS 어셈블리언어를위한소프트웨어시뮬레이터 미주리대학 (Missouri State Univ.) 의 Ken Vollmar 등이자바로개발한교육용시뮬레이터
More information디지털영상처리3
비트맵개요 BMP 파일의이해실제 BMP 파일의분석 BMP 파일을화면에출력 } 비트맵 (bitmap) 윈도우즈에서영상을표현하기위해사용되는윈도우즈 GDI(Graphic Device Interface) 오브젝트의하나 } 벡터그래픽 (vector graphics) 점, 선, 면등의기본적인그리기도구를이용하여그림을그리는방식 } 윈도우즈 GDI(Graphic Device
More informationPowerPoint Presentation
Class - Property Jo, Heeseung 목차 section 1 클래스의일반구조 section 2 클래스선언 section 3 객체의생성 section 4 멤버변수 4-1 객체변수 4-2 클래스변수 4-3 종단 (final) 변수 4-4 멤버변수접근방법 section 5 멤버변수접근한정자 5-1 public 5-2 private 5-3 한정자없음
More information슬라이드 1
정적메모리할당 (Static memory allocation) 일반적으로프로그램의실행에필요한메모리 ( 변수, 배열, 객체등 ) 는컴파일과정에서결정되고, 실행파일이메모리에로드될때할당되며, 종료후에반환됨 동적메모리할당 (Dynamic memory allocation) 프로그램의실행중에필요한메모리를할당받아사용하고, 사용이끝나면반환함 - 메모리를프로그램이직접관리해야함
More information