반응형
Name이 CodeEngn 일때 Serial을 구하시오
(이 문제는 정답이 여러개 나올 수 있는 문제이며 5개의 숫자로 되어있는 정답을 찾아야함, bruteforce 필요)
라고한다.
브루트포스가 무엇이냐면 무차별 대입공격으로, 예를 들어 2010년대만 해도 회원가입을 할 때
인증절차없이 이름 주민번호만 넣으면 가입이 되곤 했었는데 이를 이용해
이름과 생년월일만 알고 있다면 주민번호 뒤7자리에 무차별 적으로 값을 계속 넣어
결국 올바른 주민번호를 뽑아냈던 그런 방법이다.
어쨌든 이제부터 살펴보자
프로그램 실행화면
당연히 틀렸다고 나온다.
PEID를 살펴보자
upx 패킹이 되어 있어서 언패킹을 해주었다.
IDA로 살펴보자
대충 타고 따라가다보면 분기점이 나온다.
분기점 우의 cmp eax, esi로 값을 비교해서 분기하는 거니 시리얼이 들어있을 것.
브레이크 포인트를 걸고 레지스터를 살펴보자
eax에는 64가 들어있다. ESI에는 129A1이 들어있다.
64는 Decimal 로 100이다. 즉, eax에는 내가 입력한 값이 들어간다고 보면되고 그렇담 ESI에 시리얼이 들어간다.
129A1은 Decimal 로 변환시 76193이 된다.
76193을 넣으니 성공메시지가 띄워진다
반응형
'Reverse Engineering > [CodeEngn] Basic RCE' 카테고리의 다른 글
[Reversing] CodeEngn - Basic RCE L16 (0) | 2024.07.02 |
---|---|
[Reversing] CodeEngn - Basic RCE L15 (0) | 2024.07.02 |
[Reversing] CodeEngn - Basic RCE L13 (0) | 2024.07.02 |
[Reversing] CodeEngn - Basic RCE L12 (0) | 2024.07.02 |
[Reversing] CodeEngn - Basic RCE L11 (0) | 2024.07.02 |