assembly

    System :: ARM Assembly 정리

    System :: ARM Assembly 정리

    ARM 아키텍처는 16개의 레지스터를 가지고 있다. R0 ~ R12 : 범용 레지스터. 인자값 저장 등 R13(SP) : Stack Pointer. 스택의 주소를 저장하는 레지스터. x86 의 ESP 레지스터와 비슷 R14(LR) : Link Register. 함수 호출 시 되돌아갈 함수의 주소가 저장되는 레지스터 R15(PC) : x86 에서의 EIP 레지스터와 동일한 역할. 다음에 실행할 코드의 주소 저장 어셈블리어에 대해 간단히 살펴보자. OP Code : MOV, ADD, SUB, LDR, STR 과 같은 어셈블리 명령어 cond : 조건부로 명령을 실행해야 할 경우 OP Code 뒤에 붙여서 사용. Rd : Destination Register. 연산작업의 결과값을 저장하는 레지스터. 반드시 R..

    Pwnable.kr :: Toddler's Bottle - leg write up

    Pwnable.kr :: Toddler's Bottle - leg write up

    pwnable.kr 의 leg 문제를 풀어보자. 문제를 들어가면 arm 에 배워야 한다고 말한다. 하지만 본인은 leg 가 더 좋다고 한다.. pwnable.kr 의 감성 아직은 따라가기 버겁다... 우선 ARM architecture 에 대해 알아보자. 임베디드 기기에서 많이 사용되는 RISC 프로세서로, 저전력을 사용하도록 설계하여 ARM CPU 는 모바일이나 싱글 보드 컴퓨터에서 뚜렷한 강세를 보인다고 한다. 출처 : https://ko.wikipedia.org/wiki/ARM_%EC%95%84%ED%82%A4%ED%85%8D%EC%B2%98 ARM 아키텍처 - 위키백과, 우리 모두의 백과사전 64/32비트 아키텍처발표2011년 (10년 전)(2011)버전Armv8-A, Armv8.1-A, Armv..