2. Reversing (리버싱) (75) 썸네일형 리스트형 [2024.11.16]리버씽씽이_6주차 활동 6주차에는 유튜브 리버싱 강의를 18강 ~ 20강까지 학습하였다. https://www.youtube.com/playlist?list=PLY12b4RRLcSdsxgVvTW3mnNzMjVrd8JhO 리버싱 강의리버싱에 대해 공부합시다.www.youtube.com 1. EAT라이브러리 파일에서 제공하는 함수를 다른 프로그램에서 가져와 사용할 수 있도록 해주는 핵심 메커니즘함수의 시작 주소 파악 가능 및 구조체가 있음EAT 내부에 저장되는 함수들의 정보는 PE 파일이 내보내는 함수의 개수와 해당 함수의 주소 뿐 → 한 개의 배열(IMAGE_EXPORT_DIRECTORY)2. IMAGE_EXPORT_DIRECTORY(EAT의 구조체)– IMAGE_OPTIONAL_HEADER에 위치NumberOfFunctions.. [2024.11.09]리버씽씽이_5주차 활동 5주차에는 유튜브 리버싱 강의를 15강~17강까지 학습하였다. 리버싱 강의리버싱에 대해 공부합시다.www.youtube.com 섹션헤더에 대해 잘 이해했다면 이제부터 PE파일이 메모리에 로딩되었을 때 각 섹션에서 메모리의 주소(RVA)와 오프셋(offset)을 잘 매핑할 수 있어야한다.이러한 매핑을 일반적으로 RVA To RAW라고 부른다.오프셋: 오차, 문자 A의 배열이 abcdef를 포함한다면 ‘c’ 문자는 A 시작점에서 2의 오프셋을 지닌다고 할 수 있음 RAW(File Offset)RVA가 속해 있는 섹션을 찾는다.공식을 이용해서 파일 오프셋(RAW)을 계산한다. RAW(File offset) - PointerToRawData(파일에서 섹션의 시작 위치) = RVA(상대주소) - VA(메모리에.. [2024.11.02]리버씽씽이_4주차 활동 4주차에는 유튜브 리버싱 강의를 12강 ~ 14강까지 학습하였다.https://www.youtube.com/playlist?list=PLY12b4RRLcSdsxgVvTW3mnNzMjVrd8JhO 리버싱 강의리버싱에 대해 공부합시다.www.youtube.com IMAGE_NT_HEADERS 구조체signature은 PE 값을 가짐.(dos에서 MZ를 갖는 것처럼) IMAGE_FILE_HEADER 구조체 (IMAGE_NT_HEADERS의 멤버)CPU 호환칩의 고유한 번호를 저장 (리틀 엔디안 방식) 4C 01 → 014C, 32bit 인텔 호환칩에서 사용함PE 파일은 코드, 데이터, 리소스 등이 각각 섹션에 나뉘어 저장NumberOfSections는 PE 파일 섹션의 개수를 알려줌 (값은 무조건 0보다 .. [2024.10.26]리버씽씽이_3주차 활동 3주차에는 유튜브 리버싱 강의를 8강~11강까지 학습하였다.https://youtube.com/playlist?list=PLY12b4RRLcSdsxgVvTW3mnNzMjVrd8JhO&si=_-ulXwpWPqYW6NVt 리버싱 강의리버싱에 대해 공부합시다.www.youtube.com 1. 함수 호출 규약: 함수를 호출할 때 매개변수를 어떤식으로 정리하고 스택을 어떻게 정리할 것인지에 대한 약속 1) 용어 A. caller(호출자): 함수 호출자 B. callee(피호출자): 함수 호출 당한 자 C. cdecl i. C언어에서 사용되는 방식으로 caller(main함수)가 스택을 정리함 ii. 오른쪽에서 왼쪽 인자 순으로 스택에 저장됨 .. [2024.09.28] 리버씽씽이_2주차 활동 2주차에는 유튜브 리버싱 강의를 4강~7강까지 학습하였다. https://www.youtube.com/playlist?list=PLY12b4RRLcSdsxgVvTW3mnNzMjVrd8JhO 리버싱 강의리버싱에 대해 공부합시다.www.youtube.com 목표: IA-32 Register에 대해 배워보자 1. CPU 레지스터 : CPU 내부에 있는 저장공간 → CPU 내부에 있기에 데이터 연산속도가 매우 빠름(용량이 매우 작음) 2. 범용 레지스터(General Register): 일반적인 레지스터 - IA-32 4byte(reg size: 4byte) 범용 레지스터(General Register)의 종류 - EA.. [2024.09.21] 리버씽씽이_1주차 활동 1주차에는 유튜브 리버싱 강의를 1강~3강까지 학습하였다. https://youtube.com/playlist?list=PLY12b4RRLcSdsxgVvTW3mnNzMjVrd8JhO&si=gihRwDoT8ATLvdeZ 리버싱 강의리버싱에 대해 공부합시다.www.youtube.com 리버싱(역공학)=RE(Revese Engineering) =RCE(Reverse Code Engineering) 공학: 어떠한 물건을 만드는 것 역공학: 제품을 어떤 방식으로 만들었는지 확인하여 설계도를 제작하는 것. 공학과는 반대 방향 리버싱 분석방법1. 정적 분석 : 파일을 실행하지 않고 분석하는 방법 파일의 겉모습을 분석 - 정적 프로그램 .. [2024.05.25] 리버씽씽카 7주차 활동 리버싱 스터디 7주차에는 CodeEngn의 Basic RCE L02와 Basic RCE L03를 풀어보고 정리한 후 어려웠던 부분을 공유하며 질문을 통해 해결하는 시간을 가졌다.https://ch.codeengn.com/ CodeEngn.com [코드엔진]코드엔진은 국내 리버스엔지니어링 정보공유를 위해 2007년 부터 리버스엔지니어링 컨퍼런스 및 세미나, 워크숍을 현업 실무자들과 함께 운영하고 있는 비영리 커뮤니티입니다.ch.codeengn.com Basic RCE L02 처음에 x64dbg로 열어봤지만 잘못된 PE 파일이라고 뜬다.x32dbg로 열어봐도 마찬가지.IDA로 다시 한번 열어봤다.이것도 안 된다.문제에서 말했듯이 실행파일이 손상되어 실행이 안 되는 것을 확인했다.그래서 뭐로 열어볼까 하다 H.. [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진수) 코드를 긁어와서 필.. 이전 1 2 3 4 ··· 10 다음