어셈블리어 기록장

Wooki·2021년 8월 17일
0

리버스 엔지니어링을 공부하면서 알게된 어셈블리어들을 저장하기 위한 기록장.

어셈블리어사용법의미메모
MOVmov arg1,arg2arg2의 을 arg1에 넣는 명령어
LEAlea arg1,arg2arg2의 주소를 arg1에 넣는 명령어
INCInc arg1arg1의 값을 1증가
JMPjmp [Address]해당 주소로 이동해서 OP Code를 실행한다점프문
JNZjmz [Address]비교한 값이 0이 아닌경우 (Zero Flag 가 0인경우) 해당 주소로 이동한다점프문
JEJe [Address]비교된 값이 같으면 해당 주소로 이동한다.점프문
CMPcmp arg1,arg2두 인자 arg1, arg를 비교한다. (arg1 - arg2 형식으로 비교)
TESTTEST arg1, arg2피연산자 끼리 AND 연산하여 Flag 값 세팅
TEST EAX EAX피연산자의 값이 0인지 확인하기 위해서 사용한다.TEST 응용

CMP와 TEST

CMP와 TEST는 두 인자를 비교하는데 사용되는데 그 비교 방식에 조금 차이가 있다.

CMP는 첫 번째 인자에서 두 번째인자를 빼서 같음을 비교한다(계산 결과가 0인지)
같으면 Zero Flag를 1로 세팅한다.

TEST는 두 인자를 AND 연산하여 두 인자가 모두 0인지 판단하는데 사용된다.


계속 추가 예정.

profile
웹 개발자

0개의 댓글