Notice
250x250
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 넘파이
- 보안
- 리버싱 워게임
- html
- 인공지능
- 웹해킹
- CodeEngn
- 해킹
- MySQL
- 워게임
- sql injection
- 자바스크립트
- C언어
- 어셈블리어
- 컴퓨터 구조
- 리버싱
- 웹
- 리버싱 문제
- webhacking
- 회귀 수식
- 리눅스
- php
- 백준
- 알고리즘
- abex crackme
- webhacking.kr
- 백준 알고리즘
- 머신러닝
- 리액트
- writeup
Archives
- Today
- Total
인공지능 개발일지
[리버싱] abex' crackme 2번 Writeup 본문
728x90
2번을 실행하면 아래와 같이 뜬다.
그러자 아래와 같이 Wrong Serial이라고 뜬다.
정해진 Seriala 값이 있나 보다 생각하고 ollybdg에 들어가서 열어준다.
그러면 아까 봤던 창을 띄우는 코드가 눈에 띈다.
그리고 아래 코드를 실행시켜 보면 1,2,3번 차례로 실행되는 게 아니라 1번에서 3번으로 2번을 건너 띈다. 자세히 보면 1번에서 TEST AX AX로 위에서 push한 것을 받는 걸 보니 CALL ~라인이 함수를 호출하는 건가 하고 추측할 수 있다. 그래서EDX와 EAX가(Name과 Serial) 스택으로 가고 파란색 박스에서 보이듯이 JE 명령어로 이 두 개를 비교해서 3번으로 점프하고 있다.
그러면 crackme 1번처럼 JE를 JMP로 바꿔줘도 풀리고 스택에 적혀 있는 정해진 Serial값을 입력해도 풀린다. 1번째 박스에 함수를 호출하는 부분에서 중단점을 잡고 실행시켜 주면 프로그램이 다시 실행된다. 여기 다시 처음과 같은 Jiseon과 5252를 입력해준다.
그리고 스택을 보면 대충 아래와 같은 라인이 보인다.(캡처 날아감)
Unicode Jiseon
Unicode 5252
Unicode AECDD~
\
하고 5252 주변에 비슷한 위치에 AECDD~하는 문자열이 보인다. 이를 힌트로 생각하고 동일한 Name에 Serial로 입력해보면 풀리는 것을 확인할 수 있다.
728x90
'보안 > 리버싱' 카테고리의 다른 글
[리버싱] CodeEngn RCE Basic L02 Writeup (0) | 2021.11.08 |
---|---|
[리버싱] abex' crackme 4번 Writeup (0) | 2021.10.15 |
[리버싱] abex' crackme 3번 Writeup (0) | 2021.10.12 |
[리버싱] abex' crackme 1번 Writeup (0) | 2021.10.12 |
[리버싱] 어셈블리어란? (0) | 2021.10.10 |