rev-basic-3

2024. 9. 11. 19:11·DreamHack/Reverising

 

왜 항상 나만 오래 걸리는 거 같지 하

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

일단 디컴파일을 해줘서 "Correct"에 도달하기 위한 참 조건에 주소를 한번 들어가 보자

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0x18 보다 클 때까지 반복을 하고 byte_7 FF6A6D83000에 배열 안에 있는 것들을 '!='을 이용 계산식을 비교한다.

 

unsigned __int 8 같은 경우 자료형이라 연산에서는 제외시켰다.

 

참고로 같지 않을 경우 참이 돼버리니 오른쪽에 속한 연산 이랑 결과 값이 계속 같아야 한다.

 

일단은 byte_7 FF6 A6 D83000에 뭐가 들어있는지 주소를 찾아가 보자.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

배열에는 총 24byte에 데이터가 존재했다.

 

오른쪽 연산식에 과 항상 같아야 하니 연산식을 역연산으로 바꿔야 한다.

 

현재 식에서 모르는 값은 'a1'이다. 

 

byte에 배열들을 알아냈으니 역연산을 통해 a1을 알아내도록 하자.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

bytes[i] != (i ^ (a1+i)) + (2 * i)

 

 

현재 식은 이렇게 되어있다.

 

하지만 '!=' 보다는 항상 같아야 하기 때문에 연산식으로는 "="를 사용해 바꾸도록 하겠다.

 

그렇다면

 

 

 

 

bytes[i] = (i ^ (a1+i)) + (2 * i)

 

'!=' 부분을 '='로 바꿨다

 

이 부분은 역연산이 아니다

 

차근차근해보자

 

 

 

 

 

 

bytes[i] - (2 * i) = i ^ (a1 + i)

 

' - (2 * i ) '을 적용시키면 오른쪽에 있는 식은 없어지게 된다.

 

계속해보자

 

 

 

 

 

 

 

(bytes[i] - (2 * i)) ^ i = a1 + i

 

다음은 '^ i' XOR 연산자를 가져왔다.

 

나머지 이제 i 도 똑같이 옮겨주자

 

 

 

 

 

 

a1 = ((bytes[i] - (2 * i)) ^ i) - i

 

가독성이 좋게 'a1'을 왼쪽으로 배치했다 

 

이렇게 식을 다 완성했으니 계산만 한다면 식을 유추할 수 있다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

'DreamHack > Reverising' 카테고리의 다른 글

rev-basic-4  (1) 2024.10.09
patch  (1) 2024.10.08
rev-basic-2  (1) 2024.09.26
rev-basic-1  (0) 2024.09.11
rev-basic-0  (1) 2024.09.11
'DreamHack/Reverising' 카테고리의 다른 글
  • patch
  • rev-basic-2
  • rev-basic-1
  • rev-basic-0
G_OM
G_OM
최대한 설명 열심히 하려고 합니다. 궁금한 거 있으면 언제든지 물어보셔도 좋습니다.
  • G_OM
    끄적끄적
    G_OM
  • 전체
    오늘
    어제
    • 분류 전체보기 (139)
      • 모의해킹 (8)
      • Wargame (69)
        • Linux_bandit (33)
        • Webhacking.kr (36)
      • DreamHack (52)
        • WEB (14)
        • Reverising (9)
        • System (0)
        • CTF (22)
      • Android_security (5)
      • 정보보안기사 (2)
      • IT? (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

    • DreamHack 에 대한 문제들...
  • 인기 글

  • 태그

    난독화
    안드로이드
    Linux
    drozer
    sql injection
    워게임
    php
    union
    insecurebankv2
    리눅스 워게임
    Android
    overthewire
    php wrapper
    리눅스
    Linux wargame
    webhacking.kr
    cookies
    lfi
    webhacking
    정보보안기사
    wargame
    bandit17
    bandit30
    CTF
    Dreamhack
    url encode
    bandit18
    Cookie
    bandit
    bandit20
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
G_OM
rev-basic-3
상단으로

티스토리툴바