SlideShare une entreprise Scribd logo
1  sur  23
How am i?
How am i?
What is Reverse Engineering
목표
준비
분해분석
도출
What is Reverse Engineering
• Software Reverse Engineering(SRE)
소스코드나 관련 문서가 없는 프로그램에서 설계나 구현 내용을 알
아내는 작업
보안, 소프트웨어 개발(백신, 드라이버?)
• Dynamic Analysis, Static Analysis
시스템 기반인지, 코드 기반인지에 따라 구분
• Why many engineer to develop Kernel Debugging?
더 빠르고 쉽게 문제를 해결 하기 위해
What is Reverse Engineering
Handle??
View is Different
관리자 리버서
개발자
일반인 쉽게!!
SE(Security Engineer)
Developer
• 자원 포인터!!
HANDLE h = CreateFile(L"C:unicode.txt", GENERIC_WRITE, 0, NULL,
CREATE_ALWAYS, 0, 0);
Developer
Reverser
• Object  Desktop Heap
• EPROCESS  OBJECTTABLE = _HANDLE_TABLE
• _HANDLE_TABLE  HANDEL_TABLE_ENTRY
• OBJECT  _OBJECT_HEADER
• _FILE_OBJECT  _PRIVATE_CACHE_MAP,
_SECTION_OBJECT_POINTERS
Reverser - Object
Reverser – Desktop heap
Desktop Heap Monitor Version 8.1(dheapmon)
http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=17782
Reverser – EPROCESS
• lkd> dt nt!_EPROCESS 850a33d0
• ……….중략!
• +0x0f0 ExceptionPortValue : 0x8624a278
• +0x0f0 ExceptionPortState : 0y000
• +0x0f4 ObjectTable : 0xadde2388 _HANDLE_TABLE
• ……….중략!
• lkd> dt _HANDLE_TABLE 0xadde2388
• nt!_HANDLE_TABLE
• +0x000 TableCode : 0xb1e8f000
• +0x004 QuotaProcess : 0x850a33d0 _EPROCESS
• ……….중략!
Reverser – HANDLE(WIN7)
• lkd> dt _HANDLE_TABLE_ENTRY 84e343d0
• nt!_HANDLE_TABLE_ENTRY
• +0x000 Object : 0x84884171 Void
• +0x000 ObAttributes : 0x84884171
• +0x000 InfoTable : 0x84884171 _HANDLE_TABLE_ENTRY_INFO
• +0x000 Value : 0x84884171
• -----------------------------------------------
• +0x004 GrantedAccess : 0xf00ff
• +0x004 GrantedAccessIndex : 0xff
• +0x006 CreatorBackTraceIndex : 0xf
• +0x004 NextFreeTableEntry : 0xf00ff
• lkd> .formats 0x84884171
• Binary: 10000100 10001000 01000001 01110001
Reverser – HANDLE(WIN8)
• lkd> dt _HANDLE_TABLE_ENTRY ffffc000`0d45d0f0
• ntdll!_HANDLE_TABLE_ENTRY
• +0x000 VolatileLowValue : 0n-2305842090310893567
• +0x000 LowValue : 0n-2305842090310893567
• +0x000 InfoTable : 0xe00000d5`f2e00001 _HANDLE_TABLE_ENTRY_INFO
• +0x000 Unlocked : 0y1
• +0x000 RefCnt : 0y0000000000000000 (0)
• +0x000 Attributes : 0y000
• +0x000 ObjectPointerBits : 0y11100000000000000000000011010101111100101110 (0xe00000d5f2e)
lkd> dt _OBJECT_HEADER 0xe00000d5f2e0+ffff000000000000
…
+0x030 Body : _QUAD
lkd> dt _FILE_OBJECT 0xe00000d5f2e0+ffff000000000000+30
Reverser
• 핸들 테이블과 파일 개체의 구조
Reverser
• 파일 개체의 캐시 메모리
Reverser
• lkd> dt _SECTION_OBJECT_POINTERS 0xffffe000`03ee2768
• ntdll!_SECTION_OBJECT_POINTERS
• +0x000 DataSectionObject : 0xffffe000`010ffcd0 Void
• +0x008 SharedCacheMap : 0xffffe000`02e44b10 Void
• +0x010 ImageSectionObject : (null)
• lkd> dt nt!_SHARED_CACHE_MAP 0xffffe000`02e44b10
• +0x000 NodeTypeCode : 0n767
• +0x002 NodeByteSize : 0n520
• +0x004 OpenCount : 1
• +0x008 FileSize : _LARGE_INTEGER 0x296043
• +0x010 BcbList : _LIST_ENTRY [ 0xffffe000`02e44b20 - 0xffffe000`02e44b20 ]
• +0x020 SectionSize : _LARGE_INTEGER 0x400000
• +0x028 ValidDataLength : _LARGE_INTEGER 0x0
• +0x030 ValidDataGoal : _LARGE_INTEGER 0x296043
• +0x038 InitialVacbs : [4] (null)
• +0x058 Vacbs : 0xffffe000`03cdd5f0 -> (null)
• lkd> dt _VACB 0xffffe000`003010f0
Easy to way
• !process
• !handle
• !filecache
• !object
• !fileobj
• !ca
Software Reverse Engineering Tech Flow
운영체제
멜웨어, 루트킷, 안티, 디버깅
침해사고, 포랜식
http://itka.kr
allmnet@naver.com

