본문 바로가기

리버싱

리버스 엔지니어링(Reverse Engineering) 0과 1로 이루어진 세계(2) 관련 포스팅1. 리버스 엔지니어링(Reverse Engineering)이란? 2. 리버스 엔지니어링(Reverse Engineering) 0과 1로 이루어진 세계(1)3. 리버스 엔지니어링(Reverse Engineering) 0과 1로 이루어진 세계(2) ■ 개요 [리버스 엔지니어링(Reverse Engineering) 0과 1로 이루어진 세계(1)] 에서 0과 1로 이루어진 데이터가 어떻게 표현되어 있는지 알아보았습니다. 그렇다면 컴퓨터 상의 데이터(파일)이 실제로 0과 1로 이루어져 있는지 실습을 통해서 확인해보고 간단한 변조를 해보겠습니다. ■ 실습 오늘의 실습은 빨간색(RED) 그림 파일이 실제로 0과 1로 이루어진 모습을 확인하여 보고 이를 변조하여 파란색(BLUE) 그림 파일로 바꾸어 보겠습.. 더보기
리버스 엔지니어링(Reverse Engineering) 0과 1로 이루어진 세계(1) 관련 포스팅1. 리버스 엔지니어링(Reverse Engineering)이란? 2. 리버스 엔지니어링(Reverse Engineering) 0과 1로 이루어진 세계(1)3. 리버스 엔지니어링(Reverse Engineering) 0과 1로 이루어진 세계(2) ■ 2진수 10진수 16진수 [리버스 엔지니어링(Reverse Engineering)이란?] 에서 컴퓨터가 0과 1로 어떻게 이루어지는지 언급한 바 있습니다. 컴퓨터에서 데이터를 표현함에 있어 0과 1로 이루어지는 이유는 전기의 흐름 또는 흐르지 않음 자기장의 N극 또는 S극(하드디스크) 다음과 같은 물리적 특성을 기반으로 데이터를 표현하기 때문입니다. 그렇다면 우리는 0과 1로 이루어진 정보를 읽을 줄 알아야만 컴퓨터 내부의 약속된 신호체계에 대해 .. 더보기
리버스 엔지니어링(Reverse Engineering)이란? 관련 포스팅1. 리버스 엔지니어링(Reverse Engineering)이란? 2. 리버스 엔지니어링(Reverse Engineering) 0과 1로 이루어진 세계(1)3. 리버스 엔지니어링(Reverse Engineering) 0과 1로 이루어진 세계(2) ■ 리버스 엔지니어링(Reverse Engineering)이란? 리버스 엔지니어링(Reverse Engineering)이란 주로 역공학이라고 불리우며, 어려운 용어와는 달리 우리에게 있어 다소 친숙한 개념입니다. 인류는 과거부터 자연에 주어진 것들을 이용하여 도구를 만드는 등 무엇인가 가치있는 것을 만들어왔습니다. 예를 들어 자연에 있는 폭포등의 물의 흐름을 활용하여 물레방아를 만들고 물레방아의 움직임을 활용하여 떡을 빻는 등의 다양한 도구를 만들어왔.. 더보기
리버스 엔지니어링(Reverse Engineering) 카테고리 설명 ■ 카테고리 설명 해당 카테고리는 리버스 엔지니어링(Reverse Engineering)이하 리버싱(Reversing)이라고 불리는 기술에 대해 학습하고 이를 정리하기 위한 카테고리입니다. 더나아가 정보가 필요한 사람들에게 보다 양질의 정보를 제공하므로 도움이 됬으면 하는 바램으로 만들어지게되었습니다. ■ 카테고리 방향성 저 또한 리버스 엔지니어링(Reverse Engineering)의 배워나가는 과정이며 많은 것이 부족하다고 생각되지만공부를 하며 겪었던 여러 시행착오로 조금이나마 시행착오를 덜어드리려는 작은 바램으로 해당 포스팅의 방향성을 결정하려 합니다. 리버스 엔지니어링(Reverse Engineering)을 공부하면서 느꼈던 바로는 다소 진입장벽이 높다는 사실입니다. 여러모로 해당 이유에 대하여 .. 더보기
webhacking.kr [문제 5번] 문제 5번을 풀어보겠다. 300point의 5번 문제를 클릭하자. 웹 페이지가 단순하게 두개의 버튼만을 가지고 있다. 로그인 페이지가 보이고 일반적으로 UI가 상단은 아이디 하단은 비밀번호로 생각되어 아무거나 치고 로그인 해보자. 예상했던 결과다 싶이 admin이 아닐경우 로그인이 되지않는다고 한다. admin과 비밀번호를 입력한 후 로그인해보자. 이전과는 다른 메세지를 보인다. 그렇다면 한번 회원가입을 클릭해보자. Join버튼을 누른결과 접근이 거부되었다는 메세지가 뜬다. 소스코드를 확인해보자. 소스코드를 확인하여보니 Join버튼 클릭시 당연히 no()라는 함수가 실행되어 'Acess_Denied'라는 메세지 박스를 띄운다. 여기서 유의해봐야 할 점이 디렉터리의 구조이다. login버튼 클릭시 들어가지.. 더보기
쉘코드 인코딩(Shellcode Encoding) 이 포스팅은 서적 '윈도우 시스템 해킹 가이드 : 버그헌팅과 익스플로잇'을 기반으로 작성한 포스팅입니다. 관련 포스팅 보러가기 쉘코드(Shellcode) 기초(1)쉘코드(Shellcode) 기초(2)범용 쉘코드(Universal Shellcode) (1)범용 쉘코드(Universal Shellcode) (2)메타스플로잇(Metasploit)을 이용한 쉘코드작성 쉘코드르 작성하는 방법을 포스팅을 다뤘었는데, 한가지 유의할 점이 있다. 실제 쉘코드를 작성하고 공격했을 경우 쉘코드가 정상적임에도 불구하고 이상하게 공격이 실행되지 않는 경우가 있다. 우리가 입력한 값을 프로그램 내부에서 처리하는 과정 중에 대문자가 소문자로 변환되기도 하고, 소문자가 대문자로 변하기도 하며, 유니코드로 변환되며 쉘코드 중간에 널.. 더보기
메타스플로잇(Metasploit)을 이용한 쉘코드 작성 이 포스팅은 서적 '윈도우 시스템 해킹 가이드 : 버그헌팅과 익스플로잇'을 기반으로 작성한 포스팅입니다. 이전 포스팅 보러가기 쉘코드(Shellcode) 기초(1) 쉘코드(Shellcode) 기초(2) 범용 쉘코드(Universal Shellcode) (1) 범용 쉘코드(Universal Shellcode) (2) 이전 포스팅 범용 쉘코드(Universal Shellcode) (2)를 보면 함수의 주소를 구할 때 어떠한 과정을 통해서 동적으로 구할수 있는지 확인하였다. 하지만 중요한 문제가 있다. 지금까지 다루었던 쉘코드는 단순히 cmd 명령을 실행시키는 코드였다. 이에 반해 실제 공격에 사용되는 쉘코드는 조금 더 다양하고 강력한 기능을 수행하게 된다. 조금더 다양하고 강력한 기능을 수행하기 위해서는 더.. 더보기
오버워치 에임핵(Overwatch Aimbot) 먼저 이 글은 게임산업진흥에 관한 법률 제32조 제1항 8호를 침해할 목적이 전혀없으며, 이를 통한 문제 시 언제든지 글을 삭제할 것을 미리 알립니다.개인의 학습을 위하여 제작하였으며, 해당 프로그램의 소스코드 및 실행 파일의 배포는 절대 하지 않습니다. 제32조(불법게임물 등의 유통금지) 누구든지 게임물의 유통질서를 저해하는 다음 각호의 행위를 하여서는 아니 된다.8호. 게임물의 정상적인 운영을 방해할 목적으로 게임물 관련사업자가 제공 또는 승인하지 아니한 컴퓨터 프로그램이나 기기 또는 장치를배포하거나 배포할 목적으로 제작하는 행위 서문 한동안 작성자 본인이 참으로 즐겁게 했던 게임이다. FPS를 기반으로 한 게임에 캐릭터마다 고유 능력과 스킬을 부여하므로써 신선하게 다가온 FPS였다. 게임을 하던 중.. 더보기