patch

2023. 1. 19. 21:14·Wargame/Dreamhack
728x90
반응형

1. intro

2. code 및 분석

2.1.  code

char __fastcall sub_7FF7D69F2C40(__int64 a1, int a2)
{
  int v2; // ebx
  int v3; // edx
  int v4; // edx
  int v5; // edx
  int v6; // edx
  int v7; // edx
  int v8; // edx
  int v9; // edx
  int v10; // edx
  int v11; // edx
  int v12; // edx
  int v13; // edx
  int v14; // edx
  int v15; // edx
  int v16; // edx
  int v17; // edx
  int v18; // edx
  int v19; // edx
  int v20; // edx
  int v21; // edx
  int v22; // edx
  int v23; // edx
  int v24; // edx
  int v25; // edx
  int v26; // edx
  __int64 v27; // rbx
  __int64 v28; // r8
  __int64 v29; // r8
  __int64 v30; // rdx
  __int64 v31; // r8
  __int64 v32; // rdx
  __int64 v33; // r8
  __int64 v34; // rdx
  __int64 v35; // r8
  __int64 v36; // rdx
  __int64 v37; // r8
  __int64 v38; // rdx
  __int64 v39; // r8
  __int64 v40; // rdx
  __int64 v41; // r8
  __int64 v42; // r8
  __int64 v43; // rdx
  __int64 v44; // r8
  __int64 v45; // r8
  __int64 v46; // rdx
  __int64 v47; // r8

  v2 = qword_7FF7D69F7880;
  sub_7FF7D69F2B80(qword_7FF7D69F7880, a2, 30, 470, 80, -16777216);
  sub_7FF7D69F2B80(v2, v3, 35, 470, 75, -16777216);
  sub_7FF7D69F2B80(v2, v4, 40, 470, 70, -16777216);
  sub_7FF7D69F2B80(v2, v5, 45, 470, 65, -16777216);
  sub_7FF7D69F2B80(v2, v6, 50, 470, 60, -16777216);
  sub_7FF7D69F2B80(v2, v7, 55, 470, 55, -16777216);
  sub_7FF7D69F2B80(v2, v8, 60, 470, 50, -16777216);
  sub_7FF7D69F2B80(v2, v9, 65, 470, 45, -16777216);
  sub_7FF7D69F2B80(v2, v10, 70, 470, 40, -16777216);
  sub_7FF7D69F2B80(v2, v11, 75, 470, 75, -16777216);
  sub_7FF7D69F2B80(v2, v12, 80, 400, 60, -16777216);
  sub_7FF7D69F2B80(v2, v13, 30, 470, 90, -16777216);
  sub_7FF7D69F2B80(v2, v14, 35, 470, 30, -16777216);
  sub_7FF7D69F2B80(v2, v15, 40, 470, 35, -16777216);
  sub_7FF7D69F2B80(v2, v16, 45, 470, 50, -16777216);
  sub_7FF7D69F2B80(v2, v17, 50, 470, 40, -16777216);
  sub_7FF7D69F2B80(v2, v18, 55, 400, 90, -16777216);
  sub_7FF7D69F2B80(v2, v19, 60, 470, 60, -16777216);
  sub_7FF7D69F2B80(v2, v20, 65, 470, 30, -16777216);
  sub_7FF7D69F2B80(v2, v21, 70, 470, 80, -16777216);
  sub_7FF7D69F2B80(v2, v22, 75, 470, 70, -16777216);
  sub_7FF7D69F2B80(v2, v23, 80, 470, 60, -16777216);
  sub_7FF7D69F2B80(v2, v24, 80, 470, 80, -16777216);
  sub_7FF7D69F2B80(v2, v25, 80, 470, 70, -16777216);
  sub_7FF7D69F2B80(v2, v26, 90, 470, 90, -16777216);
  v27 = qword_7FF7D69F7880;
  sub_7FF7D69F17A0(qword_7FF7D69F7880, 40i64, v28, 4278190080i64);
  sub_7FF7D69F1C80(v27, 80i64, v29, 4278190080i64);
  sub_7FF7D69F2640(v27, v30, v31, 4278190080i64);
  sub_7FF7D69F20F0(v27, v32, v33, 4278190080i64);
  sub_7FF7D69F2390(v27, v34, v35, 4278190080i64);
  sub_7FF7D69F1240(v27, v36, v37, 4278190080i64);
  sub_7FF7D69F1F20(v27, v38, v39, 4278190080i64);
  sub_7FF7D69F1560(v27, v40, v41, 4278190080i64);
  sub_7FF7D69F1C80(v27, 360i64, v42, 4278190080i64);
  sub_7FF7D69F19D0(v27, v43, v44, 4278190080i64);
  sub_7FF7D69F17A0(v27, 440i64, v45, 4278190080i64);
  sub_7FF7D69F2870(v27, v46, v47, 4278190080i64);
  return 0;
}

 

