'Reversing'에 해당되는 글 1건

CALL
ex) CALL 인자1(주소값)

-> 인자1 을 불러와 실행한다.

-> 대부분 함수를 호출한다.


PUSH

-> 스택을 쌓는다.


POP

-> 스택을 빼낸다.


MOV
ex) MOV 인자1, 인자2

-> 인자2의 값을 인자1로 넣는다.


ADD
ex) ADD 인자1, 인자2

-> 인자1 + 인자2 값을 인자1로 대입.


SUB
ex) SUB 인자1, 인자2
-> 인자1 - 인자2 값을 인자1로 대입.


INC
ex) INC 인자1
-> 인자1에다가 1을 더한다.


DEC
ex) DEC 인자1
-> 인자1에다가 1을 뺀다.


CMP
ex) CMP 인자1, 인자2
-> 인자1과 인자2를 비교하는 역할을 한다.
-> CMP가 나올땐 항상 JMP가 따라나온다.


JMP
-> 특정 지역으로 이동(점프) 한다.
-> CMP 비교 값을 보고 점프 하거나 점프하지 않는다.

-> JMP의 종류

JE : 값이 같으면 점프해라.
JNE : 값이 다르면 점프해라.
JG : 왼쪽 인자의 값이 오른쪽 인자보다 크면 점프해라.
JL : 왼쪽 인자의 값이 오른쪽 인자보다 작으면 점프해라.
JNG : 왼쪽 인자의 값이 오른쪽 인자보다 크지 않으면 점프해라.
JNL : 왼쪽 인자의 값이 오른쪽 인자보다 작지 않으면 점프해라.
JGE : 왼쪽 인자의 값이 오른쪽 인자보다 크거나 같으면 점프해라.
JLE : 왼쪽 인자의 값이 오른쪽 인자보다 작거나 같으면 점프해라.


AND
ex) AND 인자1, 인자2
-> 인자1, 인자2 값을 2진수로 바꾸어서 and 연산을 한다.


OR
ex) OR 인자1, 인자2
-> 인자1, 인자2 값을 2진수로 바꾸어서 or 연산을 한다.


XOR
ex) XOR 인자1, 인자2
-> 인자1, 인자2 값을 2진수로 바꾼뒤
   두개의 비트중 하나라도 1일경우 1 이되고
   두개의 비트가 1일경우 0 이되고
   두개의 비트가 0일경우 0 이된다.


NOT
ex) NOT 인자1
-> 인자1의 값을 2진수로 변환한뒤 1은0, 0은1로 바꿔준다. 

블로그 이미지

토유

개발일지

,