cdor1's lab
CodeEngn Advance 01 본문
프로그램이 몇 밀리세컨드 후에 종료되는지 찾아야 한다.
ollydbg로 열었지만 pushad 명령어가 보이므로 upx가 걸려 있음을 알 수 있는데
프로그램 시작마다 풀어주기 귀찮음으로 upx- d program 해서 upx를 풀어준다.
분석하다보면 IsDebuggerPresent함수를 이용해서 디버거를 체크하는데 리턴값을 0으로 만들어 우회해준다.
timegettime함수를 이용해서 프로그램이 실행되고 흐른 시간을 구하고
ebx+4지점에 있는 값과 비교해서 현재 흐른 시간이 저 값보다 적으면 계속 돈다.
ebx+4 == 0x337B
0x337b == 13179
md5 encode해서 제출하면 끝
사실 이 프로그램은 AutoIt스크립트로 짜여졌는데
하위버전의 AutoIt은 디컴파일이 가능하다.
뚝딱!
'Security > Reversing' 카테고리의 다른 글
CodeEngn Advance 03 (0) | 2017.03.22 |
---|---|
CodeEngn Advance 02 (0) | 2017.03.21 |
codegate 2017 angrybird (0) | 2017.03.05 |
ReverseLab2: DLL Injection (0) | 2016.08.10 |
ReverseLab1: UPX packed PE File analyze (0) | 2016.07.27 |
Comments