reversing
-
PE 구조 (8) - 계산기의 PE 구조 / Import Directory (INT와 IAT 찾기)Knowledge/Reversing 2020. 3. 29. 03:10
#define IMAGE_DIRECTORY_ENTRY_IMPORT 1 // Import Directory 오늘 확인할 calc.exe의 ENTRY_IMPORT 이다. 이것은 어떤 것으로 구성되어 있을까? 우선 IMAGE_IMPORT_DESCRIPTOR 구조체를 보면 된다. IMAGE_IMPRT_DESCRIPTOR typedef struct _IMAGE_IMPORT_DESCRIPTOR { union { DWORD Characteristics; // 0 for terminating null import descriptor DWORD OriginalFirstThunk; // INT (Import Name Table)' RVA } DUMMYUNIONNAME; DWORD TimeDateStamp; // 0 if ..
-
IsDebuggerPresent(feat. codeengn basic 4)과 TEB & PEB의 관계Knowledge/Reversing 2020. 1. 28. 03:49
목차 1. 머리말 2. 일반적인 Codeengn Basic 4번 풀이방법 3. IsDebuggerPresent API 4. BeingDebugged 값을 이용한 풀이 방법 5. 맺음말 1. 머리말 오늘은 흔히들 한번쯤 풀어봤을 법한 Codeengn Basic 4번 문제를 주제로 글을 써보려고 한다. code engn 에서는 그저 디버깅을 탐지하는 API의 이름만 맞추면 풀리지만 거기에 더 나가서 우회까지 해보는 사람들도 있을 것이다. 아마 이런식으로 다들 풀어보지 않았을까? 2. 일반적인 Codeengn Basic 4번 풀이방법 4번 문제이다. 이녀석은 그냥 실행하면 "정상" 이라는 문구를 출력한다. 하지만 디버거로 잡고 F9로 실행시키면 디버깅 당함이라고 뜬다. 참 신기한 녀석이다 디버거를 어찌 알아차..