안티디버깅코드가 복잡해 보여서 


패킹 풀렸을 떄 oep를 바꿔서 덤프 떴다.


덤프 뜬 이후에도 안티디버깅 기법이 엄청 들어가있었다.

PEB 의 debugging flag를 확인하고 (fs:30)

ZwQueryInformationProcess 로 또 디버깅 유무를 체크한다. -> 참고 : http://ruinick.tistory.com/27

Getthreadcontext로 hardware bp를 체크하고 본격적인 serial루틴이다.


위의 디버깅 체크 루틴을 나는 점프해서 우회했는데 플래그를 직접수정하는 방법도 나중에 시도해 봐야겠다.

serial 분석하는데 중간에 페이크도 있고 진짜 멘탈터져서 

구글을 참고했다.


퓨 지금까지 해본 리버싱 문제중에 가장 더러웠다.

안티디버깅이 이렇게 빡칠줄은 몰랐다.

코드도 계속 바뀌고 입력값에 따라 계속 피드백을 주면서 바껴버린다.

그래서 플래그도 한번에 못찾고 계속 F2를 몇번을 눌렀는지 모르겠다.

리버싱 속도가 빨라지도록 계속 연습해야겠다.


그래도 동적분석이 조금은 익숙해진것같다.



'war game > reversing.kr' 카테고리의 다른 글

[reversing.kr]windows kernel  (0) 2017.03.17
[reversing.kr]crc1  (0) 2017.03.16
[reversing.kr]position  (0) 2017.03.09
[reversing.kr]randomware  (0) 2017.03.08

+ Recent posts