본문 바로가기
728x90

11

리버싱 핵심 원리_1 개발도구(visual stdio같은)로 C언어 소스 코드 빌드, 실행파일이 생성. 이 과정에서 사람이 이해하기 쉬운 명령어에서 기계가 이해하기 쉬운 기계어로 바뀜. 디버거(debugger) 유틸리티에 디스어셈블러(disassembler)를 통해 코드를 보게 됨. -EP(Entry Point) : CPU에 의해 가장 먼저 실행되는 코드시작위치 코드의 앞쪽에 Stub Code(컴파일러에 의해 생성되는 코드, 전역변수와 같은 것들이 생성)이 존재 -> main() 함수를 찾는 게 중요 Kernel32.GetCommandLineW - Windoww32 API 호출 코드 -BaseCamp를 설치하는 4가지 방법 1) Goto - Ctrl + G (원하는 주소를 바로 입력하여 감) 2) BP(BreakPoint) .. 2020. 4. 18.
레지스터 레지스터 구조 main에 breakpoint 걸고 run으로 실행한 후 레지스터 정보를 gdb 로 열었습니다. 레지스터 구조 4개의 범용 레지스터 ( 사진엔 rax,rbx,rcx,rdx 로 되어 있다. 이는 메모리 효율을 위해 절반의 비트만을 사용한 것이다.) EAX - accumulator EBX - base ECX- counter EDX - data ->주로 CPU가 기계어를 실행할 때 임시변수로 사용되는 레지스터 4개의 범용 레지스터 ESP - Stack Pointer (32,64비트 저장) EBP - Base Pointer ESI - Source Index (인덱스도 엄밀히 말해선 포인터) EDI - Destination Index (각각의 위치를 가리킨다) ->프로그램을 실행하고 메모리를 관리 .. 2020. 4. 17.
해킹 공격의 예술_Preview 안녕하세요. 보안전문가가 되고픈 부산공수니입니다. 해킹 책으로 무슨 책을 살지 고민하다가 '해킹 공격의 예술'이라는 책을 사게 됐습니다. 요새 인터넷에 자료가 많다지만 책으로 공부하는 습관이 남아있는지라 책을 많이 보게 되네요ㅎㅎ https://book.naver.com/bookdb/book_detail.nhn?bid=6247656 해킹 진정한 해킹을 위한 핵심 기술 해킹은 어려운 문제에 대한 새로운 해결책을 찾거나 조잡한 프로그램의 보안 취약점을 찾는 등의 창조적인 문제를 해결하는 예술이다. 많은 사람이 자신이 해커라고 생각하지만 최고의 해커가 되는 데 필요한 핵심 기술을 갖고 있는 사람은 거의 없다. 이 책의 저자 존 에릭슨은 현존하는 공격 기법의 실행을 단순히 보여주는 데 그치지 않고 비밀스러운 해.. 2020. 4. 17.
728x90