본문 바로가기

2. Reversing (리버싱)

(68)
[2024.05.18] 리버씽씽카 6주차 활동 이번 리버싱 스터디 6주차에는 16-17강을 듣고 내용을 정리한 후 어려웠던 부분을 공유하며 질문을 통해 해결하는 시간을 가졌다.참고한 유튜브 영상: https://www.youtube.com/playlist?list=PLY12b4RRLcSdsxgVvTW3mnNzMjVrd8JhO 리버싱 강의리버싱에 대해 공부합시다.www.youtube.comIAT: 어떤 프로그램에 어떤 라이브러리에 어떤 함수를 사용하고 있는지 기술한 테이블, 배열이다.DLL (Dynamic Linked Library. 동적 연결 라이브러리)MS-DOS 시절: 16비트 DLL 없었고 라이브러리만 있었음단점: 메모리 낭비 큼, 효율 안 좋음, 같은 작업 반복ex. printf() → stdio.h 바이너리 코드(2진수) 코드를 긁어와서 필..
[2024.05.11] 리버씽씽카 5주차 활동 이번 리버싱 스터디 5주차에는 14-15강을 듣고 내용을 정리한 후 어려웠던 부분을 공유하며 질문을 통해 해결하는 시간을 가졌다.참고한 유튜브 영상:https://www.youtube.com/playlist?list=PLY12b4RRLcSdsxgVvTW3mnNzMjVrd8JhO 리버싱 강의리버싱에 대해 공부합시다.www.youtube.comSection Header란? 각 섹션의 속성을 정의한 것code, data, rsrc 3가지 섹션으로 나눠어서 저장한다. (프로그램 복잡함 감소, 프로그램 안전성을 위해서)⇒ 각 섹션마다 특성의 권한이 주어진다.code: 실행. 읽기 권한data: 비실행. 읽기 권한rsrc: 비실행. 읽기 권한 (resource의 약자)IMAGE_SECTION_HEADER가 3개의 ..
[2024.04.06] 리버씽씽카 4주차 활동 https://www.youtube.com/playlist?list=PLY12b4RRLcSdsxgVvTW3mnNzMjVrd8JhO 리버싱 강의리버싱에 대해 공부합시다.www.youtube.com위의 강의를 11-13강까지를 수강하여 학습한 다음 어려운 내용에 관해서 질의 응답하는 시간을 가졌다.▷DOS stub-DOS header와 달리 DOS stub은 옵션이다.-MS-Dos(마이크로소프트 사에서 만든 최초의 운영체제)에서만 실행되는 코드이므로 Window OS에서는 실행X-이 특성을 잘 이용한다면 윈도우와 도스 두 개 다 실행 가능한 파일을 만들 수 있다.DOS header에 있는 구조체의 첫 번째 맥락 'MZ'이다. 그러므로 문자열 MZ를 검색하여 빠르게 DOS header의 위치를 찾는다.4D 5..
[2024.03.30] 리버씽씽카 3주차 활동 리버싱 스터디 3주차에는 유튜브 영상을 통해 리버싱 기초 지식을 학습했다. 8-10강을 듣고 내용을 정리한 후 어려웠던 부분을 공유하며 질문을 통해 해결하는 시간을 가졌다. 참고한 유튜브 영상: https://www.youtube.com/playlist?list=PLY12b4RRLcSdsxgVvTW3mnNzMjVrd8JhO 리버싱 강의 리버싱에 대해 공부합시다. www.youtube.com 8강 함수 호출 규약 함수 호출 규약(Calling Convention)이란? 함수를 호출할 때 매개변수(파라미터)를 어떤 식으로 전달하는가? 에 대한 일종의 약속 용어 ○ Caller(호출자) : 함수를 호출한 애 ○ Callee(피호출자) : 함수 호출 당한 애 함수 호출 규악은 크게 3가지로 분류할 수 있다. 1..
[2024.03.23] 리버씽씽카 2주차 활동 2주차 스터디에서는 유튜브 강의를 통해 리버싱 기초 지식을 학습했다. 4-7강을 듣고 내용을 정리한 뒤, 실습에서 해결되지 않았던 부분들을 공유하며 해결하는 시간을 가졌다. https://youtu.be/mJCzHwBH2HQ?si=0CeZOsEWrNH4yXnx HTML 삽입 미리보기할 수 없는 소스 CPU 레지스터 CPU 내부에 있는 저장공간. CPU 내부에 있기때문에 데이터 연산속도가 매우 빠르지만, 용량이 매우 작다. 범용 레지스터(General Register) 레지스터의 한 종류로, 막 쓰는 레지스터이다. 32비트 아키텍처 레지스터에 포함됨. reg size(IA-32 32bit) = 4byte 범용 레지스터의 종류 산술 명령어에서 상수/변수 값이 저장되는 용도 - EAX : 결과값을 저장하거나 ..
[2024.03.16] 리버씽씽카 1주차 활동 리버싱 스터디 1주차에서는 유튜브 영상을 활용해 리버싱 기초 지식을 습득했다. 1-3강을 듣고 내용을 정리한 후 어려웠던 부분은 질문을 통해 해결하는 시간을 가졌다. 참고한 유튜브 영상은 아래와 같다. https://www.youtube.com/playlist?list=PLY12b4RRLcSdsxgVvTW3mnNzMjVrd8JhO 리버싱 강의 리버싱에 대해 공부합시다. www.youtube.com 리버싱(Reversing)이란? 리버싱은 역공학이자 역방향이다. 역공학(Reverse Engineering) : 이미 만들어진 소프트웨어 시스템을 역으로 추척하여 처음의 문서나 설계기법 등의 자료를 얻어내는 것 순공학(Forward Engineering) : 어떠한 물건을 만드는 것 이때, RE(Reverse ..
[2023.11.04] 리버싱 5주차 팀활동 강의 12~ 수강 및 CodeEngn Basic RCE 07, 08 문제풀이를 진행하였다. NT Header NT Header는 모든 Windows PE 파일의 시작 부분에 나타나는 데이터 구조이다. 이는 파일의 크기, 유형, 및 진입 지점 등 파일에 대한 정보를 포함한다. NT Header 구성요소 도스 헤더 (DOS Header) : DOS Header는 NT Header의 첫 번째 섹션으로 MS-DOS와의 호환성을 위해 사용된다. 이는 파일이 MS-DOS 모드에서 실행될 경우 실행되는 MS-DOS 스텁 프로그램을 포함한다. DOS Header에는 또한 COFF Header로의 포인터도 포함한다. COFF 헤더 (COFF Header): COFF Header는 NT Header 의 두 번째 섹션으로,..
[2023.10.07] 리버싱 3주차 팀활동 보호되어 있는 글입니다.