전체 (242) 썸네일형 리스트형 Extensible Storage Engine 보호되어 있는 글입니다. C++ 을 Python 처럼 최근 파이썬 코드를 C++로 포팅해야하는 일이 생겼다. 그렇게 하기 위해선 파이썬 코드와 동일한 C++의 STL을 알 필요가 있었다. 다음의 1개의 웹문서와 1개의 책을 이용해 다음과 같이 정리할 수 있었다. 참고문헌 : 웹문서 : http://preshing.com/20141202/cpp-has-become-more-pythonic/ 책 : C++ 11 STL 프로그래밍 (최흥배 저) 1. 상수 (Literals) C++ 14 부터 바이너리 상수를 제공한다. 방식은 파이썬과 동일하다. 파이썬 primes = 0b10100000100010100010100010101100 ( = bin(2693408940)) C++ static const int primes = 0b1010000010001010001010.. DirectShow 개발환경 설정하기 0. Visual studio 2010을 설치한다. 1. 구글에서 Directx sdk 를 검색한다. 2. DirectX SDK - Microsoft 를 클릭한뒤 DirectX Software Development Kit를 다운받고 설치한다. 3. 설치 후 C:\Program Files\Microsoft DirectX SDK (June 2010) 폴더를 확인한다. - Documentation : 다이렉트SDK 개발문서 파일존재 - Utilities : 다양한 다이렉트X 유틸리티가 포함 - Lib, Include : 다이렉트X 프로그램을 개발할 때 필요한 헤더와 라이브러리 파일이 포함되어 있음 - Redist : 다이렉트 X 실행 환경의 재배포용 설치파일이 들어있음, 재배포가 필요하면 이 폴더에 있는 설치.. Anti-VM 기법이 적용된 악성코드 분석 및 우회 방법 연구 0. 요약 0.1 제목 Anti-VM 기법이 적용된 프로그램 분석 및 우회 방법 연구 0.2 연구 개발의 목적 및 중요성 최근 증가되고 있는 악성코드에 의한 사용자의 데이터 유출 및 개인정보 유출, 분산서비스거부(DDoS) 공격 등의 다양한 침해사례가 증가하고 있다. 악성코드를 예방하고 차단하기 위해서는 악성코드의 신속한 분석을 통해 대응책을 찾는 것이 중요하다. 이를 위해 다양한 패턴을 지닌 악성코드를 수집하고 이를 정적 분석, 동적 분석을 통해 분석하는 방법이 있다. 하지만, 대다수의 악성코드들은 자신을 보호하기 위해 실행 압축, 난독화, Anti-VM, Anti-Debugging, 코드 가상화 등의 기술을 사용하며, 특히 Anti-VM 기술을 적용한 악성코드들이 급격히 늘고있어 이를 우회하는 기술의.. 프롤로그(Prolog ) 언어를 이용한 교환정렬, 합병정렬, 쾌속정렬, 8-queens 구현 1. 개요 가. Prolog 란? 프롤로그(Prolog)는 논리형 프로그래밍 언어이다. 이름은 '논리 프로그래밍'을 의미하는 프랑스어: programmation en logique에서 온 것이다. 1973년 프랑스 마르세유대학교의 알랭 콜메르(Alan Colmerauer)가 개발한 언어로서, 논리식을 토대로 하여 오브젝트와 오브젝트 간의 관계에 관한 문제를 해결하기 위해 사용한다. 프롤로그는 술어 논리식을 프로그램, 증명하는 것을 계산한다는 것으로 간주하는 관점에서 새로운 계산의 기술 형태를 취하고 있다. 즉, 프로그램 자체는 논리식의 모양으로 만들어지고, 그 프로그램을 실행하는 처리계가 그 증명기로 되어 있다. 추론 기구를 간결하게 표현할 수 있기 때문에 인공지능이나 계산 언어학 분야, 특히 프롤로그가.. DLL을 디버깅하기 위해 필요한 프로그램 1. DebugView 코드에 다음과 같은 함수를 작성한다. void DebugLog(const char *format, ...){va_list vl;FILE *pf = NULL;char szLog[512] = {0,}; va_start(vl, format);wvsprintf(szLog, format, vl);va_end(vl); OutputDebugString(szLog);} (출처 : 리버싱 핵심 원리, redirect.cpp) DebugLog("XXX함수가 에러났어요 : %u\n", GetLastError() ); 이런식으로 에러난 부분에 로그를 출력시켜준다. 그러면 이 프로그램의 화면에 로그가 출력된다. 출처 : https://technet.microsoft.com/ko-kr/library/bb8.. Virtual Machine 탐지 및 우회 1. 레지스트리 1) 시스템 등록 정보 - 경로 : HKEY_LOCAL_MACHINE\SYSTEM윈도우에서 사용하는 파일 시스템, 하드웨어 드라이버, 윈도우의 커널이 사용하는 정보 등 윈도우 하부 시스템에 관련된 다양한 설정 내용에 대한 정보가 저장된다. - 하위키 : ControlSet001, ControlSet001 윈도우가 부팅할 때 사용하는 컨트롤 집합이 들어 있는 키로, 최소한 2개 이상 존재한다. 윈도우 XP는 하드웨어의 내용이 변경될 때 마다 새로운 컨트롤 집합을 만들어 순서대로 번호를 붙인다. - 하위키 : CurrentControlSet컴퓨터를 부팅하기 위해 사용한 컨트롤 집합이다. 부팅에 사용된 컨트롤 집합은 자동으로 이 키에 그 내용이 복사된다. - 하위키 : CurrentContro.. PARI/GP 시험문제 1번 : PARI 프로그램의 큰 수 (Big Number)의 계산을 지원하는 프로그램을 2개이상 쓰시오. - Maple - Mathematica - NTL - Magma - FLINT 2번 : PARI 프로그램에 기본 내장되어 있는 명령어 allocatemem(N), random(N), isprime(N), factor(N)에 대해 설명하시오 - allocatemem(N) : 연산 전에 초기 메모리의 최대 크기를 설정해줄 수 있다. - random(N) : 0부터 N까지의 랜덤한 값 반환 - isprime(N) : N이 소수일 경우 1 소수가 아닐 경우 0 반환 - factor(N) : n의 인수를 구할 수 있음 3번 : PARI 프로그램에 기본 내장되어 있는 명령어 read, write에 대해 아는 대.. 이전 1 ··· 14 15 16 17 18 19 20 ··· 31 다음