Contenu connexe

Similaire à 201403 microsoft mvp com camp 2014-한주성

Jurczyk windows kernel reference count vulnerabilities. case study
Jurczyk   windows kernel reference count vulnerabilities. case studyJurczyk   windows kernel reference count vulnerabilities. case study
Jurczyk windows kernel reference count vulnerabilities. case studyDefconRussia
 
Beyond PHP - it's not (just) about the code
Beyond PHP - it's not (just) about the codeBeyond PHP - it's not (just) about the code
Beyond PHP - it's not (just) about the codeWim Godden
 
Object Oriented Exploitation: New techniques in Windows mitigation bypass
Object Oriented Exploitation: New techniques in Windows mitigation bypassObject Oriented Exploitation: New techniques in Windows mitigation bypass
Object Oriented Exploitation: New techniques in Windows mitigation bypassSam Thomas
 
Beyond php - it's not (just) about the code
Beyond php - it's not (just) about the codeBeyond php - it's not (just) about the code
Beyond php - it's not (just) about the codeWim Godden
 
Reverse eningeering
Reverse eningeeringReverse eningeering
Reverse eningeeringKent Huang
 
Beyond php - it's not (just) about the code
Beyond php - it's not (just) about the codeBeyond php - it's not (just) about the code
Beyond php - it's not (just) about the codeWim Godden
 
Beyond php - it's not (just) about the code
Beyond php - it's not (just) about the codeBeyond php - it's not (just) about the code
Beyond php - it's not (just) about the codeWim Godden
 
JavaFX - Next Generation Java UI
JavaFX - Next Generation Java UIJavaFX - Next Generation Java UI
JavaFX - Next Generation Java UIYoav Aharoni
 
Memory Corruption: from sandbox to SMM
Memory Corruption: from sandbox to SMMMemory Corruption: from sandbox to SMM
Memory Corruption: from sandbox to SMMPositive Hack Days
 
International Burmese democratic forces and friends of Burma who
International Burmese democratic forces and friends of Burma who International Burmese democratic forces and friends of Burma who
International Burmese democratic forces and friends of Burma who Burma Democratic Concern (BDC)
 
Mobile Security Assessment: 101
Mobile Security Assessment: 101Mobile Security Assessment: 101
Mobile Security Assessment: 101wireharbor
 
Beyond php it's not (just) about the code
Beyond php   it's not (just) about the codeBeyond php   it's not (just) about the code
Beyond php it's not (just) about the codeWim Godden
 
Zeronights 2016 - Automating iOS blackbox security scanning
Zeronights 2016 - Automating iOS blackbox security scanningZeronights 2016 - Automating iOS blackbox security scanning
Zeronights 2016 - Automating iOS blackbox security scanningSynack
 
ZeroNights: Automating iOS blackbox security scanning
ZeroNights: Automating iOS blackbox security scanningZeroNights: Automating iOS blackbox security scanning
ZeroNights: Automating iOS blackbox security scanningMikhail Sosonkin
 
Python na Infraestrutura 
MySQL do Facebook

Python na Infraestrutura 
MySQL do Facebook
Python na Infraestrutura 
MySQL do Facebook

Python na Infraestrutura 
MySQL do Facebook
Artur Rodrigues
 
Cisco IOS shellcode: All-in-one
Cisco IOS shellcode: All-in-oneCisco IOS shellcode: All-in-one
Cisco IOS shellcode: All-in-oneDefconRussia
 
The Departed: Exploit Next Generation® – The Philosophy
The Departed: Exploit Next Generation® – The PhilosophyThe Departed: Exploit Next Generation® – The Philosophy
The Departed: Exploit Next Generation® – The PhilosophyNelson Brito
 
