일단 어셈블리어 정의부터보시죠
어셈블리어(영어: assembly language) 또는 어셈블러 언어(assembler language)는 기계어와 일대일 대응이 되는 컴퓨터 프로그래밍의 저급 언어이다.
대충 어셈블리어란 컴퓨터가 사용하는 저급언어다
저급언어와 고급언어가 있는데 그건 구분법이간단해요
고급언어의경우
냉장고에서 물을꺼내와! // 라는명령을하면 물을꺼내오지만 내부적으로 저급언어로
저급언어
냉장고로 간다
냉장고 문을 잡는다
냉장고 문을 연다
냉장고안에서 물을 찻는다
물을 잡는다
냉장고 문을 잡는다
냉장고 문을 닫는다
주인에게 간다
물을 준다
이렇게 새부적으로 나와있는게 저급언어입니다
우리가 분석할게보이죠
이제우리는 저과정을 보면서 고급언어인 냉장고에서 물을가져오는구나 그런걸 알면됩니다
컴퓨터의 기본구조부터 알아보죠
CPU와 그래픽카드 램 SSD 메인보드등이 있습니다
CPU 계산을하는 장치입니다
CPU는 대충 이렇습니다
계산을하는 ALU라는것안에
레지스터라는게 있구나 현재는 여기까지만
그리고 추가로 알아야하는건
컴퓨터는 위에서 아래로 명령을 작동합니다
아까 저급언어처럼 순서대로 내려오면서 작동합니다
Assembly language
-어셈블리어란 컴퓨터(엄밀히는 CPU)가 이해할 수 있는 기계어 명령들을 사람들이 보다 쉽게 이해할 수 있도록 간단한 니모닉 언어(mnemonic symbol, 연상문자)로 나타낸 것. 이 어셈블리어들은 기계어와 1:1로 매칭된다.
( 기계어 한 바이트당 하나의 니모닉 언어를 가지나 자주 쓰는 기계어의 경우 둘 이상의 바이트가 매칭되기도 한다.)
기계어 | 어원 | 나모닉 언어(어셈블리어) |
B8 01000000 | Move eax 1 | mov eax,1 |
E9 | JUMP MUST | jmp |
38C0 | compare eax,eax | cmp |
C3 | Return | ret |
영어 어원을 알면 어셈을알기쉬우니 문서를만들겠다
https://dhhd-goldmilk777.tistory.com/191
'PC리버싱 > (망)초보자를위한 리버싱 기초' 카테고리의 다른 글
초보자도 할수있다 리버싱 3강(리버싱 한번 맛보자) (0) | 2020.06.27 |
---|---|
초보자도 할수있다 리버싱 2강(리버싱 도구들 총정리) (0) | 2020.06.27 |
초보자도 할수있다 리버싱 1강(리버싱이란?) (0) | 2020.06.27 |