Constant(438)
-
lyl -3부
1부에서는 큰 틀을 잡았으며 2부에서는 큰 틀을 잡으면서 놓칠만한 것들을 꼼꼼히 살펴봤다. 이번 3부에서는 1부 2부를 총 정리하면서, 암호화 로직을 그대로 코딩해보자. Enumeration Dummy Value Case 0 ~ A : Default Hardcode Data [Unicode] Case 음절 닐 Case 어절 늴 Logic 2바이트 (한글)을 입력받는다 프로그램 속 로직을 거친다. 라운드는 3라운드로 구성되어 있다. 암호화 로직은 이해하려고 노력하지 않았다. 개발자 마음이다. 1라운드 : 입력되어진 2바이트를 이용하여 암호화를 진행 한다. 종종 하드 코딩된 값을 연산에 사용하기도 한다. 모든 음절을 처리할 때까지 반복 수행한다. 2라운드 : 3라운드로 진입하기 위한 임시 변수를 만든다. 해..
2020.04.30 -
lyl -2부
1부에서는 코드를 작성하기 위해 세분화하는 작업을 했다면, 2부에서는 1부에서 다루지 못한 세부적인 사항들을 들여다보는 작업을 진행한다. 어셈블리어를 이해하고 있다면 보기에 편하다. 어셈블리어 하나하나 설명하기엔 너무 noisy라 배제한다. 1부에서 언급한 'ㄹ'이 출력되는 이유에 대해 알아보고 넘어가자. 여러 가지를 입력하면서 규칙성이 있는지 파악해보자. 양, 수의 경우 릘로 나와서 오 첫 번째는 무조건 릘인가? 할 수 있었지만 휴를 테스트해보니 릘릴이 나왔다. 그렇다면, 1부에서 놓친 부분 즉, 상세한 분석을 좀 더 진행해야 한다. 한글을 세분화해서 프로그래밍을 해두지 않았을까? 하는 고민을 잠시 해볼 만 하지만, 1부의 연산과정을 보면 단독 초성으로 작업하지 않는 것은 확인해둔 상태이다. 연 : ㅇ..
2020.04.30 -
lyl -1부
외국 생활하다 심심하여 오랜만에 오픈 채팅방에 들어갔다. 재밌는 바이너리를 올려주신 분이 계셔 분석을 해보았다. 해당 바이너리는 대전과학고 36기 Cy(이브이)님이 작성하셨다. 1. 계기 이유는 단순하다. 괴롭히기 위함이다. 잔인한 사람이었다. 2. 동적 분석 환경 : EXE (64bit) Option 1 . 릴어를 한글로 번역 Option 2. 한글을 릴어로 번역 Option 3. 종료 제한 사항 : 단독 초성/종성 또는 문장부호는 현재 지원하지 않음. * 특정 인덱스 이후 'ㄹ' 과 '닐'이 적힘을 확인할 수 있다. 3. 정석 분석 모든 분석은 x64dbg를 통해서만 이루어진다. Enumeration Main 함수 시작 주소 : 0x7FF7DE071450 암호화에 진행 되는 주요 연산 : shr, s..
2020.04.30 -
syscall 직접 만들어보기
보호되어 있는 글입니다.
2020.04.18 -
HexionCTF XOR - Crypto
대회 끝나고 풀긴 했지만, 나름 재밌게 풀었다. 1. Concept XOR Encrypt -> XOR Decrypt 2. Source Code Analysis from random import choice, randint from string import ascii_letters from itertools import cycle key = ''.join([choice(ascii_letters) for i in range(randint(8, 16))]) with open("flag.txt", "r") as file: flag = file.read() key_gen = cycle(key) data = [] for i in range(len(flag)): data.append(chr(ord(flag[i]) ^..
2020.04.18 -
cmd3
보호되어 있는 글입니다.
2020.04.04