단디연구소
[쉘코드] kernel32.dll base address 찾기 본문
시스템이 재시작 되거나 시스템이 다를경우 DLL이 메모리에 로드되는 위치가 변한다.
이러한 상황과 상관없이 API를 사용하기 위해서 커널 구조체를 이용해서 dll의 base 주소를 찾을수 있다
mov eax, fs:[eax+0x30] // PEB
mov eax, [eax+0xc] // PEB_LDR_DATA
mov eax, [eax+0x14] // .exe InMemoryOrderModuleList
mov ebx, [eax] // ntdll.dll InMemoryOrderLinks
mov ebx, [ebx] // kernel32.dll InMemoryOrderLinks
mov ebx, [ebx+0x10] // ebx = kernel32.dll base address
'연구 자료 > 악성코드 분석' 카테고리의 다른 글
범용 레지스터 구조 (0) | 2016.05.02 |
---|---|
[파밍] PAC를 이용한 악성코드 (0) | 2016.04.14 |
커널 디버깅 간단하게 세팅하기!! (0) | 2016.02.04 |
스위치문과 봇! (0) | 2016.02.04 |
VMware Anti VM 우회 기법 (1) | 2016.02.02 |
Comments