rev-basic-4

2024. 10. 9. 14:23·DreamHack/Reverising

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

"Correct"를 떠야 하니 sub_7 FF793501000를 보자.

 

 

 

 

 

 

 

 

 

 

 

반복문으로 28번 반복하여 byte_7FF793503000[i] 에 들어있는 배열값들이랑 일치하는지를 확인한다.

 

먼저 배열안에 들어있는 것들을 확인하도록 하자.

 

 

 

 

 

 

 

 

 

 

 

32개가 있지만 00을 제외하면(의미 없으니) 27개만 해당된다.

 

다시 돌아가 식을 보자

 

 

 

 

 

 

 

 

 

 

 

 for ( i = 0; (unsigned __int64)i < 0x1C; ++i )
  {
    if ( ((unsigned __int8)(16 * *(_BYTE *)(a1 + i)) | ((int)*(unsigned __int8 *)(a1 + i) >> 4)) != byte_7FF793503000[i] )
      return 0LL;
  }
  return 1LL;

 

 

if 문에 대한 식을 정리하면 

 

(16 *(a1+i)) | ((a1+i) >> 4)

형 변환에 대한 생략

 

unsigned __int8 -> uint8_t
__int64 -> long long int
_BYTE -> signed char , unsigned char

 

 

(16 *(byte_7 FF793503000 [i]) | (( byte_7FF793503000[i] >> 4)

 

a1 은 input 값 즉 byte 배열값과 비교를 하기 때문에 byte 값을 넣어야 한다.

 

(4 << (byte_7 FF793503000 [i]) | (( byte_7FF793503000[i] >> 4)

 

[16 *] 16의 곱은 [4 <<]로 나타낼 수 있음

 

ex(24 -> 이진법)

0001 1000

ex(24*16 = 384)

0001 1000 0000

4 << (왼쪽 4비트 이동)

 

그렇다면 식은

 

(16 * byte_7 FF793503000 [i]) | (byte_7 FF793503000 [i] >> 4) 

 

이 된다.

 

 

 

 

 

※  여기서 식을 계산할 때는 '& 0xF0' 값을 추가하시는 분들도 계신다.

 

이미 '4 <<'  한 상태에서 '& 0xF0'을 하는 것을 큰 의미가 있는지 궁금하다 하위 비트 4는 이미 0인상태에서

상위 4비트만 가져오는 게 무슨 의미인지..

 

python cp949 오류 났을 때는 추가해 주자.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

rev-basic-5  (0) 2024.10.17
rev-basic-6  (1) 2024.10.17
patch  (1) 2024.10.08
rev-basic-2  (1) 2024.09.26
rev-basic-3  (0) 2024.09.11
'DreamHack/Reverising' 카테고리의 다른 글
  • rev-basic-5
  • rev-basic-6
  • patch
  • rev-basic-2
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 에 대한 문제들...
  • 인기 글

  • 태그

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

  • 최근 글

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

티스토리툴바