2.2. 분석

어쨌든 중요한 함수는 위의 부분이다.

프로그램이 실행되면 플래그를 그리는 위치를 덮어서 안보이게 한 다음,

sub_7FF7D69F17A0 함수부터 플래그를 그려주기 때문에 읽을 수 없다.

그러므로 sub_7FF7D69F2B80 함수가 아무 작동도 하지 않게 바꿔버리면 플래그가 튀어나올 것이다.

 

강의에 나와있는 것과 같이 프로그램 실행 및 해당 함수의 시작 지점을 ret으로 바꿔버리면 된다.

 

3. exploit

와....

그리도 ida에서 실행해보려고 애썼는데 안되던게 갑자기 된다능...?!

난 뭐한거지...

 

728x90
반응형
저작자표시 비영리 변경금지 (새창열림)

'Wargame > Dreamhack' 카테고리의 다른 글

rev-basic-2  (0) 2023.01.19
rev-basic-3  (0) 2023.01.19
Holymoly  (0) 2023.01.12
rev-basic-0  (0) 2023.01.06
rev-basic-1  (0) 2023.01.06
'Wargame/Dreamhack' 카테고리의 다른 글
  • rev-basic-2
  • rev-basic-3
  • Holymoly
  • rev-basic-0
wyv3rn
wyv3rn
아저씨의 흔한 취미. wyv3rn#1249
  • wyv3rn
    think storage
    wyv3rn
  • 전체
    오늘
    어제
    • 분류 전체보기 (493)
      • To do list (6)
        • Doing (0)
        • Complete (6)
      • Diary (35)
      • Tips & theory (77)
      • Kernel Exploit (22)
      • Wargame (313)
        • pwn.college (34)
        • Dreamhack (148)
        • pwnable.kr (15)
        • Lord of Sqlinjection (3)
        • Cryptohack (20)
        • Root me (27)
        • CodeEngn (4)
        • Exploit Education (22)
        • ROP Emporium (8)
        • H4C (10)
        • Hackerchool (22)
      • CTF (40)
        • Solved (38)
        • Unsolved (2)
      • Script (0)
  • 블로그 메뉴

    • 홈
    • 방명록
  • 링크

  • 공지사항

    • PWN wargame 모음 (및 느낀점)
    • 비공개 글들에 대해.
    • 뭐라도 하나 얻어가시길...
  • 인기 글

  • 태그

    Buffer Overflow
    pwntools
    libc
    RTL
    root
    BOF
    ROOT ME
    dreamhack
    rop
    docker
    hackerschool
    Me
    Format String Bug
    pwnable.kr
    lob
    cryptohack
    tcache
    phoenix
    vtable
    la ctf
    CANARY
    exploit education
    32bit
    x64
    _IO_FILE
    heap
    x86
    64bit
    root-me
    FSB
  • 최근 댓글

  • 최근 글

  • 250x250
    반응형
  • hELLO· Designed By정상우.v4.10.3
wyv3rn
patch
상단으로

티스토리툴바