전체 글 (26) 썸네일형 리스트형 [리버싱]스택(Stack), 레지스터(Register), 스택 프레임(Stack Frame) 스택(Stack) 쌓다 라는 의미로 데이터를 차곡차곡 쌓아 올린 형태의 자료구조 제한적으로 접근할 수 있는 나열구조로 후입선출(LIFO)의 특징을 가지고 있습니다. 스택의 대표적인 사용 사례 웹브라우저 방문기록(뒤로가기), 실행취소(undo), 역순 문자열 만들기, 후위 표기법 계산 스택에 자료를 넣는 것을 push, 스택에서 데이터를 꺼내는 것을 pop이라고 합니다. 다음은 C언어를 사용하여 스택을 구현해 보았습니다. #include #define MAX_STACK_SIZE 10 int stack[MAX_STACK_SIZE]; int top = -1; int isFull() { if (top >= MAX_STACK_SIZE) { printf("스택이 가득 찼습니다."); return 1; } else .. [리버싱] Binary & Analysis 리버스 엔지니어링이란? 완성품과 이를 구성하는 부품들의 기능과 설계를 고안하고 제작하는 엔지니어링 행위를 거꾸로 하는 것을 합니다. 리버싱은 학습 및 연구용으로 많이 이용되는 기술, 각종 악성코드나 불법 프로그램의 분석 및 대응을 위해서도 사용되는 효과적인 기술입니다. 그러나 프로그램의 전체적인 작동 원리를 알아낼 수 있어 상용 프로그램의 지적 재산권을 침해할 수 있다는 위험성도 존재합니다. 테스팅이나 연구, 학습 등을 목적으로 한 리버싱은 저작권을 침해하지 않는 한에서 제한적으로 허용되지만 저작권을 침해하는 행위는 법적인 문제로 이어질 수 있으니 주의가 필요하겠습니다. 바이너리(Binary)에 대하여 프로그램 : 연산장치가 수행해야하는 동작을 정의한 일종의 문서 많은 정보분야의 엔지니어들은 프로그램을 .. 이전 1 ··· 6 7 8 9 다음