역시 실행부는 앞의 문제와 동일하다.
 

메인함수도 거의 동일하다.
7FF794AE1000함수로 들어가보자.

[cmp rax,18]를 보아 문자열의 길이가 0x18 = 24임을 알 수 있다.
rev-basic-2문제와 유사해 보이지만 덤프를 따라가보면

아스키 변환한 값이 이상한 것을 보니 헥스 코드를 사용하는 것 같다. 
 
어셈블리어 해석을 할 수 있어야 되는데 어색하니 IDA를 통해 비교함수부분을 디컴파일 해보면
 

조건식이 나온다. a1에 헥스코드가 들어가고 이를 파이썬을 통해 역산식으로 대입해보면

str = '49 60 67 74 63 67 42 66 80 78 69 69 7B 99 6D 88 68 94 9F 8D 4D A5 9D 45'
str = tuple(str.split(" "))
res = ''

for i in range(24):
    res += chr((int(str[i],16) - (2*i)) ^ i)

print(res)
위의 코드 실행 결과

어떠한 문자열이 나온다. 이를 chall3.exe에 입력하면

이제 어셈블리어를 해석해야되는 수준까지 왔다. 아직 어셈블리어가 익숙하지 않기 때문에 스터디 기간동안 어셈블리어를 공부해야될 필요성을 느끼게됐다

'Security > Reversing' 카테고리의 다른 글

Dreamhack rev-basic-5  (0) 2022.05.28
Dreamhack rev-basic-4  (0) 2022.05.25
Dreamhack rev-basic-2  (0) 2022.05.23
Dreamhack rev-basic-1  (0) 2022.05.23
Dreamhack rev-basic-0  (0) 2022.05.23

0번과 1번문제와 또또 같다.
 

실행부도 똑같다.
 

입력: asdfasdfasdf

비교함수가 이전 문제와는 다르다.
문자와 직접 비교하는게 아니라 어딘가에 저장된 문자와 비교하는것 같다. 
[cmp rax,12]는 문자를 0x12번 반복하며 검사한다는 것을 알 수 있다.
실제 문자열 비교문은

cmp dword ptr ds:[rcx+rax*4],edx

이다.
 
이를 덤프에서 따라가면

그 주소에 문자가 저장되어 있다.
 

아직 튜토리얼느낌으로 그냥 디버거를 따라가기만 하면 풀 수 있는 것 같다.

'Security > Reversing' 카테고리의 다른 글

Dreamhack rev-basic-5  (0) 2022.05.28
Dreamhack rev-basic-4  (0) 2022.05.25
Dreamhack rev-basic-3  (0) 2022.05.24
Dreamhack rev-basic-1  (0) 2022.05.23
Dreamhack rev-basic-0  (0) 2022.05.23

드림핵의 rev-basic-1 문제다.

rev-basic-0문제와 기본 입출력은 같다.
 

0번문제와 조건문도 같다.
 

문자열 비교함수에 들어가보니 문자열 통째로 비교한 0번문제와는 달리 한글자씩 비교한다.
 

아직까진 너무 쉽다

'Security > Reversing' 카테고리의 다른 글

Dreamhack rev-basic-5  (0) 2022.05.28
Dreamhack rev-basic-4  (0) 2022.05.25
Dreamhack rev-basic-3  (0) 2022.05.24
Dreamhack rev-basic-2  (0) 2022.05.23
Dreamhack rev-basic-0  (0) 2022.05.23

이번에 동아리에서 워게임 스터디를 진행하게 되었다. 그래서 드림핵의 리버싱 문제를 Level1부터 차근차근 풀어보려고 한다.
그 중 rev-basic-0이라는 문제다

문제의 파일을 실행하면 나오는 화면이다. 아무렇게나 막 입력을 하면

"Wrong"이 출력된다. 어느 부분에 조건문이 있을거라고 생각되기 때문에 디버거로 확인해보자.

Correct또는 Wrong을 출력시키는 조건문이 있다.
test eax,eax를 보아 바로 위의 함수에서 문자열을 비교하는것 같다.

비교함수를 보니 "Compar3_the_str1ng"이 답인것같다.

 

'Security > Reversing' 카테고리의 다른 글

Dreamhack rev-basic-5  (0) 2022.05.28
Dreamhack rev-basic-4  (0) 2022.05.25
Dreamhack rev-basic-3  (0) 2022.05.24
Dreamhack rev-basic-2  (0) 2022.05.23
Dreamhack rev-basic-1  (0) 2022.05.23

+ Recent posts