<C1A4C8B8BFF8C6F2B0A15FB1E2BCFAB9AEBCAD5F444B4F4D5FC0CCB5BFBCF62E687770>
|
|
- 찬성 탄
- 6 years ago
- Views:
Transcription
1 DKOM을이용한은닉기법 이동수
2 개 요 유저모드에서프로세스나디바이스드라이버등을확인할수없도록만드는기법중하나가커널 Hooking과 DKOM 기법이있다. DKOM 기법은 Hooking과다르게커널개체를직접변경한다. 이는 Hooking보다훨씬강력하고탐지가힘들다. 이문서에서는 DKOM에대해서다룰것이다. DKOM 기법을통해다양한효과를얻을수있다. 그중에서프로세스와드라이버를은닉하는방법을살펴보겠다. DKOM에들어가기전에사전지식과유저모드프로세스와디바이스드라이버를연동하는방법을알아보겠다. 테스트환경은 Windows XP SP2 에서하였다.
3 Content 1. 목적 1 2. DKOM(Direct Kernel Object Manipulation kernel Object DKOM의장단점 3 3. 유저모드프로세스작성 운영체제판단하기 유저모드프로세스와디바이스드라이버의통신 키보드처리함수의 KINTERRUPT 얻기 6 4. DKOM 기법을이용한은닉기법 프로세스은닉 디바이스드라이버은닉 실험및결과 결론 16 참고문헌 17
4 1. 목적 이번기술문서의주제는 DKOM 이다. DKOM은이전의 Hooking 기술과는다르게윈도우커널의테이블이나 Native API를 Hooking하지않는다. 윈도우즈커널에의해관리되는커널개체 (Kernel Object) 를직접적으로건드리는기법이다. Hooking을하지않고도은닉하는기법을공부할것이다. 이문서에서는커널개체에대해서알아보고, 프로세스와드라이버를숨기는기법을살펴볼것이다
5 2. DKOM(Direct kernel Object Manipulation) 에관하여. 2.1 Kernel Object Windows Internals 에커널개체에대해서다음과같이설명이되어있다. 내부적으로 Windows는실행부개체와커널개체의두종류의개체를가지고있는데, 실행부개체들은실행부의다양한구성요소에의해구현된개체들로프로세스관리자, 메모리관리자, I/O 서브시스템등이있다. 커널개체들은 Windows 커널에의해구현된더근본적인개체들의집합이다. 이들개체들은사용자모드코드에서는볼수없고실행부내에서만생성되고사용된다. 커널개체들은실행부개체들이만드는동기화와같은기본적인기능들을제공한다. 따라서많은실행부개체들은하나이상의커널개체들을포함한다. 위의정의에서확인할수있듯이커널개체는커널에의해만들어지고관리되는개체이다. 생성되는개체에따라커널개체에는여러정보가담겨져있다. [ 그림 1] 은실행부개체와커널개체의관계를그림으로보여주고있다. [ 그림 1] 실행부개체와커널개체 DKOM은이커널개체에직접접근하여원하는행위 ( 프로세스은닉, 드라이버숨기기, 토큰권한의상승등..) 를하는기법이다. 다음절에서 DKOM기법의장단점을살펴보자
6 2.2 DKOM 의장단점 커널개체의변경은개체관리자에의해서이루어져야한다. 하지만 DKOM은개체관리자를통하지않고직접커널개체에접근하기때문에커널개체에대한어떤권한체크도이루어지지않는다. 이는강력한기능을제공한다. SSDT나 IDT Hooking 기술은쉽게발견이가능하지만 DKOM은발견이쉽지않다. 이런 DKOM이가지는제한점도존재한다. 우선커널개체의종류는여러종류가존재한다. 그리고이런개체정보는문서화되어있지않기때문에많은정보를얻기위해서많은정보를투자해야한다. 또커널개체는운영체제의버전에따라그위치가달라지기때문에 DKOM 기법을사용하는데운영체제의버전을항상체크해야하는번거로움이있다. 이버전에따른차이점은 4장에서자세히알아보겠다. DKOM 기법은커널개체를수정하는것이기때문에메모리에커널개체가존재해야한다는제약조건이있다. 예를들어운영체제는프로세스에대한정보를개체로만들어서관리하지만파일에대한정보를관리하는개체는존재하지않는다. 이는파일을은닉할수없다는것을뜻한다. 하지만프로세스와드라이버만을은닉하는거자체만으로도엄청강력한기법이라고할수있다. DKOM 기법으로프로세스 드라이버 포트은닉과프로세스권한을상승시킬수있다. 이문서에서는프로세스와드라이버은닉기법을다룰것이다
7 3. 유저모드프로세스작성 커널개체를수정하는드라이버작성에들어가기전에유저모드프로세스에대해서간단히소개하고넘어가겠다. 드라이버를만들더라도실행을하기위해서는유저모드의프로세스와연동을해야한다. 이번장에서드라이버와연동하는부분과프로세스은닉할때필요한정보를얻는부분을설명하고넘어가겠다. 3.1 운영체제판단하기 앞장에서말했듯이커널개체는운영체제의버전에따라번경되기때문에운영체제의확인은불가피하다. 이장에서는유저모드에서운영체제의버전을확인하는법을알아보겠다. Win32 API인 GetVersionEx() 함수를이용하면운영체제의버전을구할수있다. GetVersionEx는인자로 OSVERSIONINFOEX 구조체를가리키는포인터를가진다. GetVersionEx는운영체제버전에관한정보를인자가가리키는 OSVERSIONINFOEX 구조체에넣는다. [ 그림 2] 는 OSVERSIONINFOEX의구조체를보여준다. [ 그림 2] OSVERSIONINFOEX 구조체 위에서주목해야할변수는 dwmajorversion, dwminorversion, dwplatformid이다. dwmajorversion과 dwminorversion은운영체제의버전인데, dwmajorversion은버전의정수부분이저장되고, dwminorversion에는버전의소수부가저장된다. dwplatformid는운영체제의플랫폼값을가지고있다. [ 표 1] 은운영체제버전에따른각변수의값을정리하였다. 구분 Windows NT Windows 2000 Windows XP Windows 2003 dwmajorversion dwminorversion dwplatformid VER_PLATFORM_WIN32_NT [ 표 1] 운영체제에따른변수 MajorVersion, MinorVersion, PlatformId 값 - 4 -
8 dwplatformid변수값에는윈도우즈3.1을나타내는 VER_PLATFORM_WIN32S 값과윈도우즈 95/98을나타내는 VER_PLATFORM_WINDOWS가있다. 그리고또하나주목할변수가있다면 wservicepackmajor변수이다. 이변수는플랫폼의서비스팩버전의정보를포함하고있다. [ 그림 3] 은테스트에사용한 PC의운영체제버전을알려주고있다. [ 그림 3] 테스트 PC 의운영체제버전 버전에따른차이점은 4.1 장프로세스은닉에서자세히다루겠다. 3.2 유저모드프로세스와디바이스드라이버의통신 디바이스드라이버를로드하고실행하기위해서는유저모드와의통신은필수적이다. 드라이버자체는 PE 파일처럼클릭만으로실행이되지않기때문이다. 이번장에서는유저모드프로세스에서디바이스드라이버를구동하는방법을알아보고메시지를교환하는방법을살펴보겠다. 중점을메시지교환방법이다. 디바이스드라이버를구동하는방법을간단히알아보고넘어가자. 여기에서설명하는방법은서비스컨트롤매니저 (SCM) 을이용하는방법이다. 순서를요약해보면, 1. OpenSCManager() 를이용하여 SCM을획득한다. 2. CreateService() 를이용하여필요한드라이버를로드한다. 3. OpenSCManager() 를이용하여 SCM을획득한다. 4. 로드에성공하면 OpenService() 를이용하여실행시킨다. 5. CreateFile() 을통하여디바이스드라이버를파일의형태로만든다. 이문서는디바이스드라이버를로드하는방법이주가아니므로여기에서끝내겠다. 인자라든지더자세한내용을알고싶다면디바이스드라이버전문서적을참고하기바란다. 위에서소개한방법으로드라이버가정상적으로동작한다면로드한유저모드프로세스와로드된디바이스드라이버간의통신은어떻게이루어질까? 유저모드프로세스와디바이스드라이버간의통신은 I/O Co ntrol Code(IOCTL) 을이 - 5 -
9 용해서전달한다. 이런 IOCTL은 IRP_MJ_DEVICE_CONTROL IRP를통해전달된다. [ 그림 4] 는공부하는과정에작성한 IOCTL을보여준다. [ 그림 4] IOCTL 의예 [ 그림 4] 에서볼수있듯이 CTL_CODE를이용하여 IOCTL_PID라는메시지를만들었다. CTL_CODE의인자값을간단하게살펴보자. 첫번째인자는넘어가는메시지의타입이다. 두번째인자는고유 ID값이고, 세번째인자값은메시지를주고받는방식이다. 마지막인자는이메시지의특성이다. 메시지를어떻게정의했는지알아봤으니실제유저모드프로세스에서처리하는방법을알아보자. [ 그림 5] 는유저모드프로세스에서디바이스드라이버로메시지를보낼때사용하는 DeviceIoControl() 의예를보여주고있다. [ 그림 5] DeviceIoControl() 의예 DeviceIoControl 함수의인자값을확인하고가자. 첫번째인자는전달한드라이버의핸들값이다. 이핸들값은위에서나온 CreateFile() 의리턴값이다. 두번째인자는메시지의 ID이다. 세번째와네번째인자는유저모드프로세스에서디바이스드라이버로넘어가는데이터와데이터의크기를알려준다. 다섯번째와여섯번째인자는디바이스드라이버에서유저모드프로세스로데이터를넘길때사용한다. 일곱번째인자는리턴값을저장하는변수이다. 이제디바이스드라이버에서는어떻게처리하는지확인해보자. 메시지를처리하는 IRP_MJ_DEVICE_CONTROL IRP를우리가정의한함수로바꿀필요가있다. [ 그림 6] 은 IRP_MJ_DEVICE_CONTROL IRP를바꾸는예를보여주고있다. [ 그림 6] IRP_MJ_DEVICE_CONTROL IRP 교체 [ 그림 6] 에서 pdriverobject를디바이스드라이버를시작할때생성되는드라이버개체이다. IoDeviceControl() 에서받은메시지를어떻게처리하는지살펴보자. [ 그림 7] 은 IoDeviceControl() 을보여주고있다
10 [ 그림 7] IoDeviceControl() 의예 [ 그림 7] 의코드에서 IoGetCurrenIrpStackLocation() 을이용하여받은메시지의위치를구한다. 그리고 Parameters.DeviceIocontrol.IoControlCode의값을비교하여원하는메시지에따른행위를취하도록하면된다. 다음장에서는실제로 DKOM기법을이용하여프로세스은닉과디바이스드라이버은닉방법을알아보자
11 4. DKOM 기법을이용한은닉기법 프로세스가실행되거나디바이스드라이버가로드될때커널은커널개체 ( 구조체 ) 를만들어서정보를메모리상에저장하고관리한다. 우리가사용하는 API는이런커널개체에서정보를가져와서보여준다. 만일커널개체의내용을바꾼다면 API를후킹할필요없이 API는우리가원하는값을가져오게된다. 4.1 프로세스은닉 윈도우즈는프로세스리스트를 EPROCESS 구조체안의이중링크드리스트로연결되어있다. EPROCESS 구조체안에는이중링크드리스트구조체인 LIST_ENTRY 구조체를포함하고있다. LIST_ENTRY 구조체는앞프로세스를가르키는 FLINK 멤버와뒤프로세스를가르키는 BLINK 멤버로구성되어있다. 숨기고자하는프로세스의뒤프로세스의 FLINK멤버과앞프로세스의 BLINK멤버의값을바꾼다면원하는행위를성공할수있다. 그럼 EPROCESS 구조체의주소를알아보자. 운영체제의버전에따라 EPROCESS 구조체의주소는다르지만 PsGetCurrentProcess() 를이용하면쉽게 EPROCESS 구조체의주소를구할수있다. [ 그림 8] 은 WinDbg를이용하여구한 PsGetCurrentProcess() 의어셈블리코드이다. [ 그림 8] PsGetCurrentProcess() 의어셈블리코드 [ 그림 8] 에서보면 fs 레지스터의 0x124번째값을읽어온다. fs 레지스터의 0x124번째값은 ETHREAD 구조체의주소를가지고있다. [ 그림 9] 는 ETHTEAD 구조체의일부를보여준다. [ 그림 9] ETHREAD 구조체 [ 그림 8] 에서보면 ETHREAD 구조체의 0x44번째값을리턴한다. 그런데 [ 그림 9] 에서볼수있듯이 0x44번째값은 KTHREAD 구조체의안의값이라는것을확인할수있다. 그럼 KTHREAD 구조체를확인해보자. [ 그림 10] 은 KTHREAD 구조체의일부를보여준다
12 [ 그림 10] KTHREAD 구조체 [ 그림 10] 에서볼수있듯이 0x44번째값은 KAPC_STATE 구조체내부의값이다. KAPC_STATE 구조체를확인해보자. [ 그림 11] 은 KAPC_STATE 구조체를보여준다. [ 그림 11] KAPC_STATE 구조체 [ 그림 10] 에서 KAPC_STATE 구조체의오프셋값이 0x34이다. 그럼 KAPC_STATE 에서오프셋 0x10의값이리턴하는값이다. [ 그림 11] 에서보면 0x11의값은 KPROCESS 구조체를가리키는값이다. KPROCESS 구조체가위에서언급한 EPROCESS 구조체의첫번째멤버이다. [ 그림 12] 와 [ 그림 13] 은 KPROCESS 구조체의일부와 EPROCESS 구조체의일부를보여준다. [ 그림 12] KPROCESS 구조체 - 9 -
13 [ 그림 13] EPROCESS 구조체 EPROCESS 구조체를구하는과정을디버깅을통해알아보았다. [ 그림 13] 에서오프셋 0x84에위치한 UnigueProcessId 멤버가현재프로세스의 PID 값을가지고있다. 오프셋 0x88에위치한 LIST_ENTRY 구조체가현재프로세스의앞과뒤프로세스를가리키는주소를가지고있다. 즉 EPROCESS 구조체의 0x88번째멤버와 0x8번째멤버의값을바꾸면우리가원하는프로세스은닉이가능하다. 위에서운영체제마다커널개체의구조가다르다고했었다. EPROCESS 구조체의경우 PID를가지는 UniqueProcessId 멤버와 LIST_ENTRY 구조체인 ActiveProcessLinks 멤버의오프셋값이다른다. [ 표 2] 는운영체제버전에따른오프셋을보여준다. 구분 Windows NT Windows 2000 Windows XP Windows XP SP2 Windows 2003 PID offset 0x94 0x9C 0x84 0x84 0x84 LST_ENTRY offset 0x98 0xA0 0x88 0x88 0x88 [ 표 2] 운영체제버전에따른오프셋 프로세스은닉을위한원하는정보를얻었으니프로세스를은닉하는코드를작성해보자. [ 그림 14] 는현재프로세스의 EPROCESS 구조체의주소를구하는코드의예를보여준다
14 [ 그림 14] 현재프로세스의 EPROCESS 구조체구하기 [ 그림 14] 에서보면 PsGetCurrentProcess() 를이용하여 EPROCESS 구조체의주소를구한다. 구한 EPROCESS 구조체가우리가찾고자하는프로세스의 EPROCESS 구조체라면 While문을빠져나가고, 일치하지않으면다음프로세스의 EPROCESS 구조체로넘어간다. 원하는프로세스인지는 PID를이용하여서비교한다. PID는유저모드의프로세스가 GetCurrentProcessId() 함수를이용하여얻은 PID 값을 IRP를이용하여디바이스드라이버에게넘겨준값이다. 현재프로세스의 EPROCESS 구조체의주소를구했다면 LIST_ENTRY 구조체를이용하여 FLINK 멤버가가리키는 EPROCESS 구조체의 BLINK 멤버의값과 BLINK 멤버가가리키는 EPROCESS 구조체의 FLINK 멤버의값을바꾸어야한다. [ 그림 15] 는멤버의값을바꾸는코드의예를보여준다. [ 그림 15] 프로세스은닉하기 [ 그림 15] 에서보면현재프로세스의 FLINK 멤버가가리키는 EPROCESS 구조체의 BLINK 멤버의값을현재프로세스의 BLINK 멤버의값으로바꾼다. 그리고현재프로세스의 BLINK 멤버가가리키는 EPROCESS 구조체의 FLINK 멤버의값을현재프로세스의값을현재프로세스의 FLINK 멤버의값으로바꾼다. 그런후에현재프로세스의 FLINK 멤버와 BLINK 멤버의값을현재프로세스의 EPROCESS 구조체를가리키도록바꾼다. 자기자신을가리키도록바꾸는이유는주변프로세스가종료되면현재프로세스의 FLINK 멤버와 BLINK 멤버의값이잘못된메모리공간을가리키게된다. 이를방지하기위해서이다. [ 그림 16] 은프로세스은닉을그림으로보여주고있다
15 [ 그림 16] 프로세스은닉 4.2 디바이스드라이버은닉 커널은드라이버정보를관리하기위해 MODULE_ENTRY 구조체를사용한다. MODULE_ENTRY 구조체의첫번째멤버는 LIST_ENTRY멤버이다. 이는프로세스와마찬가지로드라이버리스트가이중링크드리스트를사용하여관리된다는것을확인할수있다. 그럼먼저현재디바이스드라이버의 MODULE_ENTRY 구조체의주소를알아보자. 프로세스의경우와다르게디바이스드라이버의경우구조체의주소를구해주는함수가존재하지않는다. 그럼어떻게해야할까? 다행히 DRIVER_OBJECT 구조체의 DriverSection 멤버가현재디바이스드라이버의 MODULE_ENTRY 구조체의주소를가지고있다. [ 그림 17] 은 DRIVER_OBJECT 구조체를보여주고있다. [ 그림 17] DRIVER_OBJECT 구조체 [ 그림 17] 에서보면 DriverSection 멤버의설명이 Void 형태의포인터라고만되어있
16 다. 즉 MODULE_ENTRY 구조체는문서화되지않은구조체라는것을뜻한다. [ 그림 18] 은 MODULE_ENTRY 구조체를보여주는데 'ROOTKIT' 책에서발췌하였다. [ 그림 18] MODULE_ENTRY 구조체 [ 그림 18] 에서보면첫번째멤버가 LIST_ENTRY 구조체라는것을알수있다. 이구조체를이용하면디바이스드라이버를은닉할수있다. MODULE_ENTRY 구조체의주소를구하는방법을알았으니실제코드를작성해보자. [ 그림 19] 는 MODULE_ENTRY 구조체의주소를구하는방법의예를보여준다. [ 그림 19] MODULE_ENTRY 구조체의주소구하기 [ 그림 19] 의코드에서 newdriverobject는디바이스드라이버가시작할때만들어지는 DRIVER_OBJECT 구조체이다. [ 그림 17] 에서보면 DriverSection 멤버의오프셋이 0x14라는것을확인할수있다. 다음으로 LIST_ENTRY 구조체를이용해디바이스드라이버를은닉하는코드를작성해보자. [ 그림 20] 은디바이스드라이버를은닉하는코드의예를보여주고있다. [ 그림 20] 디바이스드라이버은닉하기 [ 그림 20] 에서드라이버리스트를순회하면서원하는디바이스드라이버를찾으면프로세스와같은방법으로 FLINK 멤버와 BLINK 멤버의값을변경한다
17 5. 실험및결과 위에서작성한코드를테스트해보겠다. [ 그림 21] 은작성한유저모드프로세스를실행시킨모습이다. [ 그림 21] 유저모드프로세스의실행모습 [ 그림 21] 에서확인할수있듯이이프로그램의 PID는 2208이다. 그럼우리가원하는대로프로세스가은닉되었는지확인하기위해작업관리자를확인해보자. [ 그림 22] 는작업관리자를보여주고있다. [ 그림 22] 작업관리자를통해프로세스은닉확인 [ 그림 22] 는 PID로정렬된작업관리자를보여주고있는데현재프로세스의 PID인 2280을찾을수가없다. 이는우리가원하는대로프로세스가은닉되었다는것을알려준다. 다음은디바이스드라이버도정상적으로은닉되었는지를확인해보자. MS사는현재로드된드라이버의리스트를보여주는 drivers.exe라는실행파일을제공해준다. [ 그림 23] 은 drivers.exe을실행시켜얻은현재디바이스드라이버의목록이다
18 [ 그림 23] 로드된디바이스드라이버목록 [ 그림 23] 에서볼수있듯이현재로드된드라이버의이름을검색했지만존재하지않는다고나온다. 이는우리가작성한디바이스드라이버가자신을숨겼다는것을말한다. 즉, 정상적으로우리가원하는대로은닉되었다
19 6. 결론 지금까지커널개체를직접번경하는 DKOM 기법에대해알아보았다. 테스트환경에서알약이라는백신프로그램이동작하고있었음에도정상적으로작동하였다. 즉, 이기법을통한프로세스은닉과디바이스드라이버은닉은상당히강력하다. Hooking의경우간단하게테이블값비교를통해 Hooking 되었는가를판별할수있었지만 DKOM 기법의경우확인자체가불가능하다. 유저모드에서프로세스나드라이버를확인할수있는방법은 API를통한쿼리를날려서정보를확인하는방법이통상적인방법인데이방법으론은닉된드라이버와프로세스를확인할수없기때문이다. 아직윈도우즈커널에대한이해의깊이가많이부족해서 DKOM을어떻게막을수있는지모르겠다. 더많은공부를하면방법이있지않을까하는생각뿐이다. 윈도우즈커널을좀더깊이있게공부하여 DKOM을막을수있는방법을고려해보아야겠다. 이것으로 DKOM 기법에대한기술문서를마치겠다
20 참고문헌 [1] 김상형, " 윈도우즈 API 정복 ", 한빛미디어 ( 주 ), June 2006 [2] Mark E. Russinovich ㆍ David A. Solomon, "WINDOWS INTERNALS 4th", 정보문화사, January 2006 [3] Greg Hoglund ㆍ Jamie Butler, " 루트킷 : 윈도우커널조작의미학 ", 에이콘, July
<B1E2BCFAB9AEBCAD28C0CCB5BFBCF6295F494454486F6F6B696E672E687770>
IDT Hooking을 이용한 Simple KeyLogger 이동수 alonglog@is119.jnu.ac.kr 개 요 커널 Hooking에 관하여 공부하는 중에 IDT Hooking에 관하여 알게 되었다. 이전에 공부하 였던 SSDT Hooking과는 다른 요소가 많다. IDT Hooking을 공부하면서 컴퓨터의 인터럽트 과정을 이해할 수 있는 좋은 계기가
More information악성코드분석보고서 (Lucci.exe) 작성자 : 김진태 1
악성코드분석보고서 (Lucci.exe) 작성자 : 김진태 1 Index 1. 개요... 3 1. 1 악성코드의제작... 3 1. 2 악성코드의전체적인동작... 3 1. 3 악성코드의분석절차... 4 1. 4 악성코드의파일정보... 4 2. 분석... 5 2. 1 정적분석... 5 2. 2 동적분석... 6 2. 3 상세분석... 10 2. 3.1 Lucci.exe...
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 - [Windows Hook] 6.HideProcess.doc
Hide Process Last Update : 2007 년 6 월 11 일 Written by Jerald Lee Contact Me : lucid78@gmail.com 본문서는 SSDT Hook을이용한프로세스를감추는기술에대해정리한것입니다. 제가알고있는지식이너무짧아가급적이면다음에언제보아도쉽게이해할수있도록쓸려고노력하였습니다. 기존에나와있는여러훌륭한문서들을토대로짜집기의형태로작성되었으며기술하지못한원문저자들에게매우죄송할따름입니다.
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 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 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 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 information커알못의 커널 탐방기 이 세상의 모든 커알못을 위해서
커알못의 커널 탐방기 2015.12 이 세상의 모든 커알못을 위해서 개정 이력 버전/릴리스 0.1 작성일자 2015년 11월 30일 개요 최초 작성 0.2 2015년 12월 1일 보고서 구성 순서 변경 0.3 2015년 12월 3일 오탈자 수정 및 글자 교정 1.0 2015년 12월 7일 내용 추가 1.1 2015년 12월 10일 POC 코드 삽입 및 코드
More information경찰대학사이버범죄연구회 CRG 기술문서 DKOM 탐지기법 행정 3 김범연
기술문서 DKOM 탐지기법 행정 3 김범연 ccibomb@gmail.com http://ccibomb.tistory.com 2009.9. 1. 1 목차 I. What is DKOM? 가. DKOM이란? 나. DKOM의장단점다. DKOM의기능 II. DKOM을이용핚은닉가. 원리나. 실습 (notepad.exe 은닉 ) III. DKOM 탐지기법가. 다른 Linked
More informationMicrosoft PowerPoint - e pptx
Import/Export Data Using VBA Objectives Referencing Excel Cells in VBA Importing Data from Excel to VBA Using VBA to Modify Contents of Cells 새서브프로시저작성하기 프로시저실행하고결과확인하기 VBA 코드이해하기 Referencing Excel Cells
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 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 information슬라이드 1
6-1 리스트 (list) 란순서를가진항목들을표현하는자료구조 리스트를구현하는두가지방법 배열 (array) 을이용하는방법 구현간단 삽입, 삭제시오버헤드 항목의개수제한 연결리스트 (linked list) 를이용하는방법 구현복잡 삽입, 삭제가효율적 크기가제한되지않음 6-2 객체 : n 개의 element 형으로구성된순서있는모임 연산 : add_last(list,
More information<41736D6C6F D20B9AEBCADBEE7BDC42E687770>
IDA Remote Debugging 2007. 01. 이강석 / certlab@gmail.com http://www.asmlove.co.kr - 1 - Intro IDA Remote debugging에대해알아봅시다. 이런기능이있다는것을잘모르시는분들을위해문서를만들었습니다. IDA 기능중에분석할파일을원격에서디버깅할수있는기능이있는데먼저그림과함께예를들어설명해보도록하겠습니다.
More informationWindows 8에서 BioStar 1 설치하기
/ 콘텐츠 테이블... PC에 BioStar 1 설치 방법... Microsoft SQL Server 2012 Express 설치하기... Running SQL 2012 Express Studio... DBSetup.exe 설정하기... BioStar 서버와 클라이언트 시작하기... 1 1 2 2 6 7 1/11 BioStar 1, Windows 8 BioStar
More informationWindows 10 General Announcement v1.0-KO
Windows 10 Fuji Xerox 장비와의호환성 v1.0 7 July, 2015 머리말 Microsoft 는 Windows 10 이 Windows 자동업데이트기능을통해예약되어질수있다고 6 월 1 일발표했다. 고객들은 윈도우 10 공지알림을받기 를표시하는새로운아이콘을알아차릴수있습니다. Fuji Xerox 는 Microsoft 에서가장최신운영시스템인 Windows
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 information11장 포인터
Dynamic Memory and Linked List 1 동적할당메모리의개념 프로그램이메모리를할당받는방법 정적 (static) 동적 (dynamic) 정적메모리할당 프로그램이시작되기전에미리정해진크기의메모리를할당받는것 메모리의크기는프로그램이시작하기전에결정 int i, j; int buffer[80]; char name[] = data structure"; 처음에결정된크기보다더큰입력이들어온다면처리하지못함
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 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 information학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2
학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2 6.1 함수프로시저 6.2 서브프로시저 6.3 매개변수의전달방식 6.4 함수를이용한프로그래밍 3 프로시저 (Procedure) 프로시저 (Procedure) 란무엇인가? 논리적으로묶여있는하나의처리단위 내장프로시저 이벤트프로시저, 속성프로시저, 메서드, 비주얼베이직내장함수등
More informationSQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자
SQL Developer Connect to TimesTen 유니원아이앤씨 DB 팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 2010-07-28 작성자 김학준 최종수정일 2010-07-28 문서번호 20100728_01_khj 재개정이력 일자내용수정인버전
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 informationJVM 메모리구조
조명이정도면괜찮조! 주제 JVM 메모리구조 설미라자료조사, 자료작성, PPT 작성, 보고서작성. 발표. 조장. 최지성자료조사, 자료작성, PPT 작성, 보고서작성. 발표. 조원 이용열자료조사, 자료작성, PPT 작성, 보고서작성. 이윤경 자료조사, 자료작성, PPT작성, 보고서작성. 이수은 자료조사, 자료작성, PPT작성, 보고서작성. 발표일 2013. 05.
More informationAPI 매뉴얼
PCI-TC03 API Programming (Rev 1.0) Windows, Windows2000, Windows NT, Windows XP and Windows 7 are trademarks of Microsoft. We acknowledge that the trademarks or service names of all other organizations
More information11장 포인터
누구나즐기는 C 언어콘서트 제 9 장포인터 이번장에서학습할내용 포인터이란? 변수의주소 포인터의선언 간접참조연산자 포인터연산 포인터와배열 포인터와함수 이번장에서는포인터의기초적인지식을학습한다. 포인터란? 포인터 (pointer): 주소를가지고있는변수 메모리의구조 변수는메모리에저장된다. 메모리는바이트단위로액세스된다. 첫번째바이트의주소는 0, 두번째바이트는 1, 변수와메모리
More information이번장에서학습할내용 동적메모리란? malloc() 와 calloc() 연결리스트 파일을이용하면보다많은데이터를유용하고지속적으로사용및관리할수있습니다. 2
제 17 장동적메모리와연결리스트 유준범 (JUNBEOM YOO) Ver. 2.0 jbyoo@konkuk.ac.kr http://dslab.konkuk.ac.kr 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다. 이번장에서학습할내용 동적메모리란? malloc() 와 calloc() 연결리스트 파일을이용하면보다많은데이터를유용하고지속적으로사용및관리할수있습니다.
More information105È£4fš
의 자선단체들이 사랑과 자비를 베푼 덕택에 국제 사회에서 훠모사가 존경받는 위치에 섰으며 국가간 에 상호우애를 다지는 데 큰 기여를 했다고 치하했 다. 칭하이 무상사 국제협회는 구호물자를 터키 지 터키 지진 피해자들을 위한 구호물자 전달식 진 피해자들에게 전달하는데 협조해 준 중국 항공의 훠모사 항공화물 센터 매니저인 제임스 류 씨, 골든 파운데이션 여행사의
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 information1. Execution sequence 첫번째로 GameGuard 의실행순서는다음과같습니다 오전 10:10:03 Type : Create 오전 10:10:03 Parent ID : 0xA 오전 10:10:03 Pro
#44u61l5f GameGuard 에대한간단한분석. By Dual5651 (http://dualpage.muz.ro) 요약 : 이문서는분석자의입장에서 GameGuard의동작을모니터링한것에대한것입니다. 실제 GameGuard의동작방식과는다소차이가있을수있습니다. 이문서에등장하는모든등록상표에대한저작권은해당저작권자에게있습니다. 1. Execution sequence
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 informationSharing Memory Between Drivers and Applications
본컬럼에대한모든저작권은 DevGuru에있습니다. 컬럼을타사이트등에기재및링크또는컬럼내용을인용시반드시출처를밝히셔야합니다. 컬럼들을 CD나기타매체로배포하고자할경우 DevGuru에동의를얻으셔야합니다. c DevGuru Corporation. All rights reserved 기타자세한질문사항들은웹게시판이나 support@devguru.co.kr 으로 문의하기바랍니다.
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 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쉽게 풀어쓴 C 프로그래밍
Power Java 제 7 장클래스와객체 이번장에서학습할내용 객체지향이란? 객체 메시지 클래스 객체지향의장점 String 클래스 객체지향개념을완벽하게이해해야만객체지향설계의이점을활용할수있다. 실제세계는객체로이루어진다. 객체지향이란? 실제세계를모델링하여소프트웨어를개발하는방법 절차지향과객체지향 절차지향프로그래밍 (procedural programming): 문제를해결하는절차를중요하게생각하는방법
More information1
초보자를위한 Kernel based windows rootkit -1 부 - By Beist Security Study Group (http://beist.org) 요약 : 이문서는윈도우 2000/XP/2003 환경에서의커널루트킷에대한개요와윈도우와하드웨어간의커넥션에대해다룹니다. 그리고실습을위해커널레벨에서 CR0 레지스터를변경하여 SSDT 의 read-only
More information<4D F736F F F696E74202D2036C0CFC2B05FB0B4C3BCC1F6C7E2C7C1B7CEB1D7B7A1B9D62E707074>
객체지향프로그램밍 (Object-Oriented Programming) 1 C++ popular C 객체지향 (object oriented) C++ C : 상위계층언어특징 + 어셈블리언어특징 C++ : 소프트웨어개발플랫폼에객체지향개념제공 객체지향 : 자료와이들자료를어떻게다룰것인지따로생각하지않고단지하나의사물로생각 형 변수가사용하는메모리크기 변수가가질수있는정보
More information1단원
January S M T W T F S 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 1 24 25 26 27 28 31 29 30 1 10 11 12 13 14 15 2 16 17 18 19 20 21 3 22 23 24 25 26 27 4 28 29 30 31 32 33 5 34 35 36 37
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 informationSecure Programming Lecture1 : Introduction
Malware and Vulnerability Analysis Lecture1 Malware Analysis #1 Agenda 악성코드정적분석 악성코드분석 악성코드정적분석 정적분석 임의의코드또는응용프로그램을실행하지않고분석 ASCII 문자열 (ex. URL) API 리스트 Packing VT 기타등등 정적분석 : 파일식별 악성으로의심되는파일의형태식별 file
More information쉽게 풀어쓴 C 프로그래밍
제 5 장생성자와접근제어 1. 객체지향기법을이해한다. 2. 클래스를작성할수있다. 3. 클래스에서객체를생성할수있다. 4. 생성자를이용하여객체를초기화할수 있다. 5. 접근자와설정자를사용할수있다. 이번장에서만들어볼프로그램 생성자 생성자 (constructor) 는초기화를담당하는함수 생성자가필요한이유 #include using namespace
More information윤성우의 열혈 TCP/IP 소켓 프로그래밍
C 프로그래밍프로젝트 Chap 22. 구조체와사용자정의자료형 1 2013.10.10. 오병우 컴퓨터공학과 구조체의정의 (Structure) 구조체 하나이상의기본자료형을기반으로사용자정의자료형 (User Defined Data Type) 을만들수있는문법요소 배열 vs. 구조체 배열 : 한가지자료형의집합 구조체 : 여러가지자료형의집합 사용자정의자료형 struct
More information지난시간에... 우리는 kernel compile을위하여 cross compile 환경을구축했음. UBUNTU 12.04에서 arm-2009q3를사용하여 간단한 c source를빌드함. 한번은 intel CPU를위한 gcc로, 한번은 ARM CPU를위한 gcc로. AR
Configure Kernel Build Environment And kernel & root file system Build 2018-09-27 VLSI Design Lab 1 지난시간에... 우리는 kernel compile을위하여 cross compile 환경을구축했음. UBUNTU 12.04에서 arm-2009q3를사용하여 간단한 c source를빌드함.
More informationChapter #01 Subject
Device Driver March 24, 2004 Kim, ki-hyeon 목차 1. 인터럽트처리복습 1. 인터럽트복습 입력검출방법 인터럽트방식, 폴링 (polling) 방식 인터럽트서비스등록함수 ( 커널에등록 ) int request_irq(unsigned int irq, void(*handler)(int,void*,struct pt_regs*), unsigned
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 - chap06-5 [호환 모드]
2011-1 학기프로그래밍입문 (1) chapter 06-5 참고자료 변수의영역과데이터의전달 박종혁 Tel: 970-6702 Email: jhpark1@seoultech.ac.kr h k 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- ehanbit.net 자동변수 지금까지하나의함수안에서선언한변수는자동변수이다. 사용범위는하나의함수내부이다. 생존기간은함수가호출되어실행되는동안이다.
More information*2008년1월호진짜
3. USB 이동식저장장치를이용하여전파되는악성코드분석 1. 개 요 최근 USB 이동식 저장장치를 통하여 전파되는 악성코드에 대한 감염피해가 증가하고 있어 주의가 필요하다. 이번에 확인된 ntion.exe 악성코드는 감염 시, 특정 사이트에 접속하여 추가 악성코드를 다운로드하는 Dropper 기능을 수행한다. 또한, 웹 서버가 감염될 경우는 웹 서버내의 웹 페이지가
More information<B1E2BCFAB9AEBCAD28C0CCB5BFBCF6295F F6F6B696E672E687770>
SSDT HOOKING을이용한프로세스와파일숨기기 이동수 alonglog@is119.jnu.ac.kr 개 요 기존에만들었던메시지후킹프로그램을숨겨보고싶어서 SSDT후킹을공부하였다. 그리고그결과를정리하여이문서를작성하였다. 프로세스를숨기고파일을숨기기위해서 Native API를후킹했다. 메시지후킹과다르게 SSDT후킹은커널모드에서후킹을해야하므로디바이스드라이버로프로그램이작성되어있다.
More informationMF Driver Installation Guide
Korean MF 드라이버 설치설명서 사용자 소프트웨어 CD-ROM... 드라이버 및 소프트웨어 정보...1 지원되는 운영 체제...1 MF 드라이버 및 MF Toolbox 설치... [쉬운 설치]를 사용한 설치...2 [사용자 정의 설치]를 사용한 설치...10 USB 케이블 연결(USB를 이용해 연결하는 경우만)...20 설치 결과 확인...21 온라인
More information게시판 스팸 실시간 차단 시스템
오픈 API 2014. 11-1 - 목 차 1. 스팸지수측정요청프로토콜 3 1.1 스팸지수측정요청프로토콜개요 3 1.2 스팸지수측정요청방법 3 2. 게시판스팸차단도구오픈 API 활용 5 2.1 PHP 5 2.1.1 차단도구오픈 API 적용방법 5 2.1.2 차단도구오픈 API 스팸지수측정요청 5 2.1.3 차단도구오픈 API 스팸지수측정결과값 5 2.2 JSP
More informationSystem Recovery 사용자 매뉴얼
Samsung OS Recovery Solution 을이용하여간편하게 MagicInfo 의네트워크를설정하고시스템을백업및복원할수있습니다. 시스템시작시리모컨의 - 버튼이나키보드의 F3 키를연속해서누르면복구모드로진입한후 Samsung OS Recovery Solution 이실행됩니다. Samsung OS Recovery Solution 은키보드와리모컨을사용하여조작할수있습니다.
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 information메일서버등록제(SPF) 인증기능적용안내서 (Exchange Windows 2003) OS Mail Server SPF 적용모듈 작성기준 Windows Server 2003 Exchange Server 2003 GFI MailEssentials 2010 fo
메일서버등록제(SPF) 인증기능적용안내서 (Exchange 2003 - Windows 2003) OS Mail Server SPF 적용모듈 작성기준 Windows Server 2003 Exchange Server 2003 GFI MailEssentials 2010 for Exchange 2016 년 6 월 - 1 - 목 차 I. 개요 1 1. SPF( 메일서버등록제)
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 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 informationMicrosoft Word doc
2. 디바이스드라이버 [ DIO ] 2.1. 개요 타겟보드의데이터버스를이용하여 LED 및스위치동작을제어하는방법을설명하겠다. 2.2. 회로도 2.3. 준비조건 ARM 용크로스컴파일러가설치되어있어야한다. 하드웨어적인점검을하여정상적인동작을한다고가정한다. NFS(Network File System) 를사용할경우에는 NFS가마운트되어있어야한다. 여기서는소스전문을포함하지않았다.
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 informationMicrosoft Word - LKP-RTD 사용자 설명서
LKP-RTD 보드 사용자설명서 Version Information H/W Version : Version 1.0 소속 : ( 주 ) 엘케이일레븐연구소주소 : 성남시중원구상대원동 190-1 SKn테크노파크메가센터 1306호전화 : 031-776-4120 / FAX : 031-766-4119 목차 1. 개요... 5 2. 사양... 6 3. 블록도... 7 4.
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 information#111-131 ¸®´õ½ÊÆ÷Ä¿½º_07-2
CHURCH GROWTH CHURCH GROWTH CHURCH GROWTH CHURCH GROWTH CHURCH GROWTH CHURCH GROWTH CHURCH GROWTH CHURCH GROWTH 112 118 122 127 132 June 2012 113 114 July 2012 July 2012 115 116 July 2012 July 2012 117
More information슬라이드 1
-Part3- 제 4 장동적메모리할당과가변인 자 학습목차 4.1 동적메모리할당 4.1 동적메모리할당 4.1 동적메모리할당 배울내용 1 프로세스의메모리공간 2 동적메모리할당의필요성 4.1 동적메모리할당 (1/6) 프로세스의메모리구조 코드영역 : 프로그램실행코드, 함수들이저장되는영역 스택영역 : 매개변수, 지역변수, 중괄호 ( 블록 ) 내부에정의된변수들이저장되는영역
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 information버퍼오버플로우-왕기초편 10. 메모리를 Hex dump 뜨기 앞서우리는버퍼오버플로우로인해리턴어드레스 (return address) 가변조될수있음을알았습니다. 이제곧리턴어드레스를원하는값으로변경하는실습을해볼것인데요, 그전에앞서, 메모리에저장된값들을살펴보는방법에대해배워보겠습
앞서우리는버퍼오버플로우로인해리턴어드레스 (return address) 가변조될수있음을알았습니다. 이제곧리턴어드레스를원하는값으로변경하는실습을해볼것인데요, 그전에앞서, 메모리에저장된값들을살펴보는방법에대해배워보겠습니다. 여러분모두 Windows 에서 hex editor(hex dump, hex viewer) 라는것을사용해보셨을겁니다. 바로바이너리파일을 16 진수
More informationH3250_Wi-Fi_E.book
무선 LAN 기능으로 할 수 있는 것 2 무선 LAN 기능으로 할 수 있는 것 z q l D w 3 Wi-Fi 기능 플로우차트 z q l D 4 Wi-Fi 기능 플로우차트 w 5 본 사용 설명서의 기호 설명 6 각 장별 목차 1 2 3 4 5 6 7 8 9 10 11 12 13 14 7 목차 1 2 3 4 8 목차 5 6 7 8 9 9 목차 10 11 12
More informationKMC.xlsm
제 7 장. /S 에필요한내용 1] IGBT 취급시주의사항 ) IGBT 취급시주의 1) 운반도중에는 Carbon Cross로 G-E를단락시킵니다. 2) 정전기가발생할수있으므로손으로 G-E 및주단자를만지지마십시요. 3) G-E 단자를개방시킨상태에서직류전원을인가하지마십시요. (IGBT 파손됨 ) 4) IGBT 조립시에는사용기기나인체를접지시키십시요. G2 E2 E1
More informationJDBC 소개및설치 Database Laboratory
JDBC 소개및설치 JDBC } What is the JDBC? } JAVA Database Connectivity 의약어 } 자바프로그램안에서 SQL 을실행하기위해데이터베이스를연결해주는응용프로그램인터페이스 } 연결된데이터베이스의종류와상관없이동일한방법으로자바가데이터베이스내에서발생하는트랜잭션을제어할수있도록하는환경을제공 2 JDBC Driver Manager }
More information리눅스 프로세스 관리
프로세스 (Process) Process 프로그램이나명령어를실행하면메모리에적재되어실제로실행되고있는상태를의미 이러한프로세스들은프로세스가시작하면서할당받는프로세스식별번호인 PID(Process ID), 해당프로세스를실행한부모프로세스를나타내는 PPID(Parent Process ID), UID 와 GID 정보를통해해당프로세스가어느사용자에속해있는지, 프로세스가파일에대해갖는권한및프로세스가실행된터미널,
More information1. auto_ptr 다음프로그램의문제점은무엇인가? void func(void) int *p = new int; cout << " 양수입력 : "; cin >> *p; if (*p <= 0) cout << " 양수를입력해야합니다 " << endl; return; 동적할
15 장기타주제들 auto_ptr 변환함수 cast 연산자에의한명시적형변환실행시간타입정보알아내기 (RTTI) C++ 프로그래밍입문 1. auto_ptr 다음프로그램의문제점은무엇인가? void func(void) int *p = new int; cout > *p; if (*p
More information설계란 무엇인가?
금오공과대학교 C++ 프로그래밍 jhhwang@kumoh.ac.kr 컴퓨터공학과 황준하 6 강. 함수와배열, 포인터, 참조목차 함수와포인터 주소값의매개변수전달 주소의반환 함수와배열 배열의매개변수전달 함수와참조 참조에의한매개변수전달 참조의반환 프로그래밍연습 1 /15 6 강. 함수와배열, 포인터, 참조함수와포인터 C++ 매개변수전달방법 값에의한전달 : 변수값,
More information제8장 자바 GUI 프로그래밍 II
제8장 MVC Model 8.1 MVC 모델 (1/7) MVC (Model, View, Controller) 모델 스윙은 MVC 모델에기초를두고있다. MVC란 Xerox의연구소에서 Smalltalk 언어를바탕으로사용자인터페이스를개발하기위한방법 MVC는 3개의구성요소로구성 Model : 응용프로그램의자료를표현하기위한모델 View : 자료를시각적으로 (GUI 방식으로
More informationWinDBG 실무
주식회사하제소프트 (www.hajesoft.co.kr) 강사이봉석 과정소개 윈도우응용프로그램, 윈도우서비스프로그램, 윈도우디바이스드라이버를개발하는개발자들로하여금고급디버깅기술을제공하는 윈도우디버거 (WinDBG) 사용방법을익히게하여, 고급시스템프로그래머를양성하는데있습니다 윈도우디버거 (WinDBG) 를사용하는개발자는실무에서고급시스템프로그래머가갖추어야할중요한디버깅지식을습득함과동시에시간과비용을최대한아끼는프로그래밍습관과우수한결과물을만들어낼수있습니다
More information4) 5) 6) 7)
1) 2) 3) 4) 5) 6) 7) 8) 9) 10) 11) 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) 42) 43) 44) 45) 46) 47) 48) 49) 50) 51) 52) 53)
More informationMicrosoft PowerPoint - 09-CE-5-윈도우 핸들
순천향대학교컴퓨터학부이상정 1 학습내용 윈도우핸들 윈도우찿기 윈도우확인및제거 윈도우숨기기 윈도우포커스 윈도우텍스트 윈도우핸들 순천향대학교컴퓨터학부이상정 3 핸들 (handle) 윈도우에서구체적인어떤대상을구분하기위해지정되는고유의번호 32비트의정수값 핸들은운영체제가발급하고사용자가이값을사용 실제값이무엇인지는몰라도상관없음 윈도우, DC, 브러쉬등등 순천향대학교컴퓨터학부이상정
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 informationMicrosoft PowerPoint - 02_Linux_Fedora_Core_8_Vmware_Installation [호환 모드]
리눅스 설치 Vmware를 이용한 Fedora Core 8 설치 소프트웨어실습 1 Contents 가상 머신 실습 환경 구축 Fedora Core 8 설치 가상 머신 가상 머신 가상 머신의 개념 VMware의 설치 VMware : 가상 머신 생성 VMware의 특징 실습 환경 구축 실습 환경 구축 Fedora Core 8 설치 가상 머신의 개념 가상 머신 (Virtual
More informationMicrosoft PowerPoint - 03_(C_Programming)_(Korean)_Pointers
C Programming 포인터 (Pointers) Seo, Doo-Ok Clickseo.com clickseo@gmail.com 목 차 포인터의이해 다양한포인터 2 포인터의이해 포인터의이해 포인터변수선언및초기화 포인터연산 다양한포인터 3 주소연산자 ( & ) 포인터의이해 (1/4) 변수와배열원소에만적용한다. 산술식이나상수에는주소연산자를사용할수없다. 레지스터변수또한주소연산자를사용할수없다.
More information제 12강 함수수열의 평등수렴
제 강함수수열의평등수렴 함수의수열과극한 정의 ( 점별수렴 ): 주어진집합 과각각의자연수 에대하여함수 f : 이있다고가정하자. 이때 을집합 에서로가는함수의수열이라고한다. 모든 x 에대하여 f 수열 f ( x) lim f ( x) 가성립할때함수수열 { f } 이집합 에서함수 f 로수렴한다고한다. 또 함수 f 을집합 에서의함수수열 { f } 의극한 ( 함수 ) 이라고한다.
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 informationSharing Memory Between Drivers and Applications
본컬럼에대한모든저작권은 DevGuru에있습니다. 컬럼을타사이트등에기재및링크또는컬럼내용을인용시반드시출처를밝히셔야합니다. 컬럼들을 CD나기타매체로배포하고자할경우 DevGuru에동의를얻으셔야합니다. c DevGuru Corporation. All rights reserved 기타자세한질문사항들은웹게시판이나 support@devguru.co.kr 으로 문의하기바랍니다.
More information메일서버등록제(SPF) 인증기능적용안내서 (AIX - sendmail) OS Mail Server SPF 적용모듈 (Perl 기반) 작성기준 AIX 5.3 sendmail spf-filter 년 6 월
메일서버등록제(SPF) 인증기능적용안내서 (AIX - sendmail) OS Mail Server SPF 적용모듈 (Perl 기반) 작성기준 AIX 5.3 sendmail 8.13.4 spf-filter 1.0 2016 년 6 월 목 차 I. 개요 1 1. SPF( 메일서버등록제) 란? 1 2. SPF 를이용한이메일인증절차 1 II. sendmail, SPF
More informationMicrosoft PowerPoint - Chapter 6.ppt
6.Static 멤버와 const 멤버 클래스와 const 클래스와 static 연결리스트프로그램예 Jong Hyuk Park 클래스와 const Jong Hyuk Park C 의 const (1) const double PI=3.14; PI=3.1415; // 컴파일오류 const int val; val=20; // 컴파일오류 3 C 의 const (1)
More information메일서버등록제(SPF) 인증기능적용안내서 (HP-UX - qmail) OS Mail Server SPF 적용모듈 (Perl 기반) 작성기준 HP-UX 11.11i qmail 1.03 spf-filter 년 6 월
메일서버등록제(SPF) 인증기능적용안내서 (HP-UX - qmail) OS Mail Server SPF 적용모듈 (Perl 기반) 작성기준 HP-UX 11.11i qmail 1.03 spf-filter 1.0 2016 년 6 월 목 차 I. 개요 1 1. SPF( 메일서버등록제) 란? 1 2. SPF 를이용한이메일인증절차 1 II. qmail, SPF 인증모듈설치
More informationDBMS & SQL Server Installation Database Laboratory
DBMS & 조교 _ 최윤영 } 데이터베이스연구실 (1314 호 ) } 문의사항은 cyy@hallym.ac.kr } 과제제출은 dbcyy1@gmail.com } 수업공지사항및자료는모두홈페이지에서확인 } dblab.hallym.ac.kr } 홈페이지 ID: 학번 } 홈페이지 PW:s123 2 차례 } } 설치전점검사항 } 설치단계별설명 3 Hallym Univ.
More information요약문 1. 연구제목 DLL Injection 을이용한 KeyLogger 제작및탐지방법연구 2. 연구목적및필요성인터넷의발달과컴퓨터의성능과보안프로그램성능과기술이발전함에따라악성코드의기술과기교도많이발전하였다. 그리고악성코드의기술도늘어남에따라초보자도쉽게사용이가능해지고본인이모르
캡스톤보고서 Dll Injection 을이용한 KeyLogger 제작및탐지방법분석 팀명 : 4 조 Guardian 지도교수 : 양정모교수님 조장 : 조민제 (4년) 신예원 (4년) 이상철 (4년) 유명곤 (4년) 2013.5 중부대학교정보보호학과 요약문 1. 연구제목 DLL Injection 을이용한 KeyLogger 제작및탐지방법연구 2. 연구목적및필요성인터넷의발달과컴퓨터의성능과보안프로그램성능과기술이발전함에따라악성코드의기술과기교도많이발전하였다.
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 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서현수
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비디오 / 그래픽 아답터 네트워크 만약에 ArcGolbe를 사용하는 경우, 추가적인 디스크 공간 필요. ArcGlobe는 캐시파일을 생성하여 사용 24 비트 그래픽 가속기 Oepn GL 2.0 이상을 지원하는 비디오카드 최소 64 MB 이고 256 MB 이상을 메모리
ArcGIS for Desktop 10.4 Single Use 설치가이드 Software: ArcGIS for Desktop 10.4 Platforms: Windows 10, 8.1, 7, Server 2012, Server 2008 ArcGIS for Desktop 10.4 시스템 요구사항 1. 지원 플랫폼 운영체제 최소 OS 버전 최대 OS 버전 Windows
More informationSoftware Modeling < < OOAD Stage 김정태 최정명 이낙원 송준현
Software Modeling < < OOAD Stage 1000 200611460 김정태 200611521 최정명 200611499 이낙원 200611481 송준현 Activity. 1001 Name?? Act 1001 Name?? Smart DJ Coffee Maker! Act 1001 Turn Table!! 연속적으로
More information메일서버등록제(SPF) 인증기능적용안내서 (Exchange Windows 2000) OS Mail Server SPF 적용모듈 작성기준 Windows Server 2000 Exchange Server 2003 GFI MailEssentials 14 for
메일서버등록제(SPF) 인증기능적용안내서 (Exchange 2003 - Windows 2000) OS Mail Server SPF 적용모듈 작성기준 Windows Server 2000 Exchange Server 2003 GFI MailEssentials 14 for Exchange 2016 년 6 월 - 1 - 목 차 I. 개요 1 1. SPF( 메일서버등록제)
More informationADP-2480
Mitsubishi PLC 접속 GP 는 Mitsubishi FX Series 와통신이가능합니다. 시스템구성 6 7 8 GP-80 RS- Cable RS-C Cable FXN--BD FXN--BD 6 FX Series(FXS,FXN,FXN,FXNC, FXU) 7 FXS, FXN 8 FXN FX Series 는기본적으로 RS- 통신을하며, RS-/ converter
More informationMicrosoft PowerPoint - chap06-1Array.ppt
2010-1 학기프로그래밍입문 (1) chapter 06-1 참고자료 배열 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- 배열의선언과사용 같은형태의자료형이많이필요할때배열을사용하면효과적이다. 배열의선언 배열의사용 배열과반복문 배열의초기화 유연성있게배열다루기 한빛미디어
More information기초컴퓨터프로그래밍
구조체 #include int main() { } printf("structure\n"); printf("instructor: Keon Myung Lee\n"); return 0; 내용 구조체 (struct) Typedef 공용체 (union) 열거형 (enum) 구조체 구조체 (structure) 어떤대상을표현하는서로연관된항목 ( 변수 )
More information