Reverse engineering20151112
Reverse engineering20151112Reverse engineering20151112
Reverse engineering20151112Bordeaux I
 

Similaire à 201403 microsoft mvp com camp 2014-한주성 (20)

Jurczyk windows kernel reference count vulnerabilities. case study
Jurczyk   windows kernel reference count vulnerabilities. case studyJurczyk   windows kernel reference count vulnerabilities. case study
Jurczyk windows kernel reference count vulnerabilities. case study
 
Beyond PHP - it's not (just) about the code
Beyond PHP - it's not (just) about the codeBeyond PHP - it's not (just) about the code
Beyond PHP - it's not (just) about the code
 
Object Oriented Exploitation: New techniques in Windows mitigation bypass
Object Oriented Exploitation: New techniques in Windows mitigation bypassObject Oriented Exploitation: New techniques in Windows mitigation bypass
Object Oriented Exploitation: New techniques in Windows mitigation bypass
 
Beyond php - it's not (just) about the code
Beyond php - it's not (just) about the codeBeyond php - it's not (just) about the code
Beyond php - it's not (just) about the code
 
Reverse eningeering
Reverse eningeeringReverse eningeering
Reverse eningeering
 
Beyond php - it's not (just) about the code
Beyond php - it's not (just) about the codeBeyond php - it's not (just) about the code
Beyond php - it's not (just) about the code
 
Beyond php - it's not (just) about the code
Beyond php - it's not (just) about the codeBeyond php - it's not (just) about the code
Beyond php - it's not (just) about the code
 
JavaFX - Next Generation Java UI
JavaFX - Next Generation Java UIJavaFX - Next Generation Java UI
JavaFX - Next Generation Java UI
 
Memory Corruption: from sandbox to SMM
Memory Corruption: from sandbox to SMMMemory Corruption: from sandbox to SMM
Memory Corruption: from sandbox to SMM
 
Vhdl lab manual
Vhdl lab manualVhdl lab manual
Vhdl lab manual
 
International Burmese democratic forces and friends of Burma who
International Burmese democratic forces and friends of Burma who International Burmese democratic forces and friends of Burma who
International Burmese democratic forces and friends of Burma who
 
Mobile Security Assessment: 101
Mobile Security Assessment: 101Mobile Security Assessment: 101
Mobile Security Assessment: 101
 
Beyond php it's not (just) about the code
Beyond php   it's not (just) about the codeBeyond php   it's not (just) about the code
Beyond php it's not (just) about the code
 
Zeronights 2016 - Automating iOS blackbox security scanning
Zeronights 2016 - Automating iOS blackbox security scanningZeronights 2016 - Automating iOS blackbox security scanning
Zeronights 2016 - Automating iOS blackbox security scanning
 
ZeroNights: Automating iOS blackbox security scanning
ZeroNights: Automating iOS blackbox security scanningZeroNights: Automating iOS blackbox security scanning
ZeroNights: Automating iOS blackbox security scanning
 
Python na Infraestrutura 
MySQL do Facebook

Python na Infraestrutura 
MySQL do Facebook
Python na Infraestrutura 
MySQL do Facebook

Python na Infraestrutura 
MySQL do Facebook

 
Cisco IOS shellcode: All-in-one
Cisco IOS shellcode: All-in-oneCisco IOS shellcode: All-in-one
Cisco IOS shellcode: All-in-one
 
The Departed: Exploit Next Generation® – The Philosophy
The Departed: Exploit Next Generation® – The PhilosophyThe Departed: Exploit Next Generation® – The Philosophy
The Departed: Exploit Next Generation® – The Philosophy
 
embedded C.pptx
embedded C.pptxembedded C.pptx
embedded C.pptx
 
Reverse engineering20151112
Reverse engineering20151112Reverse engineering20151112
Reverse engineering20151112
 

Dernier

Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 

Dernier (20)

Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 

