Reversing/Assembly 2

[ARM] ARM asm & instruction / ARM exploitation

Let's study ARM exploitation!RegisterR0 ~ R12 : 범용 레지스터, 인자값 및 임시 계산소 등이 들어감x86의 eax,ebx,ecx... 등과 비슷한 역할을 함R13(SP) : Stack Pointerx86의 esp와 비슷한 역할을 함R14(LR) : Link Register, 함수 호출 전 LR에 리턴 주소를 넣어둠.x86에서는 call할때 함수 호출 전 리턴주소를 stack에다가 넣어두지만, ARM에서는 LR에 넣어두어 함수를 call할때 스택을 사용하지않는다.R15(PC) : 다음 실행할 코드의 주소를 저장한다.x86의 eip와 같은 역할 AssemblyB : Branch B명령어 뒤에 지정된 상수값에 해당하는 주소로 분기하는 명령이다.x86의 jmp와 매우 유사하..

Reversing/Assembly 2019.09.26

[x86] 주요 어셈블리 명령어의 종류와 레지스터 ,( EBP, ESP, EIP, EAX ... )와 SFP

[1] 어셈블리어 ( Assembly ) 는 무엇일까? & 배우는 목적?어셈블리어는 기계어와 함께 유일한 저급 언어 ( Low level ) 언어이다.기계어에 1대1 대응이 되는언어이며, 기계어 바로 전 단계의 언어이다.여기서 저급 언어란, 컴퓨터와 더 가까운 언어라고 생각하면 되고, C언어도 포인터를 통하여 메모리에 접근하기때문에 저급언어적 특징을 가지고잇는 고급 ( High level ) 언어라고 생각하면 된다.여기서 여러분들은 컴퓨터와 더 가까운 언어인 어셈블리어를 왜 배워야할까? 라고 생각할수도있다.물론 나도그랬다.그런데 시스템해킹이라던가, 리버스엔지니어링, 임베이드 프로그래밍 등등 여러가지 분야에서 어셈블리가 필수적이였다는것을 알게되었다.시스템해킹을 공부하다보니 간단한수준의 어셈블리 명령어와 레..

Reversing/Assembly 2019.04.06