일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 슬퍼유
- Multimeida
- 정보처리기사 필기 합격
- network
- 디지털포렌식
- CTF-D
- Multimedia
- 2022시작
- 실기
- 24시간의 전사
- ftz
- html
- 윈도우 프로세스
- blkls
- memory
- 는 하지마...
- 생활코딩 html
- pythonchallenge
- 생활코딩
- vinetto
- ZIP 파일구조
- slack space
- 윈도우 프로세스 종류
- 디지털포렌식 with CTF
- 네트워크관리사2급
- N0Named
- disk
- Window process
- 네트워크 보안
- 포렌식
- Today
- Total
목록sec/reversing (4)
ssoL2 TISTORY
Origin Entry Point 실제 시작 주소임 UPX로 패킹되면 'PUSHAD'로 레지스터 백업하고 'POPAD'로 다시 복원시켜서 언팩함 그리고 OEP 위치로 JMP하는 것 물론 PUSHAD POPAD를 사용하지 않는 PACKING도 존재
디버거 이론 디버거에는 다양한 디버거 수단 존재 ex) break point, single stepping, program run, memory edit 등 breakpoint 프로그램 순서대로 실행되다가 breakpoint만나면 멈춤 breakpoint : CPU에서 특정 trigger가 발동되면 Interrupt를 발생시키도록 해놓음 Software breakpoint : 보통의 브레이크 포인트로 해당 opcode를 0xCC로 바꿈. => Interrupt 호출 Hardware breakpoint : CPU에 있는 DR0~DR3 레지스터에 세팅하는 브레이크 포인트로, 단 4개만 사용 가능 Memory breakpoint : Guard page로 만들어놓고 접근 시 예외 발생시켜 프로그램 중지 Sing..
디버거 프로그램 debug할 때 사용하는 프로그램 intel x86에는 디버깅을 위한 Interrupt들이 cpu에 디자인되어 있다. 여러 수단 제공 ex) breakpoint, single stepping, run, continue 종류 - Ollydbg, immunity dbg, IDA, x96 debugger 등 대부분 code, stack, register 보여주는 UI 제공 IDA x86, x64, arm, mips 등 여러 아키텍쳐 분석 가능 PE 뿐만 아니라 리눅스 실행파일 ELF도 분석 가능 EXE header - '4D 5A' [MZ] IDA 예시 ex) Visual Studio에서 Debug한 exe로 IDA 분석 가능 Entry point를 알아서 포커스 해줌 start_0 or 임의..
intel x86 인텔이 개발한 cpu 다양한 종류 많음 8086, 80186 등 근데 x86이 제일 널리 쓰임 64 bit cpu를 요즘 많이 쓰는데 그건 x64 혹은 amd64라고 불림 어셈블리어 cpu가 이해하는 기계어와 1:1로 매칭되는 저급언어 -> c, java 등 고급언어 cpu 아키텍처마다 어셈블리 다름 ex) x86, x64, arm, mips 등 문법은 두개임 Intel, AT&T 구조 => [명령 오퍼랜드1, 오퍼랜드2] 레지스터 cpu에 존재 eax : accumulator esgister (함수 return 값 저장) ebx : base ecx : count edx : data register esi : source index edi : destination index esp : ..