본문 바로가기

etc/IDA

IDA 헥스레이 안될때 해결법 1

test4문제(원래 이름을 모름)를 풀다가, 헥스레이가 안되는 현상을 발견하고, 해결법을 까먹지 않기 위해 적어둔다.


먼저 헥스레이가 안되는 원인은 다음과 같았다.

`

처음 프롤로그로 스택프레임을 형성 후에 pop 을 3번하는데 , 이때 ebp보다 esp가 높아지면서 스텍프레임이 뭉개지는 것이다. 그래서 헥스레이에서 해석을 제대로 하지 못한다.

이때 해결방법은 일단 [options] - [general] 에서 stack pointer를 체크해주고 해당 pop명령 (스택프레임이 뭉게지기 시작하는 부분) 에 커서를 두고 alt + k를 누른다. 그러면 다음과 같은 창이 나온다.

이때 0x4의 값을 -0x4로 바꿔준다.

다음에 나오는 pop명령에 대해서도 전부 -0x4로 바꿔주면, 헥스레이가 정상적으로 된다.


ps.스택프레임을 뭉개는 기법은 엄청 보편적으로 쓰이는 안티 헥스레이 기법이다.