1. DebugView
코드에 다음과 같은 함수를 작성한다.
void DebugLog(const char *format, ...)
{
va_list vl;
FILE *pf = NULL;
char szLog[512] = {0,};
va_start(vl, format);
wvsprintf(szLog, format, vl);
va_end(vl);
OutputDebugString(szLog);
}
(출처 : 리버싱 핵심 원리, redirect.cpp)
DebugLog("XXX함수가 에러났어요 : %u\n", GetLastError() );
이런식으로 에러난 부분에 로그를 출력시켜준다.
그러면 이 프로그램의 화면에 로그가 출력된다.
2. ProcessMonitor
어떤 프로세스가 어떤 API를 호출했는지 알고 싶을 때 사용하는 프로그램이다.
모든 프로세스가 출력되므로 상단 중앙에 있는 메뉴에서 필터기능을 이용해 필요한 내용만 볼 수 있도록 한다.
출처 : https://technet.microsoft.com/ko-kr/sysinternals/bb896645
3. ProcessExplorer
taskmgr 보다 자세한 프로세스 확인 프로그램이다. 프로세스의 자식 트리 구조를 확인할 수 있고 어떤 DLL을 가지고 있는지 여부 또한 확인할 수 있다. 추가적으로 바이러스 토탈을 이용해 실행 중인 프로세스가 악성인지 확인할 수 있다.
출처 : https://technet.microsoft.com/ko-kr/sysinternals/bb896653
'보안 > 프로그램' 카테고리의 다른 글
시큐어코딩 (JAVA) (0) | 2016.07.11 |
---|---|
PARI/GP 시험문제 (0) | 2015.04.21 |
PARI / GP 를 사용한 빅데이터 연산 : Logistic Regression을 사용한 악성코드 분석 (0) | 2015.03.30 |
PARI / GP 를 사용한 빅데이터 연산 : RSA 암호화 및 복호화 (0) | 2015.03.23 |
PARI / GP 를 사용한 빅데이터 연산 : diffie hellman key exchange (0) | 2015.03.12 |