본문 바로가기

전체 글292

[windbg]!wow64exts.sw 64bit 에서 wow64 프로세스 분석하기 wow64 콜스택 보기 !wow64exts.sw 2016. 2. 19.
windbg 파일 덤프 저장 windbg로 attach 된 상태에서 덤프 파일을 생성하는 방법이다. .dump (Create Dump File) The .dump command creates a user-mode or kernel-mode crash dump file .dump Options FileName .dump /? 예> 0:000> .dump /mfh myfile.dmp 자세한건 windbg 도움말을 참고 2016. 1. 11.
GetCurrentDirectory 사용 현제 실행 중인 프로세스에서 자신의 실행 위치를 알기 위해 GetCurrentDirectory를 사용한다. 아래는 함수 원형이다. DWORD WINAPI GetCurrentDirectory( _In_ DWORD nBufferLength, _Out_ LPTSTR lpBuffer ); nBufferLength [에] 현재 디렉토리 문자열에 대한 버퍼의 길이 TCHARs . 버퍼 길이는 널 종료 문자를위한 공간을 포함해야합니다. pBuffer [OUT] 현재 디렉토리 문자열을 수신 버퍼에 대한 포인터. 이 널 (null)로 종료되는 문자열은 현재 디렉토리의 절대 경로를 지정합니다. 필요한 버퍼 크기를 확인하려면이 매개 변수를 설정 NULL 과 nBufferLength의 0 매개 변수를. 해당 함수는 현제 경로.. 2015. 12. 29.
OleRegGetUserType 사용 후 문자열 해제 BSTR을 이용하여 OleRegGetUserType(x,x,bstr) 을 호출 후 꼭 CoTaskMemFree를 사용하자. 실제 msdn에는 언급이 없지만 rectos의 OleRegGetUserType의 원형을 보면 HRESULT WINAPI OleRegGetUserType( 00651 REFCLSID clsid, 00652 DWORD dwFormOfType, 00653 LPOLESTR* pszUserType) 00654 { 00655 WCHAR keyName[60]; 00656 DWORD dwKeyType; 00657 DWORD cbData; 00658 HKEY clsidKey; 00659 LONG hres; 00660 00661 /* 00662 * Initialize the out parameter... 2015. 12. 15.
64비트 오버레이 포현 파일에 오버레이 아이콘 등록을 위해 regsvr32 xxx.dll 의 명령어를 많이 사용합니다. 하지만 64비트의 경우 64비트 모듈만 등록하게 되면 64비트 프로세스에만 오버레이가 보이는 모습을 볼 수 있습니다. 64비트 환경에서 32비트 프로세스에서 오버레이를 보고 싶으시면, 기존 system32/cmd.exe를 실행하는게 아니고 syswow32/cmd..exe를 이용해서 32비트 모듈을 다시 한번 등록해야합니다. 솔루션의 설치본에서 무심고 해당 syswow32를 고려하지 않고 cmd를 실행시키면 system32/cmd 64비트 명령 프롬프트가 실행되어 오류가 날 수 있으니 주의 하시길.. 모두 즐프..^^ 2015. 6. 12.
windbg로 핸들 릭을 찾아보자 windbg에서는 htrace로 얼마만큼 해당 프로세스가 핸들릭을 가지고 있는지 찾을 수 있다. 아래와 같이 핸들릭 발생 코드를 생성 후 for (DWORD i = 1; i !htrace -------------------------------------- Handle = 0x0000000000000134 - OPEN Thread ID = 0x00000000000028dc, Process ID = 0x00000000000026d0 0x00007fff9235b25a: ntdll!NtCreateFile+0x000000000000000a 0x00000000770eae5c: wow64!whNtCreateFile+0x00000000000000f8 0x00000000770ebb64: wow64!Wow64System.. 2014. 9. 30.