XML처리 방식은 DOM과 SAX방식이 있다. -DOM( 문서 객체 모델 ) : 완전한 XML 파일을 판독하여 메모리 내에 해당 파일의 계층적 표현을 생성하며 , 이를 어플리케이션으로 분석 -SAX...
리버싱 실전-1
문서화 되지 않은 API NTDLL.DLL(유저 모드 서비스)을 통해 익스포트 디렉토리를 조사하고 API 그룹리스트를 찾아본다. Generic Table API 네이티브 API에 속하며, RTL함수는 런타임 라이브러리 함수로 운영체...
수 분할
//수분할 자연수n을 순서에 상관없이 하나 이상의 자연수의 합으로 나타내는 방법 //3의 경우 1+1+1 / 2+1 2가지 방법이 있다 // 5/2수분할 1+1+1+1+1 / 2+1+1+1 / 2+2+1 3가지 // 5/3수분할 1+1+1...
피보나치
//피보나치 수열 중복연산O //처음 두값은 1 그다음엔 앞의 두항을 더하여 만든다. //n번째 값을 출력한다. long long fibo(int n) { if(n==1 || n ==2) return 1; else return ...
이항계수 재귀함수
//이항계수 N명중 R명을 뽑는 방법 갯수 long long choose(int n, int r) { if(r ==0 || n == r) return 1; return choose(n-1, r-1) + choose( n-1 , r);...
간단한 재귀함수
//팩토리얼 재귀 함수 int factorial(int n) { if(n ==1) return 1; else return n * factorial(n-1); } //리스트 출력 재귀 void print_list(t_node *n...
십진수를 이진수로 바꿔 1의 개수 카운팅
#define ARRAY_SIZE 100 int OneZeroArray[ARRAY_SIZE]; int iCnt =0; int OneCount(int n) //십진수를 2진수로바꿔 1의 갯수 리턴 { int r=0; while(n ...
연결리스트 큐
struct _node { int key; struct _node *next; }t_node; t_node *head = NULL, *tail = NULL; void front_insert(int n) //앞에 추가 { t_nod...
배열을 이용한 원형 큐
#define QUEUE_CAPACITY 8 int queue_size =0; int tail = -1; int head = 0; int queue[QUEUE_CAPACITY]; void enqueue(int n) { if(queue_si...
윈도우 기초
가상메모리 OS의 기본개념으로 SW가 물리메모리에 직접 접근하여 사용하는 대신 프로세서가 OS와 조합해서 SW와 물리메모리 사이에 가상의 계층을 만드는 것 페이지 테이블 을 사용하면 여러 개의 주소 공간을 생성 하며, 주소 공간은...
로우레벨 소프트웨어
하이레벨과 로우레벨의 차이점은 데이터 처리 부분이다. 레지스터는 프로세서 안에 존재하는 내부 메모리의 작은 모임이며, 성능저하 없이 접근이 가능하지만 수의 제한이 있다. 또한 지속적인 저장공간을 사용할 수 없으므로 RAM을 이용한다. ...