본문 바로가기

Write Up/CTF10

HackCTF - DNA import string string1 = ['A', 'C','G','T'] table2 = string.printable[10:62]+'1234567890' table = [] enc = ["GTC", "ATA", "ATG", "CCG", "GGA", "CTT", "GGT", "ACA", "TTC", "CAG", "AAA", "AAA", "ATT", "GGC", "TAT", "TCT"] for s1 in string1: for s2 in string1: for s3 in string1: table.append(s1+s2+s3) for i in enc: print(table2[table.index(i)],end='') rot14 2019. 7. 29.
welcome to droid 보호되어 있는 글 입니다. 2018. 2. 5.
Wandere bits write up argv로 입력값을 받으면 wapint 함수에서 연산을 한 후에 16진수 문자열로 반환된다. 처음에는 안에 연산과정을 분석해보려했는데 2진수로 바꾼후 뭘 하는지 잘 모르겠어서 변환값과 입력값이 1대1로 대응되는걸 보고 그냥 변환표를 만드는게 빠를것 같아서 표를 만들기로 했다. 처음에 A로 채워서 넣으면 2진수로 A(65)로 저장되어 있는 걸 보고 A(01000001)가 82(100000010)로 변환되길래 2진수로 바꾼후 뒤집는 줄 알았는데 B에서 바로 막혀버렸다....ㅠ 보수로도 해보고 더하기 빼기도 해봤는데도 규칙을 모르겠.... A는 82로 바뀌는데 마지막 값을 +1 해준다. A ~ Z, a ~ ~, 0 ~ 9를 집어넣어서 compare에 들어가는 값을 보면 표 작성 가능 #A ~ Z check1=.. 2018. 1. 29.
[Secuinside2017]snake 이번 문제는 지렁이 키우기 게임! 문제 제목은 뱀이지만 지렁이 키우기라 하겠음. 먹이를 하나씩 먹으면서 지렁이를 키워야 하는데 손으로 게임을 이기기엔 시간이 부족할듯? 지렁이 게임을 시작해서 함수를 타고타고 가다보면 스테이지랑 점수로 연산을 하는 부분이 나온다. print_snake에 a1은 지렁이 머리인것 같지만 중요하지 않으니까 무시하고 넘어가고, sub_4011a5로 들어가보면 첫번째 연산 과정이 나온다. 여기서 스테이지 수에 따라 연산해주고 지렁이 길이가 304이상이면 두 번째 연산과정으로 넘어간다. v15는 이 전짜기는 0이라 while문 안으로 안 들어가고 원래 v15가 1일 때 game_over, 2일 때 game_clear로 가는데 마지막 과정으로 가기 위해 임시로 바꿔놨다. 죽으면 v15.. 2018. 1. 14.