전체 글 289

어셈블리어 - MOVZX 명령어

MOV 명령의 확장 명령인 MOVZX를 알아본다. 이전에 MOV명령을 설명할 때 같은 크기의 데이터 끼리만 복사가 된다고 했는데.. MOVZX 명령은 첫번째 데이터가 두번째 보다 크기가 커도 복사가 된다. 대신 크기가 안맞으니 남은 공간은 0으로 체워짐.. 컴파일과 오브젝트 파일 링크하는 방법은 이전 mov명령어 포스트 참고 push ebp mov ebp, esp sub esp, 4h : 아까도 설명 했듯이.. 함수의 프롤로그와 스택 한칸의 크기를 할당한다. mov dword ptr [ebp-4], 0000ffffh : 할당된 스택에 0xFFFF 값이 저장된다. mov bx, word ptr [ebp-4] : BX부분에 FFFF가 복사된다. 원래 ebx값이 7FFD0000이었는데 7FFDFFFF이 되었음..

어셈블리어 - MOV 명령어

MOV 명령 데이터를 복사하는 명령어다. move라고 착각하여 이동시킨다고 생각할 수 있는데 이거는 복사하는 거다. MOV를 쓸 때 몇가지 제한사항이 있으니 참고하자. * 레지스터에서는 같은 사이즈의 데이터끼리만 복사 가능하다. * 메모리에서 메모리로 복사가 안된다. 고로 레지스터를 통해서 복사해야한다. * 세그먼트 레지스터의 내용은 범용 레지스터가 아닌 곳으로 이동 가능. 반대는 불가 mov는 " mov eax, ebx " 형태를 가진다. ebx의 값을 eax로 복사한다. 이런 뜻이다. 직접 예제를 통해서 mov에 대해 더 알아보자. mov에 관한 예제 어셈블리 코드이다. 설명이 필요하니 하겠음 .code : 코드가 시작되는 부분 main proc push ebp : 기존 EBP 주소를 스택에 백업 m..

어셈블리어 개요

. Assembly(어셈블리) 란? -> 기계어와 1:1로 대응되는 저급 프로그래밍 언어이다. 어셈블리 언어를 기계어 형태의 오브젝트 코드로 해석해주는 어셈블러에 의해 해석된다. 2. 어셈블리 기본 정리 - segreg : 16비트 세그먼트 레지스터 - mem : 메모리 - label : 지정된 레이블 - imm : 즉시값(상수) - reg : 일반 범용 레지스터 어셈블리 명령어 앞에 E가 많이 붙는데. 기존 16비트에서 32비트 아키텍쳐가 되면서 범위가 확장된 거임 (Extended) 명령어를 보기 전에 일단 프롤로그와 에필로그가 뭔지 좀 알아보자. Prologue(프롤로그) : 스텍 프레임을 잡아주는 것. 즉 함수가 호출 될 때 프롤로그라고 한다. -> push EBP ebp의 값을 push하고 es..

정규표현식 (Regular Expression)

1. Reuglar Expression 개념 정규표현식에 대해 알아봅시다. 먼저 위키피디아에 적혀있는 정규표현식의 개념은 아래와 같다. " 특정한 규칙을 가진 문자열의 집합을 표현하는데 사용하는 형식 언어" 쉽게 말해 문자열의 검색, 치환, 추출을 위한 하나의 패턴이라고 생각하면 된다. 주로 프로그래밍 언어와 문서편집기 등에서 쓰인다. 여담으로 나는 Snort 룰 설정에 정규표현식이 사용되어 공부하는 것이다. 꼭 알아야 함 언어별, 프로그램별로 조금씩 규칙의 차이점이 있지만 거의 비슷하다. 14 위와 같이 생겨먹은게 정규표현식이다. 진짜 극혐;;; 정규표현식 자체가 CRLF를 허용하지 않아서 한줄에 저렇게 다 적어야 한다. 토쏠리게 복잡하다. 하지만 정규표현식을 사용하지 않으면 문자열 처리를 수행하려면 ..

C 프로그램 퍼포먼스에 대한 메모

내가 들은 강의에서 주안점으로 본 것은 "실제 프로그래머들은 어떻게? 무엇을? 왜?" 라는 점이다. ​ 실제로 필드에서 일하시는 분들이 신경쓰는 부분, 책에선 알 수 없는 내용. ​ "어떻게 효율적으로 프로그래밍을 하는가?" "무엇을 사용해야 효율적인 프로그래밍이 가능한가?" "내가 대충 넘어간 부분을 저 사람은 왜 중요하다고 말하는가?" ​ 기본적인 문법, 내용 등은 컴퓨터 전공인 관계로 알고 있는 내용이 많았다. 하지만 실제로 코딩할 때는 책에서 쉽게 알 수 있는 지식도 물론 중요하지만 실제 경험을 바탕으로 나온 노하우 등으로 인한 미세한 변화가 큰 결과를 낳을 때가 많다. 강의를 듣는 내내 그런 꿀(?)같은 정보가 없나 귀를 쫑긋하고 들었다. ​ 먼저 연산에 대한 내용이다. 1. 이항 연산보다 단항..

반응형