반응형

2025/01 16

50. 안티 디버깅

안티 디버깅을 공부해야 하는 이유1. 각종 안티 디버깅 기법들의 동작 원리를 파악한 후 회피하기 위해서2. 안티 디버깅 기법을 공부하는 과정에서 저절로 고급 리버싱을 배울 수 있음 안티 디버깅 기법이란?고급리버싱 과정디버거와 OS에 강한 의존성이 有 (특정 운영체제에만 동작 or  디버거 종류에 따라 안티 디버깅 기법 상이) 안티 안티 디버깅 기법안티 디버깅을 상대하는 방법 안티 디버깅 분류Static이랑 Dynamic으로 분류Static은 디버깅 시작 시 한 번만 해체해주면 해결되지만 dynamic 기법은 디버깅 진행하면서 안티 디버깅을 만날 때마다 해결해야하므로 난이도가 高 StaticDynamic난이도Low, MediumHigh구현 원리다양한 시스템 정보 활용디버거의 동작 원리 역이용목적디버거 탐지..

49. IA-32 Instruction

IA-32 InstructionInstruction이란 CPU가 알아들을 수 있는 기계어 이다. 명령어 라는거..IA-32 Instruction는 IA-32 계열의 CPU에서 사용되는 명령어를 말하는 것임여기에서 두번째 칸에 보이는 E8 CC27000이나 55이런거가 모두 IA-32 Instruction이다 프로그래밍 언어로 작성된 코드는 컴퓨터가 알아들을 수 있게 compile/Link과정을 거쳐서 위에 형식으로 변환해야된다.  용어정리용어설명Macine Language기계어, CPU가 해석할 수 있는 Binary코드Instruction하나의 기계 명령어 단위OpCodeOperation Code, Instruction 내의 실제 명령어Assembly어셈블리 프로그래밍 언어Assemble어셈블리 코드를 ..

48. SEH

SEH란?Windows 운영체제에서 제공하는 예외 처리 시스템소스코드에서 __try, __except, __finally 키워드로 구현 가능 SEH 예제 실습 #1https://github.com/reversecore/book/blob/master/%EC%8B%A4%EC%8A%B5%EC%98%88%EC%A0%9C/06_%EA%B3%A0%EA%B8%89_%EB%A6%AC%EB%B2%84%EC%8B%B1/48_SEH/bin/seh.exe book/실습예제/06_고급_리버싱/48_SEH/bin/seh.exe at master · reversecore/book리버싱 핵심원리 - 소스 코드 및 실습 예제. Contribute to reversecore/book development by creating an ac..

47. PEB

PEB란?프로세스의 정보를 담고 있는 구조체방대한 크기문서화 된 내용 PEB 접근 방법앞에 TEB설명가지고 생각해보면 FS:[30] = TEB.ProcessEnvironmentBlock = address of PEB 이런 공식을 구할 수 있다. 이 공식을 어셈블리 코드로 만들어보면방법1. 바로 PEB 주소 구하는 방법MOV EAX, DWORD PTR FS:[30]            ; FS[30] = address of PEB 방법2. TEB 주소 구하고 ProcessEnvironmentBlock멤버를 이용하는 방법MOV EAX, DWORD PTR FS:[18]             ; FS[18] = address of TEB MOV EAX, DWORD PTR DS:[EAX+30]           ..

46. TEB

TEB란?프로세스에서 실행되는 스레드에 대한 정보를 담고 있는 구조체스레드 별로 TEB 구조체가 하나씩 할당됨.TEB 구조체는 OS 종류별로 모양이 달라짐 TEB 구조체 정의typedef struct _TEB { BYTE Reserved1[1952]; PVOID Reserved2[412]; PVOID TlsSlots[64]; BYTE Reserved3[8]; PVOID Reserved4[26]; PVOID ReservedForOle; PVOID Reserved5[4]; PVOID TlsExpansionSlots;} TEB, *PTEB;MSDN의 TEB 구조체 설명이다.구조체 내용을 자세히 보기 위해 WinDbg사용(커널 디버거 사용) WinDbg로 비교해보면 W..

45. TLS 콜백 함수

TLS 콜백 함수란?EP 코드보다 먼저 실행됨 EP코드보다 먼저 실행된다는 특징때문에 안티 디버깅에 사용할 수 있다. 실습..https://github.com/reversecore/book/tree/master/%EC%8B%A4%EC%8A%B5%EC%98%88%EC%A0%9C/06_%EA%B3%A0%EA%B8%89_%EB%A6%AC%EB%B2%84%EC%8B%B1/45_TLS_Callback_Function/bin book/실습예제/06_고급_리버싱/45_TLS_Callback_Function/bin at master · reversecore/book리버싱 핵심원리 - 소스 코드 및 실습 예제. Contribute to reversecore/book development by creating an acc..

반응형