본문 바로가기
728x90

Reversing3

[어셈블리어] 빅엔디안, 리틀엔디안 데이터는 낮은 주소에서 높은 주소로 차례대로 저장한다하지만 읽고 저장하는 과정에서 읽는 방법의 차이가 있다. 그것이 리틀엔디안과 빅엔디안이다. 우선 상위 자리부터 먼저 저장하는 방식을 빅엔디안이라고 한다. 만약 16진수로 3B를 저장한다고 해보자 2진수로 표현했을 때 00111011이 된다. 이를 상위자리부터 낮은 주소에 넣으면 00111011로 우리가 읽고 쓰는 방식과 동일하게 읽을 수 있다. 반대로  하위자리부터 낮은 주소에 넣으면 11011100이 되는데 이 방식이 리틀엔디안 방식이다.  읽을때도 각 방식에 맞게 읽어주면 된다. 하지만 리틀엔디안방식과 빅엔디안방식이 섞여서 쓰이면 데이터를 저장하고 해석하는데 오류가 발생하여 데이터 변형이 일어난다.이러한 문제로 네트워크에서는 빅엔디안 방식을 사용하는.. 2024. 4. 19.
[어셈블리어] 명령어와 피연산자 https://www.youtube.com/watch?v=Ht0l1KfM2BY&list=PL1IheunyylbaYAzQv8bdu3hxq8YX5cKlY&index=2&ab_channel=%EC%8A%A4%EB%AC%B4%EB%94%94TV  유튜브에서 스무디 TV님의 영상을 보며 어셈블리어에 대해 공부를 하여 정리한 내용이다.  어셈블리어의 구조명령어 OpCode(operation) 와 피연산자 operand의 조합으로 이루어지게 된다.즉 'XX를 ~~ 해라' 와 같이 XX는 명령어 ~~는 피연산자와 같다고 보면 된다. mov와 레지스터명령어 : mov의미 : move의 축약어로서 말 그대로 이동시켜라는 의미를 갖는다.예를 들어 mov eax, 1이라 하면eax라는 목적지에 1이라는 값을 옮겨놔라 라는 의.. 2024. 4. 12.
[개념정리] Reversing 개념 지금까지 웹해킹만 공부하고 있었는데 선배님의 추천에 따라 새로운 분야로 범위를 넓히는 과정의 필요함을 느꼈다. 아직 웹을 잘한다고 말할 수는 없지만 다양한 분야로 지식을 넓히는 과정에서 새롭게 배우는 것이 있을 것이고 각 분야에도 서로 도움이 될 것이라 생각했다. Reversing 이란흔히 "역공학", "리버스 엔지니어링"이라 불리며 엔지니어링 즉, 완성품과 이를 구성하는 부품들의 기능과 설계를 고안하고 제작하는 과정의 반대방향, 거꾸로 하는 행위를 말한다. 좋게는 악성코드를 분석하고 해당 프로그램의 보안을 점검할 수 있지만 나쁘게는 프로그램의 코드 흐름을 분석하여 크랙 또는 게임에서 핵을 만들때도 사용된다. 리버싱을 본격적으로 배우기전에 알아야 할 개념들을 먼저 짚고 지나가겠다. 우리는 코딩, 해킹을 .. 2024. 4. 4.
728x90