반응형
Points : 150
Solves : 108
Description :
Run and capture the flag!
실행을 하면 문자열을 입력 받는다.
올바른 시리얼 넘버를 찾는 문제인 것 같다.
동적분석 하면서 찾은 첫번째 비교문이다. strlen 으로 0x10과 비교하고 있다.
입력 문자열의 길이는 10인 것을 알 수 있다.
첫번째 문자와 비교하는 부분이다. rbp-200h에 입력한 문자열이 들어간다.
첫번째 문자 : E
rbp-200h가 문자열의 시작이라면, rbp-1F1은 문자열의 맨 마지막이다.
첫번째 문자(E) + x = 0x9B가 되어야 한다.
마지막 문자 : V (0x56)
두번째 문자와 비교하는 부분이다.
두번째 문자 : Z
두번째 문자와 문자열의 맨 마지막에서 두번째의 문자를 더한 값이 9B가 나와야한다.
두번째 문자(V) + x = 0x9B가 되어야 한다.
마지막에서 두번째 문자 : A (0x41)
위처럼 세번째 문자, 마지막에서 세번째 문자 순으로 쭉 나온다.
E(0x45) + 마지막 = 0x9B ➙ 0x56(V)
Z(0x5A)+ 마지막2 = 0x9B ➙ 0x41(A)
9(0x39)+ 마지막3 = 0x9B ➙ 0x62(b)
d(0x64)+마지막4 = 0x9B ➙ 0x37(7)
m(0x6D)+ 마지막5 = 0xB4 ➙ 0x47(G)
q(0x71)+ 마지막 6 = 0xAA ➙ 0x39(9)
4(0x34)+ 마지막7 = 0x9B ➙ 0x67(g)
c(0x63)+ 마지막8 = 0x9B ➙ 0x38(8)
flag : EZ9dmq4c8g9G7bAV
반응형
'CTF. > Sharif University CTF 2016' 카테고리의 다른 글
SRM Write-Up #Sharif University CTF 2016 (0) | 2022.07.23 |
---|---|
dMd Write-Up #Sharif University CTF 2016 (0) | 2022.07.22 |
댓글