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
  • 전체
    오늘
    어제
    • 분류 전체보기 (157)
      • 모의해킹 (18)
      • CTF (22)
      • Wargame (69)
        • Linux_bandit (33)
        • Webhacking.kr (36)
      • DreamHack (52)
        • WEB (14)
        • Reverising (9)
        • System (0)
      • Mobile_security (13)
        • Drozer_Android (4)
        • Frida_Android (1)
        • IOS (1)
        • tool (1)
      • 정보보안기사 (2)
      • IT? (3)
  • 블로그 메뉴

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

    • Github
  • 공지사항

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

  • 태그

    bandit20
    wargame
    overthewire
    url encode
    난독화
    bandit
    webhacking.kr
    워게임
    리눅스 워게임
    리눅스
    bandit18
    bandit17
    Linux wargame
    drozer
    lfi
    Dreamhack
    정보보안기사
    Android
    webhacking
    OSINT
    모의해킹
    php
    CTF
    cookies
    Linux
    sql injection
    insecurebankv2
    php wrapper
    bandit30
    Frida
  • 최근 댓글

  • 최근 글

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

티스토리툴바