[레나 튜토리얼] 2 본문
프로그램을 누르면 바로 해결했다고 나온다.
이번 문제는 key file의 내용을 분석해 보는 것이다.
기존의 key file을 지우고 새로 만들어주고 프로그램을 실행하면
키 값이 틀렸다고 나온다.
이제 그 값을 알아보도록 한다.
숫자 8개를 넣고 디버거를 켰다.
파일을 읽는 부분에 bp를 걸고 잘 읽어 왔는지 확인했다.
파일의 길이가 8이란 것을 알 수 있다. 조건문에서는 길이가 16이어야 통과할 수 있다.
일단 flag를 꺼두고 계속 진행해 보았다.
0x4010c7 라인을 보면 al이 0이면 0x004010d3으로 이동한다.
문자열이 끝났다는 것을 알 수 있다.
그리고 esi가 8이면 성공했다는 문자열을 출력하고
아니면 키 값이 실패했다는 문자열을 뛰운다.
그럼 esi를 8 이상으로 만들어주어야 하는데
INC는 1씩 증가해준다는 명령어이다.
0x4010cb에서 AL이 0x47과 같으면 INC esi를 한다.
0x47은 'G'이다.
즉 key file에 G문자를 8개 이상
문자열 길이는 16자 이상으로 만들어 주어야 한다.
'wargame > Lena' 카테고리의 다른 글
[레나 튜토리얼] 5 (0) | 2022.01.16 |
---|---|
[레나 튜토리얼] 4 (0) | 2022.01.16 |
[레나 튜토리얼] 3 (0) | 2022.01.15 |
[레나 튜토리얼] 1 (0) | 2022.01.14 |
[레나 튜토리얼] 시작 (0) | 2022.01.14 |
Comments