TUCTF Faker Write Up

CTF 중점 스터디

2019. 12. 8. 15:19

작성자: 지현근

IDA를 통해 ShowFlag 함수를 살펴보면 "\\PJ\\fC|)L0LTw@Yt@;Twmq0Lw|qw@w2$a@0;w|)@awmLL|Tw|)LwZL2lhhL0k"

누가봐도 플래그를 암호화 시킨 문자열을 제공해준다.

 

이후 조금만 더 분석하면 암화화 시키는 로직을 발견할 수 있다.

대충 복구시켜 돌리면 플래그가 나온다.

#include <stdio.h>

int main(){
    printFlag("\\PJ\\fC|)L0LTw@Yt@;Twmq0Lw|qw@w2$a@0;w|)@awmLL|Tw|)LwZL2lhhL0k");
    return 0;
}

void printFlag(char *param_1){
  char *__dest;
  size_t sVar1;
  int local_30;
  
  __dest = (char *)malloc(0x40);
  memset(__dest,0,0x40);
  strcpy(__dest,param_1);
  sVar1 = strlen(__dest);
  local_30 = 0;
  while (local_30 < (int)sVar1) {
    __dest[local_30] = (char)((int)((((int)__dest[local_30] ^ 0xfU) - 0x1d) * 8) % 0x5f) + ' ';
    local_30 = local_30 + 1;
  }
  puts(__dest);
  return;
}

TUCTF{7h3r35_4lw4y5_m0r3_70_4_b1n4ry_7h4n_m3375_7h3_d3bu663r}

'CTF 중점 스터디' 카테고리의 다른 글

Protostar heap1 Writeup  (0) 2019.12.09
Pwnable.kr asm Write-up  (0) 2019.12.08
N00bCTF_very ezzzzz!!_정세인  (0) 2019.12.01
protostar_heap0 Write_up  (0) 2019.12.01
Wargame.kr_tmitter_Write up  (0) 2019.12.01