리버싱 분석 환경 차이점Hacking & Security/Reversing2019. 10. 17. 03:51
목차 📖
반응형
리버싱 분석 환경 차이점
- OS, Architecture, Language에 따라 차이점을 보인다.
Byte Order(바이트 정렬)
- 윈도우 에서는 Little Endian을 쓰고 네트워크에서 데이터를 보낼 경우 Big Endian방식을 쓴다.
Data Type별 크기
Ex) Char(Charcharacter) 형 자료형
- C언어 에서는 ACSIIcode 값을 사용하므로 1byte이다.
- JAVA언어 에서는 Unicode 값을 사용하므로 2byte이다.
Alignment 단위
- 데이터의 기본 저장 단위가 서로 다르면 저장하는 방식이 서로 달라진다.
Calling Convention(함수 호출 규약)
- 함수 호출 규약이 언어마다 다르다.
(C언어: __cdecl, Window Programming: __stdcall)
Object File Format(목적 파일 형식)
- 소스파일을 컴파일 하면 목적파일(.obj)이 생성된다.
- 목적파일의 형식이 컴파일러의 버전에따라 달라질 수 있다.
Name Decoration(이름 표현)
- 함수의 이름을 표현할때 언어마다 이름을 표현하는 방식이 다르다.
차이점 예시
GCC 리눅스 컴파일러 에서는 윈도우 프로그램에서의 아래의 명령어를
MOV ESP, EBP POP EBP |
LEAVE 명령어로 이용할 수 있다.
728x90
반응형
'Hacking & Security > Reversing' 카테고리의 다른 글
어셈블리 명령어 정리 (2) (1) | 2019.10.16 |
---|---|
어셈블리 명령어 정리 (1) (1) | 2019.10.16 |
레지스터(Register) 개념, 종류 (3) | 2019.10.15 |
@피망IT :: Peemang IT Blog
공부&일상 블로그
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요! 질문은 언제나 환영입니다😊