201403 microsoft mvp com camp 2014-한주성

  • 1.
  • 4. What is Reverse Engineering 목표 준비 분해분석 도출
  • 5. What is Reverse Engineering • Software Reverse Engineering(SRE) 소스코드나 관련 문서가 없는 프로그램에서 설계나 구현 내용을 알 아내는 작업 보안, 소프트웨어 개발(백신, 드라이버?) • Dynamic Analysis, Static Analysis 시스템 기반인지, 코드 기반인지에 따라 구분 • Why many engineer to develop Kernel Debugging? 더 빠르고 쉽게 문제를 해결 하기 위해
  • 6. What is Reverse Engineering
  • 8. View is Different 관리자 리버서 개발자 일반인 쉽게!!
  • 10. Developer • 자원 포인터!! HANDLE h = CreateFile(L"C:unicode.txt", GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, 0, 0);
  • 12. Reverser • Object  Desktop Heap • EPROCESS  OBJECTTABLE = _HANDLE_TABLE • _HANDLE_TABLE  HANDEL_TABLE_ENTRY • OBJECT  _OBJECT_HEADER • _FILE_OBJECT  _PRIVATE_CACHE_MAP, _SECTION_OBJECT_POINTERS
  • 14. Reverser – Desktop heap Desktop Heap Monitor Version 8.1(dheapmon) http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=17782
  • 15. Reverser – EPROCESS • lkd> dt nt!_EPROCESS 850a33d0 • ……….중략! • +0x0f0 ExceptionPortValue : 0x8624a278 • +0x0f0 ExceptionPortState : 0y000 • +0x0f4 ObjectTable : 0xadde2388 _HANDLE_TABLE • ……….중략! • lkd> dt _HANDLE_TABLE 0xadde2388 • nt!_HANDLE_TABLE • +0x000 TableCode : 0xb1e8f000 • +0x004 QuotaProcess : 0x850a33d0 _EPROCESS • ……….중략!
  • 16. Reverser – HANDLE(WIN7) • lkd> dt _HANDLE_TABLE_ENTRY 84e343d0 • nt!_HANDLE_TABLE_ENTRY • +0x000 Object : 0x84884171 Void • +0x000 ObAttributes : 0x84884171 • +0x000 InfoTable : 0x84884171 _HANDLE_TABLE_ENTRY_INFO • +0x000 Value : 0x84884171 • ----------------------------------------------- • +0x004 GrantedAccess : 0xf00ff • +0x004 GrantedAccessIndex : 0xff • +0x006 CreatorBackTraceIndex : 0xf • +0x004 NextFreeTableEntry : 0xf00ff • lkd> .formats 0x84884171 • Binary: 10000100 10001000 01000001 01110001
  • 17. Reverser – HANDLE(WIN8) • lkd> dt _HANDLE_TABLE_ENTRY ffffc000`0d45d0f0 • ntdll!_HANDLE_TABLE_ENTRY • +0x000 VolatileLowValue : 0n-2305842090310893567 • +0x000 LowValue : 0n-2305842090310893567 • +0x000 InfoTable : 0xe00000d5`f2e00001 _HANDLE_TABLE_ENTRY_INFO • +0x000 Unlocked : 0y1 • +0x000 RefCnt : 0y0000000000000000 (0) • +0x000 Attributes : 0y000 • +0x000 ObjectPointerBits : 0y11100000000000000000000011010101111100101110 (0xe00000d5f2e) lkd> dt _OBJECT_HEADER 0xe00000d5f2e0+ffff000000000000 … +0x030 Body : _QUAD lkd> dt _FILE_OBJECT 0xe00000d5f2e0+ffff000000000000+30
  • 18. Reverser • 핸들 테이블과 파일 개체의 구조
  • 19. Reverser • 파일 개체의 캐시 메모리
  • 20. Reverser • lkd> dt _SECTION_OBJECT_POINTERS 0xffffe000`03ee2768 • ntdll!_SECTION_OBJECT_POINTERS • +0x000 DataSectionObject : 0xffffe000`010ffcd0 Void • +0x008 SharedCacheMap : 0xffffe000`02e44b10 Void • +0x010 ImageSectionObject : (null) • lkd> dt nt!_SHARED_CACHE_MAP 0xffffe000`02e44b10 • +0x000 NodeTypeCode : 0n767 • +0x002 NodeByteSize : 0n520 • +0x004 OpenCount : 1 • +0x008 FileSize : _LARGE_INTEGER 0x296043 • +0x010 BcbList : _LIST_ENTRY [ 0xffffe000`02e44b20 - 0xffffe000`02e44b20 ] • +0x020 SectionSize : _LARGE_INTEGER 0x400000 • +0x028 ValidDataLength : _LARGE_INTEGER 0x0 • +0x030 ValidDataGoal : _LARGE_INTEGER 0x296043 • +0x038 InitialVacbs : [4] (null) • +0x058 Vacbs : 0xffffe000`03cdd5f0 -> (null) • lkd> dt _VACB 0xffffe000`003010f0
  • 21. Easy to way • !process • !handle • !filecache • !object • !fileobj • !ca
  • 22. Software Reverse Engineering Tech Flow 운영체제 멜웨어, 루트킷, 안티, 디버깅 침해사고, 포랜식