'Reversing/Skill'에 해당되는 글 2건

  1. 2017.05.13 [Assembly] 기본 명령어
  2. 2017.05.10 [Shell coding] msfvenom 쉘코딩
Reversing/Skill2017. 5. 13. 02:43

어셈블리 언어는 리버싱을 하기 위한 가장 기초 지식이다.

프로그래밍탭에 쓸까 이곳에 쓸까 고민많이 했는데, 깊게 들어가진 않을 거라 이곳에 쓴다.


레지스터

CPU에서 사용 하는 기억장소로, C언어로 빗대어 표현하자면 변수라고 봐도 무방하다.

이 곳에서는 80x86 프로세서를 기반으로 설명한다.


레지스터의 종류

데이터 레지스터

EAX, EBX, ECX, EDX


포인터 레지스터

ESP, EBP


인덱스 레지스터 (Index register)

ESI, EDI


세그먼트 레지스터 (Segment register)

CS, DS, SS, ES


명령어 구성

명령어 종류

push

push eax

eax의 값을 스택에 저장 

pop 

pop eax

스택의 값을꺼내 eax에 저장 

mov 

mov eax, ebx

ebx의 값을 eax에 옮김 

lea 

lea eax, ebx 

ebx의 주소값을 eax에 옮김

inc 

inc eax 

eax++ 

dec 

dec eax 

dec-- 

sub 

sub eax, ebx 

eax에서 ebx를 뺀 값을 eax에 저장

call 

call abc 

abc라는 함수를 호출 

ret 

ret 

호출한 바로 다음 지점으로 이도 

cmp 

cmp eax, ebx 

eax와 ebx값을 비교 (매우 자주 나옴) 

jmp 

jmp abc 

abc라는 곳으로 이동 

int 

int 3

인터럽트, 안티디버깅 기법중 하나로도 쓰임

nop 

nop 

아무 동작도 하지 않음 




'Reversing > Skill' 카테고리의 다른 글

[Shell coding] msfvenom 쉘코딩  (0) 2017.05.10
Posted by BadSchool
Reversing/Skill2017. 5. 10. 00:11

msfvenom


개요

msfvenom이란 kali linux에 기본 내장되어 있는 툴이다.

기존에는 msfpayload와 msfencode를 사용하였지만 2015년에 툴을 통합하며 msfvenom으로 다시태어났다.


사용법






msfvenom은 매우 편한툴이다. 하지만 툴에만 의존하게 된다면 실력이 저하될 수 있다.


다음엔 직접 쉘코드를 짜보는 것을 해보겠다.

'Reversing > Skill' 카테고리의 다른 글

[Assembly] 기본 명령어  (0) 2017.05.13
Posted by BadSchool