Wargame/Microcorruption
-
HanoiWargame/Microcorruption 2014. 7. 30. 18:45
Main 함수는 단지 login 함수를 호출한 뿐이다. login 함수를 보자. 아래와 같이 0x1c와 0x2400을 r14, r15 레지스터에 넣고 getsn 함수를 호출한다. 4520 ... 4534: 3e40 1c00 mov#0x1c, r14 4538: 3f40 0024 mov#0x2400, r15 453c: b012 ce45 call#0x45ce 이후 getsn 함수에서 r14, r15, 0x2를 각각 push하고 인터럽트(INT)를 호출한다. 45ce 45ce: 0e12 pushr14 45d0: 0f12 pushr15 45d2: 2312 push#0x2 45d4: b012 7a45 call#0x457a 45d8: 3150 0600 add#0x6, sp 45dc: 3041 ret 각 인터럽트 번호..
-
SydneyWargame/Microcorruption 2014. 7. 30. 16:34
이전 레벨과 다르게 Main 함수에 create_password 함수가 없어졌다.하지만 check_password 함수를 살펴보면, 이 부분에서 특정 값과 사용자가 입력한 값을 비교하는 구문이 있다. 448a 448a: bf90 572e 0000 cmp#0x2e57, 0x0(r15) 4490: 0d20 jnz$+0x1c 4492: bf90 435e 0200 cmp#0x5e43, 0x2(r15) 4498: 0920 jnz$+0x14 449a: bf90 7545 0400 cmp#0x4575, 0x4(r15) 44a0: 0520 jne#0x44ac 44a2: 1e43 mov#0x1, r14 44a4: bf90 2474 0600 cmp#0x7424, 0x6(r15) 44aa: 0124 jeq#0x44ae 44a..
-
New OrleansWargame/Microcorruption 2014. 7. 30. 16:18
우선 Main 함수를 살펴보면 create_password라는 함수가 있다. 4438 4438: 3150 9cff add#0xff9c, sp 443c: b012 7e44 call#0x447e 4440: 3f40 e444 mov#0x44e4 "Enter the password to continue", r15 4444: b012 9445 call#0x4594 4448: 0f41 movsp, r15 444a: b012 b244 call#0x44b2 444e: 0f41 movsp, r15 4450: b012 bc44 call#0x44bc 4454: 0f93 tstr15 4456: 0520 jnz#0x4462 4458: 3f40 0345 mov#0x4503 "Invalid password; try again.",..
-
Microcorruption 소개Wargame/Microcorruption 2014. 7. 30. 15:35
Microcorruption은 LockIT Pro Lock 이라는 가상의 잠금장치를 Crack하는게 목표인 워게임이다.각 레벨은 도시이름으로 구성되어 있고, 여기를 돌아다니면서 Lock을 Crack ! ... 하는게 스토리랄까 ?놀라운점은 웹으로 디버거가 구성되어 있어... 웹 페이지에서 디버깅하며 문제를 풀 수 있다는 점이다.(물론 시간이 지나면 자동으로 세션이 날아가며 하던게 다 날아가서 짜증나기도 한다.) 어셈을 공부하면서 리버싱을 공부해야하는 초급자분들에겐 정말 좋을 것 같다 :)(어셈 내용도 그렇게 많지 않고, 웹으로 구현되어 있다보니 명령어를 칠 필요도 없이 휠로 슥슥 전체적인 어셈을 살펴볼 수도 있다.)친절하게 듀토리얼까지 제공하므로 차근차근 한번 해보자 ~