악성코드분석을위한 실행압축 해제기법 1. 개요 이제목을보고 실행압축이뭐야? 하는이도있을테고, 실행하면자동으로압축이풀리는 ZIP 파일과비슷한거아냐? 하고떠올리는이도있을것이다. 그러나여기서설명하는실행압축은그대상이다르다. 흔히말하는 ZIP, RAR처럼데이터들을하나로묶어놓는압
|
|
- 은숙 사
- 6 years ago
- Views:
Transcription
1 악성코드 분석을 위한 실행압축 해제 기법 NCSC-TR04025
2 악성코드분석을위한 실행압축 해제기법 1. 개요 이제목을보고 실행압축이뭐야? 하는이도있을테고, 실행하면자동으로압축이풀리는 ZIP 파일과비슷한거아냐? 하고떠올리는이도있을것이다. 그러나여기서설명하는실행압축은그대상이다르다. 흔히말하는 ZIP, RAR처럼데이터들을하나로묶어놓는압축과는달리그대상이 notepad.exe처럼실행할수있는파일을압축한것으로, 실행압축된 notepad.exe는압축을푸는과정없이바로프로그램을실행할수있다. 그럼이런실행압축을왜하는것일까? 예전처럼하드디스크용량이적었을때에는자주쓰지않는파일을압축해놓아디스크사용량을늘렸던적이있었지만오늘날에는하드디스크용량이넉넉하기때문에그럴만한이유가없을것이라고생각할수도있다. 그러나인터넷인프라가잘갖춰진우리나라의경우는예외겠지만, 압축을사용할경우짧은시간동안프로그램을다운받을수있기때문에요즘에도온라인상에있는파일들은대부분압축이되어있다. 특히실행파일의경우 ZIP과같은범용데이터압축보다는실행압축방식을사용하는쪽이더용량이적게사용되기때문이다. 8 악성코드도이런점을이용해짧은시간안에많은곳으로전파되도록실행압축을사용하고있으며, 백신제작자들로하여금악성코드를분석하기어렵도록하는데도사용된다. 분석하는데시간이걸리는동안악성코드전파시간을늘릴수있기때문이다. 이와반대로만약실행압축을빨리해제하여분석할수있다면, 그피해규모또한현저히줄일수있을것이다. 그렇다면실제실행압축을이용하는악성코드 ( 웜, 바이러스로한정 ) 에는어떤것들이있을까? 대표적인것으로 MyDoom, Netsky, Bagle, Agobot, Welchia, Sasser, Sobig 변종등을들수있다. 바이러스분야에어느 8. 한글 2002 Hwp.exe 원본크기는 1,626,112 바이트이고, 압축프로그램으로압축된 ZIP 파일은 670,508 바이트, UPX 방식의실행압축을사용할경우 563,200 바이트가되기때문에통신상에서판매하는쉐어웨어의경우실행파일압축이되어있는경우가많다. 1 Monthly 사이버시큐리티
3 정도관심이있다면쉽게알만한큰피해를주었던웜 바이러스들이다. 이와같은악성코드의분석을위해보다빠른실행압축해제방법을습득하는것은앞으로출현할악성코드에대비하는데도큰도움이된다. 2. PE(Portable Executable) 구조및실행압축기본원리 실제실행압축을분석하기전에, 알아야할 PE 구조및그실행압축기본원리를알아보자. [ 그림 30] PE 구조 Dos Stub 부분은 Dos에서실행할때 This program cannot be run in DOS mode 를출력해주는부분과파일이윈도우실행파일형식인 PE 포맷이라는걸알려주는부분이들어있다. File Header에는이실행파일이어느시스템 (i386, mips, alpha, powerpc) 에서실행될수있는지를알수있는정보가들어있다. 다음 Optional Header에는실행정보에대한기본정보들이들어있다.( 이후로나오는데이터구조들은 Visual C++ 프로그램에포함된 Winnt.h 파일내에포함된내용중관련부분을표시한것이다.) 2
4 악성코드분석을위한 실행압축 해제기법 // Standard fields. DWORD SizeOfCode; DWORD SizeOfInitializedData; DWORD SizeOfUninitializedData; DWORD AddressOfEntryPoint; DWORD BaseOfCode; DWORD BaseOfData; // 코드크기 // 프로그램이코드가시작할주소 // NT additional fields. DWORD ImageBase; DWORD SectionAlignment; DWORD FileAlignment; DWORD SizeOfImage; DWORD SizeOfHeaders; WORD Subsystem; // 프로그램이상주할기본주소 // 메모리상 Section 기본단위 // 파일상 Section 기본단위 // 다음에설명할 Section Headers의수 // Windows Dos 창프로그램, 또는윈도우프로그램 IMAGE_DATA_DIRECTORY DataDirectory[15]; 제일아래에는 IMAGE_DATA_DIRECTORY 배열이있는데, 그중첫번째요소인실행파일에서외부에서사용할수있는함수목록을가리키는 Export Directory, 두번째요소인내부에서사용하는함수목록을가리키는 Import Directory, 열세번째요소인내부에서사용하는함수목록의주소를가리키는 Import Address Table 주소값을담고있다. #define IMAGE_DIRECTORY_ENTRY_EXPORT #define IMAGE_DIRECTORY_ENTRY_IMPORT #define IMAGE_DIRECTORY_ENTRY_IAT 0 // Export Directory 1 // Import Directory 12 // Import Address Table 다음 Section Headers에는실행코드나데이터를담은 Section에대한위치정보가들어있다. 이 Section Header는프로그램에따라 Section 수가다르기때문에그수가가변적이다. // Section Header BYTE Name[8]; DWORD VirtualSize; DWORD VirtualAddress; DWORD SizeOfRawData; DWORD PointerToRawData; // Section 이름 // 메모리상에서 Section 크기 // 메모리상에서 Section 위치 // 파일상에서 Section 크기 // 파일상에서 Section 위치 3 Monthly 사이버시큐리티
5 위와같은 Section Header 하나가다음으로오는 Section 하나하나에대응한다. 이후의 Section 1, 2,.., n 내부데이터는특별한형식이없으며실행코드자체나데이터그자체의형태이다. 간단하게그림을그려보면 [ 그림 31] 과같다. [ 그림 31] Section Headers 설명그림 이러한 Section Data 들이여러 Header 정보를바탕으로파일에서메모리로복사된후몇가지중간과정을거쳐실행되는것이다. 이정도로 PE 구조에대한간단한설명을마치고실행압축프로그램원리를알아보자. 실행압축을하는프로그램 (Packer) 은아래그림처럼왼쪽과같은실행파일을오른쪽과같은형태로만든다. 즉프로그램의실제 Code 및 Data를프로그램상의다른곳에압축저장해두고실행압축해제루틴 (Unpacker) 이먼저실행되어압축저장한부분들을풀어낸다음시작하는방법으로동작한다. [ 그림 32] 실행압축되기전과압축후의파일구조 3. PE 파일분석으로보는실행압축 그럼실제파일을실행압축하여어떤변화가있는지알아보자. 사용툴은 PE 포맷을보는데유용한툴인 PE Explorer이다. 실행압축방법은 UPX를사용했다. 4
6 악성코드분석을위한 실행압축 해제기법 [ 그림 33] 실행압축되기전프로그램값 [ 그림 34] UPX 로실행압축된후프로그램값 [ 그림 33] 과 [ 그림 34] 에서, Size of Code, Base of Data, Size of Image 등이압축전과비교했을때바뀐것을알수있으며, 이에따라코드시작부분을가리키는 Entry Point 부분도바뀌었다. 또한 Data Directories의 Import Table과 Resource Table 내용도바뀌었지만그림에서나타내지는않았다. 그럼실제코드와데이터가들어있는 Section 내용을살펴보자. [ 그림 35] 실행압축되기전 Section 정보 5 Monthly 사이버시큐리티
7 [ 그림 36] 실행압축후의 Section 정보 [ 그림 35] 와 [ 그림 36] 을비교해보면,.rsrc란 Section 이름하나빼곤모든내용이다바뀌었다. [ 그림 35] 와 [ 그림 36] 은 notepad.exe를예로든것으로 Section 이름이.text,.data,.rsrc였지만, UPX0, UPX1,.rsrc로바뀌었으며, 그여러위치정보에관련된부분은같은것이하나도없다. 실행압축여부를확인하기위해꼭이렇게도구를써서확인해야하는것은아니며, WinHex와같은바이너리형태의파일내용을텍스트로볼수있는도구를이용해도가능하다. [ 그림 36] 과같이압축이안된경우알아볼수있는글자들이많은데반해압축된경우에는알아볼수있는글자들이얼마나오지않는다. [ 그림 37] WinHex 로본정상파일과실행압축파일비교 4. 파일보호기법 대부분의실행압축은파일크기를작게하기위한것이큰이유이다. 앞에서도언급했지만악성코드가압축을하는목적은파일크기를작게하여빠르게전파되도록하는한편분석을어렵게하기위한것으로실제악성코드에서사용되고있는실행압축해제를어렵게하는방법에대해서알아보자. 통상적으로분석을어렵게하기위해파일보호프로그램을사용하는데이를 Protector( 편의상 Crypter와 Protector들이있지만합쳐 Protector로한다.) 라한다. 자주사용되는것으로는 yoda Crypter, PE Crypt가있다. 이툴이사용하는기법으로는암호화, 코드치환, 디버거무력화, API Redirection 등몇몇기술이있다. 간단하게위기법들에대해설명해보면, 암호화는간단한 XOR 연산을이용해해석불가능한코드를만드는기법이고, 코드치환은실제같은일을하는다른코드로치환하는방법으로패턴을사용해어셈블리어수준이아닌좀더높은수준으로분석해주는툴을무력화시키며, 디버거무력화는글자그래도디버거로분석할 6
8 악성코드분석을위한 실행압축 해제기법경우프로그램자체가비정상종료되어버리며, API Redirection은함수호출을몇단계거치도록해분석을어렵게한다. 실행압축을한파일에위와같은기법을추가로사용한파일보호를실행하면 [ 그림 38] 과같은형태를지닌다. [ 그림 38] 실행압축과파일보호를했을때파일구조 이경우실행압축된파일에파일보호기능까지되어있으며, 이를위해 PEiD라는프로그램을이용하였다. [ 그림 39] 처럼어떤툴로보호가되었는지를알수있으며, [ 그림 39] 는 yoda s crypter 1.2라는방식으로파일보호기능이되어있음을나타내고있다. 그러나, 파일보호방식이최신의방식이라면확인이불가능할것이다. [ 그림 39] PEiD 를이용한파일검사 5. 실행압축해제의기본원리 그럼이제가장중요한실행압축을해제하기위한기본원리를알아보자. 무엇보다중요한건 결과적으로프로그램은실행돼야한다는점이다. 아무리압축을하고, 암호화를하더라도작동하지않으면아무런쓸모가없다. 그리고다음으로중요한건 실행대상이될프로그램기본구조자체는바꿀수없다. 즉, 줄하나를 7 Monthly 사이버시큐리티
9 이리꼬고저리꼬더라도줄은풀수있으며, 그줄이두개나세개의줄로되지는않는다는점이다. 이내용을기술적인내용으로바꾸면, 기본원리는실행압축프로그램이실행되는어느시점에서는압축되기전상태로돌아가야하며, 그때메모리상태를 Dump( 메모리내용을그대로파일로저장 ) 하고, Entry Point 를압축하기전위치로설정해주면된다는점이다. 특히어느시점을 OEP(Original Entry Point) 라고하며, PEP(Packed Entry Point, 실행압축된프로그램에서처음시작하는코드위치 ) 와비교한다. 이 OEP만찾을수있다면실행압축해제는아주쉽게이루어질수있다. [ 그림 40] 은실행압축프로그램을실행해서압축하기전상태로돌아간어느시점의메모리상태이다. 이때실행코드위치는 OEP 부분 9 이다. [ 그림 40] 파일보호및실행압축시 PEP, OEP 위치 위의예는약간일반적이기때문에, 실제 UPX 실행압축을사용한파일을예로들어설명해보겠다. 먼저 UPX로실행압축된프로그램의경우처음시작할때 UPX1에 PEP가있어 UPX1이실행 10 된다. 9. 앞의예도마찬가지로이건그림상 Entry Point가해당 Section 처음을가리키는것으로나와있을뿐이지대부분 Section 내의다른위치를가리킨다. 10. UPX1 Section에 Unpacker와 Code+Data가있다고의문을가질수있겠지만, 이처럼한 Section에 Code와 Data 모두들어갈수있다. 앞에서도나왔지만 Section Data에대한제한사항은없다. 8
10 악성코드분석을위한 실행압축 해제기법 [ 그림 41] UPX 로실행압축된파일과실행압축이풀린후파일구조 UPX1의 Unpacker 루틴이끝나면 EIP가 UPX0의어느부분을가리키게된다. 즉이부분이 OEP이다. 그래서 EIP 값을검사하다가 UPX1에서 UPX0로넘어갈때프로그램작동을멈추면된다. yoda Crypter로보호된프로그램의경우, 처음시작을 yc라는 Section에서시작한다. yc에서.text와.data 의암호화를해제한다음수행코드부분을.text로넘긴다. 그렇지만 yoda Crypter의경우디버깅하는걸알아내서전혀다른곳으로분기해버린다. [ 그림 42] Yoda Crypter 로파일보호된파일구조 그후에 Access Violation에러를만나프로그램이종료돼버린다. 그래서다른방법으로 Stack을이용한다. 처음시작할때 Stack위치와보호가해제되었을때 Stack위치가같다는점을이용한다. 즉, Protector루틴을하나의함수라고하면, 함수가종료하면다시실행되기이전상태로돌려놓기때문에 Stack위치도이전상태로돌아올때가 Protector가종료한시점이며, 이때보호가해제된때라고예측하는것이다. 9 Monthly 사이버시큐리티
11 6. 실행압축해제실습그럼실제실행압축한파일을해제해보자. 먼저파일보호를한경우의해제와이후실행압축을푸는과정을알아보자. 파일보호와실행압축을둘다적용한경우는아래설명한방법대로하나씩풀어내면된다. 사용한파일은 Windows 2000에포함된 notepad.exe를 yoda Crypter로보호한파일 notepad_yoda.exe와 notepad.exe를 UPX로실행압축한 notepad_upx.exe이다. 그럼 UPX로실행압축한 notepad_upx.exe 파일을해제해보자. PEiD로이파일을검사하면 UPX 라는메시지를출력하며 PE Explorer로보면 Section 이름들이 UPX0, UPX1으로되어있어 UPX로압축한것임을쉽게알아낼수있다. Ollydbg를사용해디버깅을시작하자. [ 그림 43] UPX 로실행압축된 notepad_upx.exe Section 및메모리위치 [ 그림 44] Trace 시브레이크조건설정 시작하면파일이압축되어있는거같다며, 에러를출력한다. 이때 아니오 를선택하고 Alt-M을눌러메모리구조에서 UPX0 위치를판단하고 Ctrl-T를눌러 EIP가 UPX0로가면멈추도록설정해놓는다. 그리고 Trace(Ctrl-F12) 한후얼마간시간이지난뒤멈추면 Push EBP 부분이보이는데이위치가압축이다풀린 OEP이다. 이메모리내용을 Dump 프로그램으로파일형태로만든다음시작위치를 PEP가아닌 OEP 위치로파일의 PE 내용중 Address of Entry Point 부분으로고쳐놓으면된다. [ 그림 45] 실행이 OEP 에서멈춰있는화면 10
12 악성코드분석을위한 실행압축 해제기법 [ 그림 46] Dump 할때 EP 를 PEP 에서 OEP 로변경하는화면 다음으로 yoda Cryter로보호한파일을해제해보자. notepad_yoda.exe의경우 Section 이름중에 yc가있으므로쉽게알수있다. Step Over(F8) 를몇번실행한다음처음만나는 Call 루틴에서멈춰 ESP를가리키는 Stack 영역에이메모리영역을읽으면멈추도록브레이크를걸어놓는다. 그리고실행시키면예외가발생하는데무시하고, 실행시키면예외처리루틴에서 OEP로이동시킨다. 그렇지만, 자세히보면대부분의함수는 PUSH EBP, MOV EBP ESP로시작하는데 MOV EBP ESP에서멈추었으므로 OEP 주소를 -1 수정해주어야한다. 이를메모리 Dump 프로그램을사용해서파일형태로만들고찾은 OEP 값으로 PE 파일의 Entry Point 부분을고쳐놓으면된다. [ 그림 47] 실행이 OEP 에서멈춘화면 [ 그림 48] Dump 할때 EP 를 PEP 에서 OEP 로변경하는화면 이렇게했지만실제 Dump한파일은실행이되지않는다. 왜냐하면, 메모리내용과실제실행파일과는몇가지차이점이존재하기때문이다. 파일에서 A위치와 B위치라고할경우, 메모리상에는각 Section마다다른위치에로드될수있기때문에위치가달라진다. 그래서파일내에메모리관련부분은메모리상에서위치를가진 RVA(Relative Virtual Address) 값을사용한다. 또다른문제는 IAT(Import Address Table) 에있다. Dump할때는그시스템의메모리위치를포함해 Dump가된다. 그렇지만각시스템마다함수들의메모리주소가다르고, Packer나 Protector에서 IAT를변경해버리기때문에다른곳에서도프로그램을실행할수있게 IAT내용을재구성해주어야한다. 메모리주 11 Monthly 사이버시큐리티
13 소로만나와있는부분을아래처럼함수이름으로찾아줄수있도록재구성해주어야한다. Import Address Table에대한데이터구조와간단한그림을그려보면다음과같다. [ 그림 49] Import Address Table 관련자료구조설명 이러한 IMAGE_IMPORT_DESCRIPTOR가각 dll마다하나씩있고, OriginalFirstThunk와 FirstThunk는 IMAGE_IMPORT_BY_NAME으로구성된배열을가리키고있다가실제메모리로프로그램이로드되면, FirstThunk 부분은실제각함수들의주소를가진배열로변경된다. IMAGE_IMPORT_DESCRIPTOR; // [ 그림 49] 의빨간색부분의데이터구조 DWORD OriginalFirstThunk;.. DWORD Name; DWORD FirstThunk; IMAGE_IMPORT_BY_NAME // [ 그림 49] 의파란색부분의데이터구조 WORD Hint; BYTE Name[1]; IMAGE_THUNK_DATA32 // [ 그림 49] 의연녹색부분의데이터구조 union { PDWORD Function; DWORD Ordinal; PIMAGE_IMPORT_BY_NAME AddressOfData; } u1; 12
14 악성코드분석을위한 실행압축 해제기법이경우, 사람손으로하기에는귀찮은작업이므로, 대부분툴에서알아서함수이름을재구성해준다. Ollydbg의플러그인 OllyDump를보면다음과같은부분을볼수있다. 이부분을설정하면 IAT 부분까지 Dump와함께처리해준다. [ 그림 50] OllyDump 화면중 Import 관련부분 이렇게 IAT를수정하면파일을실행할수있다. 실행원리는복잡해보이지만, 현재는툴이잘나와있어서이런복잡한과정을거칠필요없이실행압축및파일보호를해제할수있다. 참고로 Ollydbg는 OEP를찾는스크립트, IAT Rebuilding Dump 등을플러그인상태로제공해주고있기때문에 PE 파일구조를모르더라도쉽게할수있다. 7. 맺음말 이처럼실행압축을해제하는것은그다지어렵지않으며, 인터넷에해제툴들이있다. 물론새로나온형태의경우에는디버거로일일이조사해가면서실행압축을해제하겠지만, 그런경우는많지않다. 본내용에대한궁금점이나추가적인정보를얻기위해서는아래에소개하는참고사이트를참조토록하고, 이글이앞으로나올실행압축된악성코드로인한피해예방에조금이나마도움이되기를바란다. 참고사이트 open reverse forums 국내 Reverse Engineering 하는사람들이주로찾는곳 codediver 개인으로 Asprotect, PE, Soft-ICE에대한내용을주로다룬다 Monthly 사이버시큐리티
15 OllyDbg 사용자편의성이뛰어나고, 플러그인기능으로기능확장이충실한디버거 OllyDbg User Forum OllyDbg 관련여러디버깅 FAQ와플러그인사이트링크포함 ASPack, AsProtect 많은쉐어웨어에서사용하는실행압축프로그램 ASPack을개발하는사이트 Packers/Crypters/Protectors 수많은 Packers/Crypters/Protectors에대한설명이있는사이트 Unpackers/decrypters/unprotectors 수많은 Unpackers/decrypters/unprotectors에대한설명이있는사이트 Yoda Crypter Yoda Crypter를개발하는사이트 Learn to Crack 초보자를위한설명들이많은사이트
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 informationPowerPoint 프레젠테이션
Black Falcon 입팀과제 Yoda's Write by FireM@rine INDEX Protector 02 CONTENTS 파일보호기법 (Protector) Protector 사용목적 크래킹 (Crackin) 방지 프로그램이크랙되어서불법적으로사용되는것방지 ( 게임보앆프로그램 ) 코드및리소스보호 PE 파일자체를보호하며파일이실행되었을때프로세스메모리를보호하여덤프를뜨지못하게함
More information< C6520B1B8C1B6BFCD20BEF0C6D0C5B7C0C720BFF8B8AE2E687770>
PE FILE 구조와 언패킹의원리 지선호 kissmefox@gmail.com - 1 - < PE FILE 이란 > -win32 운영체제에서이용되는파일형식 ( 현재사용되는대부분의 OS) -Portable executable, : exe, dll, ocx 이식가능한실행파일형식 - 윈도우의바이너리를분석하기위한가장기본이되는지식 : unpacking, API Hooking,
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 informationSecure Programming Lecture1 : Introduction
Malware and Vulnerability Analysis Lecture1 Malware Analysis #1 Agenda 악성코드정적분석 악성코드분석 악성코드정적분석 정적분석 임의의코드또는응용프로그램을실행하지않고분석 ASCII 문자열 (ex. URL) API 리스트 Packing VT 기타등등 정적분석 : 파일식별 악성으로의심되는파일의형태식별 file
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 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 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 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 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 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 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 informationMicrosoft PowerPoint - CSharp-10-예외처리
10 장. 예외처리 예외처리개념 예외처리구문 사용자정의예외클래스와예외전파 순천향대학교컴퓨터학부이상정 1 예외처리개념 순천향대학교컴퓨터학부이상정 2 예외처리 오류 컴파일타임오류 (Compile-Time Error) 구문오류이기때문에컴파일러의구문오류메시지에의해쉽게교정 런타임오류 (Run-Time Error) 디버깅의절차를거치지않으면잡기어려운심각한오류 시스템에심각한문제를줄수도있다.
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 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 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 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 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[ 마이크로프로세서 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 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 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 informationhlogin2
0x02. Stack Corruption off-limit Kernel Stack libc Heap BSS Data Code off-limit Kernel Kernel : OS Stack libc Heap BSS Data Code Stack : libc : Heap : BSS, Data : bss Code : off-limit Kernel Kernel : OS
More informationMicrosoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx
To be an Android Expert 문양세강원대학교 IT 대학컴퓨터학부 개발환경구조및설치순서 JDK 설치 Eclipse 설치 안드로이드 SDK 설치 ADT(Androd Development Tools) 설치 AVD(Android Virtual Device) 생성 Hello Android! 2 Eclipse (IDE) JDK Android SDK with
More informationMicrosoft Word - Crackme 15 from Simples 문제 풀이_by JohnGang.docx
CrackMe 15.exe (in Simples) 문제풀이 동명대학교정보보호동아리 THINK www.mainthink.net 강동현 Blog: johnghb.tistory.com e-mail: cari2052@gmail.com 1 목차 : 1. 문제설명및기본분석 --------------------------- P. 03 2 상세분석 ---------------------------
More information버퍼오버플로우-왕기초편 10. 메모리를 Hex dump 뜨기 앞서우리는버퍼오버플로우로인해리턴어드레스 (return address) 가변조될수있음을알았습니다. 이제곧리턴어드레스를원하는값으로변경하는실습을해볼것인데요, 그전에앞서, 메모리에저장된값들을살펴보는방법에대해배워보겠습
앞서우리는버퍼오버플로우로인해리턴어드레스 (return address) 가변조될수있음을알았습니다. 이제곧리턴어드레스를원하는값으로변경하는실습을해볼것인데요, 그전에앞서, 메모리에저장된값들을살펴보는방법에대해배워보겠습니다. 여러분모두 Windows 에서 hex editor(hex dump, hex viewer) 라는것을사용해보셨을겁니다. 바로바이너리파일을 16 진수
More informationMicrosoft PowerPoint 통신 및 압축 명령어.ppt
컴퓨터특강 () 2006 년봄학기 문양세강원대학교컴퓨터과학과 PING 원격지컴퓨터의상태 (accessible 여부 ) 를확인 $ ping host-name // alive or dead check $ ping s host-name // packet 송수신확인 Page 2 1 TELNET (1/4) telnet 은원격지에있는상대방컴퓨터에자신의컴퓨터를접속하여,
More information슬라이드 1
-Part3- 제 4 장동적메모리할당과가변인 자 학습목차 4.1 동적메모리할당 4.1 동적메모리할당 4.1 동적메모리할당 배울내용 1 프로세스의메모리공간 2 동적메모리할당의필요성 4.1 동적메모리할당 (1/6) 프로세스의메모리구조 코드영역 : 프로그램실행코드, 함수들이저장되는영역 스택영역 : 매개변수, 지역변수, 중괄호 ( 블록 ) 내부에정의된변수들이저장되는영역
More information4S 1차년도 평가 발표자료
모바일 S/W 프로그래밍 안드로이드개발환경설치 2012.09.05. 오병우 모바일공학과 JDK (Java Development Kit) SE (Standard Edition) 설치순서 Eclipse ADT (Android Development Tool) Plug-in Android SDK (Software Development Kit) SDK Components
More informationMicrosoft PowerPoint - chap06-2pointer.ppt
2010-1 학기프로그래밍입문 (1) chapter 06-2 참고자료 포인터 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- 포인터의정의와사용 변수를선언하는것은메모리에기억공간을할당하는것이며할당된이후에는변수명으로그기억공간을사용한다. 할당된기억공간을사용하는방법에는변수명외에메모리의실제주소값을사용하는것이다.
More informationMicrosoft Word - building the win32 shellcode 01.doc
Win32 Attack 1. Local Shellcode 작성방법 By 달고나 (Dalgona@wowhacker.org) Email: zinwon@gmail.com Abstract 이글은 MS Windows 환경에서 shellcode 를작성하는방법에대해서설명하고있다. Win32 는 *nix 환경과는사뭇다른 API 호출방식을사용하기때문에조금복잡하게둘러서 shellcode
More informationMicrosoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx
To be an Android Expert 문양세강원대학교 IT 대학컴퓨터학부 Eclipse (IDE) JDK Android SDK with ADT IDE: Integrated Development Environment JDK: Java Development Kit (Java SDK) ADT: Android Development Tools 2 JDK 설치 Eclipse
More informationNo Slide Title
Copyright, 2017 Multimedia Lab., UOS 시스템프로그래밍 (Assembly Code and Calling Convention) Seong Jong Choi chois@uos.ac.kr Multimedia Lab. Dept. of Electrical and Computer Eng. University of Seoul Seoul, Korea
More information금오공대 컴퓨터공학전공 강의자료
C 프로그래밍프로젝트 Chap 14. 포인터와함수에대한이해 2013.10.09. 오병우 컴퓨터공학과 14-1 함수의인자로배열전달 기본적인인자의전달방식 값의복사에의한전달 val 10 a 10 11 Department of Computer Engineering 2 14-1 함수의인자로배열전달 배열의함수인자전달방식 배열이름 ( 배열주소, 포인터 ) 에의한전달 #include
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 informationBMP 파일 처리
BMP 파일처리 김성영교수 금오공과대학교 컴퓨터공학과 학습내용 영상반전프로그램제작 2 Inverting images out = 255 - in 3 /* 이프로그램은 8bit gray-scale 영상을입력으로사용하여반전한후동일포맷의영상으로저장한다. */ #include #include #define WIDTHBYTES(bytes)
More information목차 1. 소개... 3 가. BOF란?... 3 나. 윈도우 BOF 개발환경및사용툴 Shellcode 작성하기... 4 가. cmd 쉘 ) 소스코드작성 ) 디스어셈블리 ) 어셈블리코드편집 간단
기술문서 `09. 11. 02. 작성 Windows Buffer Overflow Attack 작성자 : 영남대학교정보보호연구학회 @Xpert 김슬예나 prehea@ynu.ac.kr 1 목차 1. 소개... 3 가. BOF란?... 3 나. 윈도우 BOF... 3 2. 개발환경및사용툴... 3 3. Shellcode 작성하기... 4 가. cmd 쉘... 4
More informationJDK이클립스
JDK 와이클립스설치 A. JDK 다운로드, 설치및환경설정 지금부터 JDK를다운로드받아설치하고 JDK를윈도우에서활용할수있도록환경을설정하는전과정을소개한다. 다운로드 www.oracle.com 사이트에접속하여 Downloads 메뉴를선택한후 [ 그림 1] 과같이 "Java for Developers" 를클릭한다. [ 그림 1] www.oracle.com 사이트
More information금오공대 컴퓨터공학전공 강의자료
C 프로그래밍프로젝트 Chap 13. 포인터와배열! 함께이해하기 2013.10.02. 오병우 컴퓨터공학과 13-1 포인터와배열의관계 Programming in C, 정재은저, 사이텍미디어. 9 장참조 ( 교재의 13-1 은읽지말것 ) 배열이름의정체 배열이름은 Compile 시의 Symbol 로서첫번째요소의주소값을나타낸다. Symbol 로서컴파일시에만유효함 실행시에는메모리에잡히지않음
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 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 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 informationhlogin7
0x07. Return Oriented Programming ROP? , (DEP, ASLR). ROP (Return Oriented Programming) (excutable memory) rop. plt, got got overwrite RTL RTL Chain DEP, ASLR gadget Basic knowledge plt, got call function
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 informationLab 3. 실습문제 (Single linked list)_해답.hwp
Lab 3. Singly-linked list 의구현 실험실습일시 : 2009. 3. 30. 담당교수 : 정진우 담당조교 : 곽문상 보고서제출기한 : 2009. 4. 5. 학과 : 학번 : 성명 : 실습과제목적 : 이론시간에배운 Singly-linked list를실제로구현할수있다. 실습과제내용 : 주어진소스를이용해 Singly-linked list의각함수를구현한다.
More informationuntitled
시스템소프트웨어 : 운영체제, 컴파일러, 어셈블러, 링커, 로더, 프로그래밍도구등 소프트웨어 응용소프트웨어 : 워드프로세서, 스프레드쉬트, 그래픽프로그램, 미디어재생기등 1 n ( x + x +... + ) 1 2 x n 00001111 10111111 01000101 11111000 00001111 10111111 01001101 11111000
More informationDiscrete Mathematics
컴퓨터특강 () 2005 년봄학기 문양세컴퓨터과학과강원대학교자연과학대학 PING 원격지컴퓨터의상태 (accessible 여부 ) 를확인 $ ping host-name // alive or dead check $ ping s host-name // packet 송수신확인 Page 2 TELNET (1/4) telnet 은원격지에있는상대방컴퓨터에자신의컴퓨터를접속하여,
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 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<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>
리눅스 오류처리하기 2007. 11. 28 안효창 라이브러리함수의오류번호얻기 errno 변수기능오류번호를저장한다. 기본형 extern int errno; 헤더파일 라이브러리함수호출에실패했을때함수예 정수값을반환하는함수 -1 반환 open 함수 포인터를반환하는함수 NULL 반환 fopen 함수 2 유닉스 / 리눅스 라이브러리함수의오류번호얻기 19-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 information경우 1) 80GB( 원본 ) => 2TB( 복사본 ), 원본 80GB 는 MBR 로디스크초기화하고 NTFS 로포맷한경우 복사본 HDD 도 MBR 로디스크초기화되고 80GB 만큼포맷되고나머지영역 (80GB~ 나머지부분 ) 은할당되지않음 으로나온다. A. Window P
Duplicator 는기본적으로원본하드디스크를빠르게복사본하드디스크에복사하는기능을하는것입니다.. 복사본 하드디스크가원본하드디스크와똑같게하는것을목적으로하는것이어서저용량에서고용량으로복사시몇 가지문제점이발생할수있습니다. 하드디스크는사용하려면, 디스크초기화를한후에포맷을해야사용가능합니다. Windows PC는 MBR과 GPT 2 개중에 1개로초기화합니다. -Windows
More informationPowerPoint 프레젠테이션
EndNote Q & A EndNote Library 압축저장하기 : enlx 압축파일만들기 EndNote Library 글씨체변경 PDF 반입시 Reference 오류 : DOI 를활용하여 Reference 자동입력 중복된 Reference 찾기 Reference 병합하기 Group Reference 구분기호수정 논문제목영어대문자로입력하기 화학식원형으로표현하기
More information슬라이드 1
Delino EVM 용처음시작하기 - 프로젝트만들기 (85) Delfino EVM 처음시작하기앞서 이예제는타겟보드와개발홖경이반드시갖추어져있어야실습이가능합니다. 타겟보드 : Delfino EVM + TMS0F85 초소형모듈 개발소프트웨어 : Code Composer Studio 4 ( 이자료에서사용된버전은 v4..입니다. ) 하드웨어장비 : TI 정식 JTAG
More informationSecure Programming Lecture1 : Introduction
Malware and Vulnerability Analysis Lecture3-2 Malware Analysis #3-2 Agenda 안드로이드악성코드분석 악성코드분석 안드로이드악성코드정적분석 APK 추출 #1 adb 명령 안드로이드에설치된패키지리스트추출 adb shell pm list packages v0nui-macbook-pro-2:lecture3 v0n$
More information11장 포인터
누구나즐기는 C 언어콘서트 제 9 장포인터 이번장에서학습할내용 포인터이란? 변수의주소 포인터의선언 간접참조연산자 포인터연산 포인터와배열 포인터와함수 이번장에서는포인터의기초적인지식을학습한다. 포인터란? 포인터 (pointer): 주소를가지고있는변수 메모리의구조 변수는메모리에저장된다. 메모리는바이트단위로액세스된다. 첫번째바이트의주소는 0, 두번째바이트는 1, 변수와메모리
More informationMicrosoft Word - CPL-TR wireshark.doc
Protocol Analyzer: Wireshark 설치가이드 2008 년 10 월 경북대학교통신프로토콜연구실 김지인 (jiin16@gmail.com) 요약 현재다양한 Protocol Analyzer가존재하고있다. 이문서는그중하나인 Wireshark에대한일종의매뉴얼로 Wireshark에대한정보와그설치법에대해정리한것이다. 목 차 1. 서론... 2 2. WIRESHARK란?...
More informationAhnLab V3 Zip 2.0 제품설명서 Copyright (C) AhnLab, Inc. 2009-2011. All rights reserved. AhnLab V3 Zip 2.0 도움말의내용과프로그램은저작권법과컴퓨터프로그램보호법에의해서보호받고있습니다. 이도움말에표기된제품명은각사의등록상표입니다. 도움말버전 : v2.0r1 제품출시 : 2010 년 11 월
More informationData Sync Manager(DSM) Example Guide Data Sync Manager (DSM) Example Guide DSM Copyright 2003 Ari System, Inc. All Rights reserved. Data Sync Manager
Data Sync Manager (DSM) Example Guide DSM Copyright 2003 Ari System, Inc. All Rights reserved. Data Sync Manager are trademarks or registered trademarks of Ari System, Inc. 1 Table of Contents Chapter1
More informationMicrosoft PowerPoint - Java7.pptx
HPC & OT Lab. 1 HPC & OT Lab. 2 실습 7 주차 Jin-Ho, Jang M.S. Hanyang Univ. HPC&OT Lab. jinhoyo@nate.com HPC & OT Lab. 3 Component Structure 객체 (object) 생성개념을이해한다. 외부클래스에대한접근방법을이해한다. 접근제어자 (public & private)
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학습목차 2.1 다차원배열이란 차원배열의주소와값의참조
- Part2- 제 2 장다차원배열이란무엇인가 학습목차 2.1 다차원배열이란 2. 2 2 차원배열의주소와값의참조 2.1 다차원배열이란 2.1 다차원배열이란 (1/14) 다차원배열 : 2 차원이상의배열을의미 1 차원배열과다차원배열의비교 1 차원배열 int array [12] 행 2 차원배열 int array [4][3] 행 열 3 차원배열 int array [2][2][3]
More informationDE1-SoC Board
실습 1 개발환경 DE1-SoC Board Design Tools - Installation Download & Install Quartus Prime Lite Edition http://www.altera.com/ Quartus Prime (includes Nios II EDS) Nios II Embedded Design Suite (EDS) is automatically
More informationPowerPoint Presentation
Package Class 3 Heeseung Jo 목차 section 1 패키지개요와패키지의사용 section 2 java.lang 패키지의개요 section 3 Object 클래스 section 4 포장 (Wrapper) 클래스 section 5 문자열의개요 section 6 String 클래스 section 7 StringBuffer 클래스 section
More information강의10
Computer Programming gdb and awk 12 th Lecture 김현철컴퓨터공학부서울대학교 순서 C Compiler and Linker 보충 Static vs Shared Libraries ( 계속 ) gdb awk Q&A Shared vs Static Libraries ( 계속 ) Advantage of Using Libraries Reduced
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 informationINTRO Basic architecture of modern computers Basic and most used assembly instructions on x86 Installing an assembly compiler and RE tools Practice co
Basic reverse engineering on x86 This is for those who want to learn about basic reverse engineering on x86 (Feel free to use this, email me if you need a keynote version.) v0.1 SeungJin Beist Lee beist@grayhash.com
More informationStuduino소프트웨어 설치
Studuino 프로그래밍환경 Studuino 소프트웨어설치 본자료는 Studuino 프로그래밍환경설치안내서입니다. Studuino 프로그래밍 환경의갱신에따라추가 / 수정될수있습니다. 목차 1. 소개... 1 2. Windows... 2 2.1. 프로그래밍환경설치... 2 2.1.1. 웹설치버전설치방법... 2 2.2. Studuino 프로그래밍환경실행...
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 information2
2 3 10 06 44 56 80 50 6 7 8 9 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 44 45 46 47 48 49 50 51 52 53 54 56 57 58 59 60 61 62 63 64 읽으면쉽게풀리는 퀴즈~ 65
More information<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C4C656D70656C2D5A69762E637070>
/* */ /* LZWIN.C : Lempel-Ziv compression using Sliding Window */ /* */ #include "stdafx.h" #include "Lempel-Ziv.h" 1 /* 큐를초기화 */ void LZ::init_queue(void) front = rear = 0; /* 큐가꽉찼으면 1 을되돌림 */ int LZ::queue_full(void)
More information슬라이드 1
/ 유닉스시스템개요 / 파일 / 프로세스 01 File Descriptor file file descriptor file type unix 에서의파일은단지바이트들의나열임 operating system 은파일에어떤포맷도부과하지않음 파일의내용은바이트단위로주소를줄수있음 file descriptor 는 0 이나양수임 file 은 open 이나 creat 로 file
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 information105È£4fš
의 자선단체들이 사랑과 자비를 베푼 덕택에 국제 사회에서 훠모사가 존경받는 위치에 섰으며 국가간 에 상호우애를 다지는 데 큰 기여를 했다고 치하했 다. 칭하이 무상사 국제협회는 구호물자를 터키 지 터키 지진 피해자들을 위한 구호물자 전달식 진 피해자들에게 전달하는데 협조해 준 중국 항공의 훠모사 항공화물 센터 매니저인 제임스 류 씨, 골든 파운데이션 여행사의
More information<4D F736F F F696E74202D204B FC7C1B7CEB1D7B7A55F F6E48616E646C6572B8A6C5EBC7D1BFA1B7AFB0CBC3E2B9D7BCF6C1A
강연소개 Exception Handler 를통한에러검출및수정 디버깅을즐겨하십니까..? 에러를만나면반갑습니까..? 전화로버그보고를받았나요..? 잡히지않는버그!!!! 따분한강의 졸아도좋습니다!!!! 강연자소개 테스터 온라인게임클라이언트개발 로컬라이즈및해외지원업무 디버깅, 최적화, 호환성향상에관심 강연대상 x86 환경에서 Windows 프로그래밍 디버깅 / 에러추적은
More information<C6F7C6AEB6F5B1B3C0E72E687770>
1-1. 포트란 언어의 역사 1 1-2. 포트란 언어의 실행 단계 1 1-3. 문제해결의 순서 2 1-4. Overview of Fortran 2 1-5. Use of Columns in Fortran 3 1-6. INTEGER, REAL, and CHARACTER Data Types 4 1-7. Arithmetic Expressions 4 1-8. 포트란에서의
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 information1. 개요 악성코드는여러분류로나누어볼수가있다. 이중일반사용자의입장에서 악성코드 라는단어보다친숙한 바이러스 가있다. 사실필자도보안을공부하기이전에는 악성코드 라는단어는아예들어보지못했고, 대신 바이러스 라는단어로모든악성코드를지칭했었다. 바이러스는악성코드분류의한종류로 스스로를
Malware Analysis Report Mad Angel 2016.09.17 By Kali-KM 1. 개요 악성코드는여러분류로나누어볼수가있다. 이중일반사용자의입장에서 악성코드 라는단어보다친숙한 바이러스 가있다. 사실필자도보안을공부하기이전에는 악성코드 라는단어는아예들어보지못했고, 대신 바이러스 라는단어로모든악성코드를지칭했었다. 바이러스는악성코드분류의한종류로
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 informationFrama-C/JESSIS 사용법 소개
Frama-C 프로그램검증시스템소개 박종현 @ POSTECH PL Frama-C? C 프로그램대상정적분석도구 플러그인구조 JESSIE Wp Aorai Frama-C 커널 2 ROSAEC 2011 동계워크샵 @ 통영 JESSIE? Frama-C 연역검증플러그인 프로그램분석 검증조건추출 증명 Hoare 논리에기초한프로그램검증도구 사용법 $ frama-c jessie
More informationJVM 메모리구조
조명이정도면괜찮조! 주제 JVM 메모리구조 설미라자료조사, 자료작성, PPT 작성, 보고서작성. 발표. 조장. 최지성자료조사, 자료작성, PPT 작성, 보고서작성. 발표. 조원 이용열자료조사, 자료작성, PPT 작성, 보고서작성. 이윤경 자료조사, 자료작성, PPT작성, 보고서작성. 이수은 자료조사, 자료작성, PPT작성, 보고서작성. 발표일 2013. 05.
More information2) 활동하기 활동개요 활동과정 [ 예제 10-1]main.xml 1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 xmlns:tools="http://schemas.android.
10 차시파일처리 1 학습목표 내장메모리의파일을처리하는방법을배운다. SD 카드의파일을처리하는방법을배운다. 2 확인해볼까? 3 내장메모리파일처리 1) 학습하기 [ 그림 10-1] 내장메모리를사용한파일처리 2) 활동하기 활동개요 활동과정 [ 예제 10-1]main.xml 1
More information목차 윈도우드라이버 1. 매뉴얼안내 운영체제 (OS) 환경 윈도우드라이버준비 윈도우드라이버설치 Windows XP/Server 2003 에서설치 Serial 또는 Parallel 포트의경우.
소프트웨어매뉴얼 윈도우드라이버 Rev. 3.03 SLP-TX220 / TX223 SLP-TX420 / TX423 SLP-TX400 / TX403 SLP-DX220 / DX223 SLP-DX420 / DX423 SLP-DL410 / DL413 SLP-T400 / T403 SLP-T400R / T403R SLP-D220 / D223 SLP-D420 / D423
More information<4D F736F F D20BEC8C0FCC7D120B8DEC0CF20B9D720C6C4C0CF20C0FCBCDB2E646F6378>
안전한메일, 파일전송및보관 By vangelis(securityproof@gmail.com) 요즘메일을통해중요한파일을전송하는일이많아졌다. 그리고무료메일계정을제공하는곳도점차증가하고있다. 그러나그무료계정이보안과개인프라이버시를보장해주지는않는다. 이글에서는메일을안전하게보내는방법과파일을더욱안전하게전송하는것에대해알아보기로한다. 심지어자신의중요한파일을안전하게저장하는방법이될수도있다.
More informationMicrosoft Word - Reverse Engineering Code with IDA Pro-2-1.doc
Reverse Engineering Code with IDA Pro By Dan Kaminsky, Justin Ferguson, Jason Larsen, Luis Miras, Walter Pearce 정리 : vangelis(securityproof@gmail.com) 이글은 Reverse Engineering Code with IDA Pro(2008년출판
More informationC++ Programming
C++ Programming 예외처리 Seo, Doo-okok clickseo@gmail.com http://www.clickseo.com 목 차 예외처리 2 예외처리 예외처리 C++ 의예외처리 예외클래스와객체 3 예외처리 예외를처리하지않는프로그램 int main() int a, b; cout > a >> b; cout
More information1
1 2 3 4 5 6 b b t P A S M T U s 7 m P P 8 t P A S M T U s 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 Chapter 1 29 1 2 3 4 18 17 16 15 5 6 7 8 9 14 13 12 11 10 1 2 3 4 5 9 10 11 12 13 14 15
More informationhow_2_write_Exploit_4_the_MSF_v3.x.hwp
Metasploit v3.0 을이용한 Exploit 작성하기 2008.1.18 본문서는 Jerome 님의 Writing Windows Exploits 을기반으로작성된문서임을밝힙니다. rich4rd rich4rd.lim@gmail.com - 1 - 목차. 1. 소개및개요 2. 배경지식 3. Exploit module 실습 3.1 Exploit module 수정하기
More information슬라이드 1
휴지통포렌식 JK Kim @pr0neer proneer@gmail.com 개요 1. 휴지통 2. 휴지통파일구조 3. 휴지통파일카빙 4. 휴지통파일분석 2 휴지통 Security is a people problem 3 휴지통 휴지통이란? 휴지통소개 윈도우에서파일을삭제할경우, 기본적으로삭제된파일은휴지통 (Recycle Bin) 영역으로이동 휴지통우회방법 SHIFT
More information<C6F7B7B320BAEAB7CEBCC55FC0DAB7E1C1FDBFEB203230702E706466>
Korea-Japan Forum 2015 Opening Address 04 Opening Address 05 Opening Address 06 Opening Address 07 08 13:00~13:30 13:30~14:00 14:00~14:15 14:15~14:30 14:30~14:45 14:45~14:55 14:55~15:05 15:05~15:20 15:20~15:35
More information<41736D6C6F D20B9AEBCADBEE7BDC42E687770>
IDA Remote Debugging 2007. 01. 이강석 / certlab@gmail.com http://www.asmlove.co.kr - 1 - Intro IDA Remote debugging에대해알아봅시다. 이런기능이있다는것을잘모르시는분들을위해문서를만들었습니다. IDA 기능중에분석할파일을원격에서디버깅할수있는기능이있는데먼저그림과함께예를들어설명해보도록하겠습니다.
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 informationPathEye 공식 블로그 다운로드 받으세요!! 지속적으로 업그래이드 됩니다. 여러분의 의견을 주시면 개발에 반영하겠 습니다.
PathEye Mobile Ver. 0.71b 2009. 3. 17 By PathEye 공식 블로그 다운로드 받으세요!! http://blog.patheye.com 지속적으로 업그래이드 됩니다. 여러분의 의견을 주시면 개발에 반영하겠 습니다. PathEye 설치 1/3 최종 배포 버전을 다 운로드 받습니다. 다운로드된 파일은 CAB 파일입니다. CAB 파일에는
More information신종파밍악성코드분석 Bolaven
신종파밍악성코드분석 Bolaven 2013.06.27 개요 지난 1월볼라벤 6차문서에서진화한파밍기법 (= 호스트파일변조 ) 에대해분석및공유를하였다. 6차문서에서는웹을통하여악성코드가유포되는과정과파밍기법의전반적인흐름을알아보았다면, 이번문서에서는파밍기법에서사용되는악성파일의행위에대해중점적으로분석하였다. 파밍기법이란? PC 를악성코드에감염시켜정상홈페이지주소로접속하여도피싱사이트로
More information윤성우의 열혈 TCP/IP 소켓 프로그래밍
C 프로그래밍프로젝트 Chap 22. 구조체와사용자정의자료형 1 2013.10.10. 오병우 컴퓨터공학과 구조체의정의 (Structure) 구조체 하나이상의기본자료형을기반으로사용자정의자료형 (User Defined Data Type) 을만들수있는문법요소 배열 vs. 구조체 배열 : 한가지자료형의집합 구조체 : 여러가지자료형의집합 사용자정의자료형 struct
More informationMicrosoft PowerPoint - 07_04_s7기초기술교육_simatic_manager_operation.ppt [호환 모드]
Simatic Manager Operation 참고문헌 : Programming with Step7(V5.4) Edition 03/2006 SIMATIC Manager 신규프로젝트작성 (New Project) SIMATIC Manager File 메뉴 New ( 단축키 CTRL + N) 기존에작업했던프로젝트 신규프로젝트이름입력 프로젝트저장경로 경로변경시 SIMATIC
More informationIT CookBoo, 컴퓨터 실습
Windows XP Management Bok, Jong Soon Jongsoon.bok@gmail.com www.javaexpert.co.kr 윈도우 XP 활용하기 [ 기본기익히기 ] 인터페이스 바탕화면 [ 시작 ] 빠른실행 작업표시줄 트레이영역 바탕화면 프로그램작업창, 바로가기아이콘위치함. 바로가기아이콘 프로그램또는파일의위치정보를가짐. 시작메뉴 윈도우 XP
More informationC 프로그래밊 개요
구조체 2009 년 5 월 19 일 김경중 강의계획수정 일자계획 Quiz 실습보강 5 월 19 일 ( 화 ) 구조체 Quiz ( 함수 ) 5 월 21 일 ( 목 ) 구조체저녁 6 시 5 월 26 일 ( 화 ) 포인터 5 월 28 일 ( 목 ) 특강 (12:00-1:30) 6 월 2 일 ( 화 ) 포인터 Quiz ( 구조체 ) 저녁 6 시 6 월 4 일 ( 목
More informationAbstract View of System Components
운영체제실습 - Synchronization - Real-Time Computing and Communications Lab. Hanyang University jtlim@rtcc.hanyang.ac.kr dhchoi@rtcc.hanyang.ac.kr beespjh@gmail.com Introduction 조교소개 이름 : 임정택 Tel : 010-4780
More informationEP의주소값이 "RVA : " 인것을볼수있다. 당연히올리디버거에서는해당 EP 값을이상하다고판단하여처음에 "System EP" 에서멈춘것이다. * ImageBase + RVA EP == VA EP == 현재바이너리에적용된프로
Level 38 이번레벨에서는이전과다른패커를언패킹하면서 DLL & TLS(Thread Local Storage Callback function) 을이용하여디버거를탐지하는것에대한우회방법을다룰것이다. 악성코드에서사용하는패커 / 프로텍터들은리버싱을어렵게하기위해자체적은방어코드를가지고있기때문에단순히분기문을패치하는식으로는해결되지않는다. 내부적으로호출되는함수들을계속 "Step-In"
More information