19.12.29 22:57 작성
·
230
0
언패킹으로 오니 점점 어려워지는 것이 느껴집니다. 헷갈리는 부분이 있어서 제가 이해한것이 맞는지 질문을 드립니다.
(1) 2번째 exe32pack 과 4번째 NsPack 언패킹에서
스택에 접근에 대해 HW BP를 설정하는 이유가 언패킹 절차가 끝나는 코드 (즉 OEP 접근 직전)을 찾기 위한 것이 맞나요?
언패킹 시작할때 레지 값을 보관하는 것을 보니, 언패킹 끝에서 보관한 레지값을 복구할 것이다. 라고 추측하고 레지 복구시점에 BP를 걸어둔 것이 맞나요?
(2) 1번째 CrypKeySDK 와 3번째는 Mew 언패킹에서
언패킹 코드의 ret 이후에, 정상코드가 복구되어 있고, 이후에 OEP로 리턴될 것이라고 보고,
언패킹 추정 코드의 ret 을 찾아 BP 걸고, ret 실행 직후의 코드를 덤프뜬 것이 맞은지요?
(3) 혹시 언패킹 끝나는 지점의 코드 실행 뒤, OEP로 추측하는 지점에 도달했을 때
정상적인 코드가 안 보이는 경우에는 다음 디버깅 절차가 어떻게 되나요?
정상적인 코드를 찾을 때까지 위에 디버깅 방법들을 반복하나요?