Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
Tags
- CodeEngn
- java
- codeengn basic 19
- codeengn 13
- 누구나 쉽게 즐기는 c언어 콘서트 개정판 13장 연습문제풀이
- 누구나 쉽게 즐기는 c언어 콘서트 개정판 10장 연습문제풀이
- 프로그래밍 언어
- codeengn basic 16
- codeengn basic 20
- upx 언패킹 명령어
- 누구나 쉽게 즐기는 c언어 콘서트 개정판 13장 연습문제 답
- codeengn advanced 1
- codeengn basic 14
- 리버싱
- 조건문
- break
- covetknowledge
- StolenByte
- codeengn advanced 3
- 누구나 쉽게 즐기는 c언어 콘서트 개정판 10장 연습문제 답
- Reversing
- 누구나 쉽게 즐기는 c언어 콘서트 개정판 14장 연습문제
- 누구나 쉽게 즐기는 c언어 콘서트 개정판 14장 연습문제 답
- OEP
- 반복문
- codeengn basic 18
- codeengn basic 15
- 누구나 쉽게 즐기는 c언어 콘서트 개정판 13장 연습문제
- 누구나 쉽게 즐기는 c언어 콘서트 개정판 14장 연습문제풀이
- codeengn basic 17
Archives
- Today
- Total
One's Knowledge
CodeEngn basic 18번 문제 풀이 본문
CodeEngn basic 18번
Name이 CodeEngn일때 Serial은 무엇인가

패킹은 되어있지 않다.


실행하면 Name과 Serial을 넣고 Check 하는 프로그램인 것을 알 수 있다.

바로 문자열을 찾았다.

분기점 위에 보니 str1, str2를 비교하는 함수에 넣고 그 결과값이 0이면 성공, 1이면 실패구문으로 가는 것을 알 수 있다.
그러면 lstrcmpiA라는 함수에 들어가는 인자를 보면 되겠다.

보다시피, 내가 넣은 serial 값이 들어갔다. 그 말은 06162370056B6AC0이 Name이 CodeEngn일때의 serial 값이다.

한번 넣어보자. 내가 넣은 1234가 그대로 string으로 저장되는 것을 보니 16진수로 바꿔줄 필요 없이 그대로 넣었다.

lstrcmpiA이 함수를 실행하니 이번엔 EAX가 0이다.

성공!
이번엔 Windows API 함수를 사용하여 문자열을 비교했다.
API함수 어느정도 알아둬야겠다.
정답 : 06162370056B6AC0
'리버싱 > CodeEngn 문제풀이' 카테고리의 다른 글
| CodeEngn basic 20번 문제 풀이 (0) | 2025.06.27 |
|---|---|
| CodeEngn basic 19번 문제 풀이 (0) | 2025.06.23 |
| CodeEngn basic 17번 문제 풀이 (1) | 2025.06.13 |
| CodeEngn basic 16번 문제 풀이 (0) | 2025.06.11 |
| CodeEngn basic 15번 문제 풀이 (0) | 2025.06.08 |