728x90
반응형
cyberchef - xor 연산 복잡할때 써먹기 좋은 툴
스택(Stack)
- 데이터가 저장되는 가장 기본적인 구조
- 가장 나중에 들어온 데이터가 가장 먼저 나감(LIFO)
- 우리가 주로 사용하는 데이터는 높은주소에서 낮은 주소로 채워짐(마이너스로 표현됨)(ex/ ebp-4)
- 함수가 소환될 때 사용하는 지역변수와 매개 변수들이 저장되는 공간
- 함수의 소환이 끝나면 같이 사라짐
- 지역변수와 매개변수매개변수 : 인자라고도 불림, 전달되는 값을 받는 변수(ebp+xx)
- 지역변수 : 함수 안에서만 사용 가능한 변수(ebp-xx)
스택 프레임이란?
- 함수가 사용될 때(호출될 때) 그 함수가 가지는 공간을 의미
- 함수가 종료되면 스택 프레임도 함께 사라짐
- 함수가 호출되면 해당 함수 내에서 사용할 매개변수, 호출이 끝난 뒤 돌아갈 주소, 함수에서 선언된 지역변수등이 스택에 차곡차곡 들어감
- 이러한 정보들을 스택 프레임이라 부르며 이 정보들로 인해 함수는 처음 호출 된 곳으로 돌아갈 수 있음EBP : base pointer // 스택 프레임의 기준
- EIP : instruction pointer // 실행할 코드의 주소
- ESP : stack pointer //스택 프레임 포인터.
함수의 호출 방법
- 함수가 사용 할 데이터들이 PUSH됨.
- 함수를 소환함!(call 함수!)
- 소환된 함수 내부에서 스택프레임이 생성됨
- 함수의 행위가 실행됨
- 행위가 끝난 함수는 스택 프레임을 정리함
- 함수가 처음 소환되었던 곳 다음 줄로 돌아감
Windows 아키텍쳐 이해하기
함수 호출 규약(Calling Convention)
- 함수를 어떻게 호출 하는 지 에 대한 방법을 정의한 것
- 함수에 파라미터를 전달하는 순서
- 전달된 파라미터가 스택에 어떻게 PUSH되는지
- 함수가 리턴(종료)될 때 어떻게 스택이 정리되는지
cdecl
- 파라미터를 오른쪽에서 왼쪽으로 전달
- 함수를 호출한 호출자가 스택에 PUSH된 파라미터를 정리함
stdcall
- 파라미터를 오른쪽에서 왼쪽으로 전달
- 호출된 함수 내부에서 스택을 정리하고 돌아감
Visual Studio 로 C로 직접 코딩 해보고 디버깅 해보고 리버싱 공부하면 도움 많이 됨
비쥬얼스튜디오로 코딩 해보고 직접 리버싱 해본걸 이력서에 적는것도 플러스가 됨
if문 for문 (조건문, 반복문) while문 같은거 해보면 좋을거같음 if문 for문 하고 비교해보는 거도 괜춘
https://bpsecblog.wordpress.com/2016/05/27/re_tutorial_1/
참고해서 하면 좋을듯 하다
Windows API
Windows API(Windows Application Programming Interface)는 Microsoft에서 제공하는 프로그래밍 인터페이스 모음으로, 소프트웨어 개발자가 Windows 운영 체제에서 작동하는 응용 프로그램을 만들 수 있도록 지원합니다.
- Windows 동작하는 프로그램 분석 시 기본이 되는 함수
- 윈도ㅜㅇ에서 동작하기 위한 다양한 행동들이 WindowsAPI라는 삼후 모음집으로 이미 만들어져있음
- 악성코드에서 무진장 많이많이 사용하시때문에 알고있어야함
- MSDN에서 검색하사며 사용하면됨(다못외움 너무많음)
windows api 는 msdn 에서 어지간하면 다 검색 가능하니까 모르면 검색을 좀 해봐라
다 나온다
안티 디버깅(Anti-Debugging)
- 악성코드에서 상당히 기본적으로 사용되는 기법
- 현재 실행중인 파일이 디버깅 상태인지 체크 후 더 이상의 행위를 진행하지 않음
- 동적 분석을 방해하는 몹시 매우 성가신 기법
- 주로사용되는 API
-IsDebuggerPresent, FindWindows, GetTickCount 등
패킹과 프로텍트
패킹
- 실행압축
- 실행 파일 내부에 압축 해제 코드가 포함 되어있음
- 동적으로 실행 시 압축 해제된 코드 확인 가능
- UPX, ASPack, 더미다 등이 패킹에 해당됨
프로텍트
- 코드를 보호하는 가상화 기법
- 리버싱을 막기위한 기법들이 많이 추가되어있음
- VWP, 더미다
dbg
f7 은 다음꺼 확인
ctrl + f7 은 자동으로
컨트롤 + f2는 초기화
728x90
반응형
'정보 보안' 카테고리의 다른 글
이미지 정보 DATA Viewer 사이트 (0) | 2024.05.29 |
---|---|
온라인 C컴파일러 사이트 (0) | 2024.05.29 |
버추얼박스 윈도우7 가상환경 세팅 (VM VirtualBox) (2) | 2024.05.29 |
레지스터 종류 (x86 아키텍처) (0) | 2023.06.04 |
리눅스 (0) | 2023.06.01 |