ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • CodeEngn Advance 01
    Reversing/Codengn Advance 2017. 1. 16. 10:56
    반응형

    문제 지문의 핵심은 몇 밀리세컨드 이다.


    문제 파일을 PEiD를 통해 확인결과 UPX패킹이 되어있는 상태이다.

    [UPX툴로 언패킹을 해준 상태] // upx -d [파일경로] //

    API함수중에서 밀리세컨드단위로 세는 함수는 timegetTime() 함수이다. 그러므로 미리 모든 timgetTime()함수에 Break을 걸어준다.

    IS DebuggerPresent() 기본적인 안티디버깅 함수이다. 나는 그냥 야매로 90909090(NOP)를 해주었다.( 주의: 정석은 이렇게하면 안됨 )

    이렇게 되면 안티디버깅에 걸리지않는다.

    timegetTime()함수에서 시간을 정해놓고 꺼질 수 있는건 cmp 명령어가 비교하고 있기때문이다. 그래서 cmp명령어가 비교하는 값을 유심히 지켜봐라 나는 여기 cmp에서 멈췄다. 밑에보면 337B값이 있다. 여길 수정해보자.

    follow in dump를 통해 337b가 있던 곳을 99 99 99값으로 수정해보자.

    오랫동안 지속된다. 



    반응형

    'Reversing > Codengn Advance' 카테고리의 다른 글

    CodeEngn Advance 06  (0) 2017.01.17
    CodeEngn Advance 05  (0) 2017.01.16
    CodeEngn Advance 04  (0) 2017.01.16
    CodeEngn Advance 03  (0) 2017.01.16
    CodeEngn Advance 02  (0) 2017.01.16
Designed by Tistory.