[reversing.kr] Twist1

취미/WarGame 2015. 2. 27. 09:53 |

1차 시도 : 15/02/27



PEB에서 비롯되는 Ldr, Heap 안티 디버깅을 지나  OEP 도달. 


scanf 로 입력을 받고 난 뒤 ZwQueryInformationProcess API를 사용하는 안티 디버깅에 걸려서 실패 . 

오늘은 여기까지.



2차시도 : 15/02/28 


2차시도 4시간 30분만에 클리어. 


내용이 너무 방대해 자세한 내용은 나중에 쓸까 말까 고민중입니다. .


간략히 설명하자면


처음엔 1차시도에서 확인한 PEB 관련(Ldr, HeapFlag ) 안티디버깅이 3회 출몰합니다. 

그리고는 이제 Main만 분석하면 될것처럼 OEP가 등장하고 


scanf로 입력을 받다가 뜬금없이

ZwQueryInformationProcess native API로 2회 안티디버깅이 나옵니다. 


이제 정말 끝이겠지 하고 분석을 하던 도중 GetThreadContext로 디버그 레지스터에서 하드웨어 브레이크가 있는지 없는지 검사합니다.(분석하면서 하드웨어 브레이크를 사용할 일이 없었기에 무사히 넘어갔습니다.)


여기까지 지나면 드디어 내가 입력한 값들이 어떤 연산으로 분기되는지 나옵니다. 


그리고 대망의 비교루틴에서도 한 두번씩 페이크가 나옵니다 - -. 


1번째 문자에대한 페이크와 몇번째인지 기억은 안나는데 예, 예, 예 버튼 막 누르던 도중에 예 버튼자리에 아니오가 온 느낌이랄까요. 


그런느낌으로 엄한데로 점프 시켜버립니다 --. 


다행히 점프하기전의 스택으로 돌려놓고 origin 바꿔서 되돌아 오긴했습니다만.. 인내심을 시험받은 듯한 느낌이 드네요..


일단 여기까지


'취미 > WarGame' 카테고리의 다른 글

[reversing.kr] PEPassword  (0) 2015.03.06
[reversing.kr] Ransomware  (0) 2015.02.24
[reversing.kr] Direct3D FPS  (1) 2015.02.24
[reversing.kr] ImagePrc  (0) 2015.02.21
[reversing.kr] Position  (0) 2013.10.30
Posted by $Zero
: