OllyDbg는 리버싱을 할 때 정말 많이 사용하는 Debugger입니다.
유용한 Plugin들도 정말 많이 있죠.
그 중 Olly Advanced는 OllyDbg의 버그 수정을 포함하여 여러가지 부가 옵션과 Anti-Debug옵션이 있습니다.
(Anti-Debug옵션들은 Windows SP3와 궁합이 잘 맞지 않는 것들이 있습니다.
지난 포스팅 내용에는 ZwQueryInformationProcess만 언급했는데 다른 녀석들도 문제를 안고 있는 것 같더군요.
- 시스템 파일의 바이너리 상태가 SP2와 다르기 때문)
개인적으로 Anti-Debug옵션을 제외한 버그 수정 옵션과 부가 옵션은 거의 다 적용시켜서 사용합니다.
OllyDbg를 이용하여 Debugging할 때 Breakpoint를 설정하거나 Tracing을 할 때 가끔씩 뻗는 경우가 있더군요.
저는 그 때 마다 대상 어플리케이션에 문제가 있는 것이 아닌가 라고 생각했었습니다.
(잘 되는 어플리케이션들도 있었거든요...)
하지만 같은 부서 차장님께서 OllyDbg 설정을 변경하면 그런 현상 없이 잘 되더라고 하시더군요.
Windows size이런거 막 변경해 보고 어찌어찌 하니까 잘 됩니다.
그런일이 있은 후...
또 다시 같은 문제가 발생을 하더군요 ;;;
그래서 시간을 좀(?) 들여 삽질을 시작했습니다.
뭐 때문일까...
삽질에 삽질을 거듭하며 수 많은 삽질끝에 Olly Advanced의 옵션 중에 Additional Options 2 탭에 있는
Flexible Breakpoints이 가장 유력한 범인이라는 결론을 내렸습니다.
(복합적인 문제 때문에 발생했을 수도 있으므로 100%라고 장담할 순 없습니다.)
일단 저 옵션을 해제하고 사용해보니 그런 현상은 나타나지 않았습니다.
혹시 같은 문제가 발생하시는 분들은 Flexible Breakpoints를 해제하고 한번 사용해 보세요.
100%는 아니지만 해결될 수도 있습니다. ^-^;;;