TokigunStudio obfuscation collection

이 페이지는 토끼군 작업실에 덤으로 딸려 있는, 토끼군의 엽기(?) 코드 갤러리입니다. 일반적으로 obfuscation이라는 단어는 어떤 것을 난해하게 한다는 의미로, 컴퓨터 프로그래밍에서 obfuscation은 코드를 최대한 해석 불가능하게, 그리고 코드 자체의 의미 말고도 다른 의미를 가질 수 있도록 만드는 일을 통틀어서 이르는 말입니다. 이 갤러리를 둘러 보시면서 obfuscation의 재미를 느끼실 수 있길 바랍니다. :)

이 페이지에 수록된 모든 프로그램은 토끼군 강 성훈에게 그 저작권이 있으며 직접적인 출처(2차 출처는 허용하지 않습니다)를 밝히는 전제 아래 자유로운 배포, 전재, 사용, 수정을 허용합니다. (대부분의 코드는 따로 명시하지 않는 한 GNU GPL을 따른다고 보셔도 좋습니다.)

난해한 프로그래밍 언어(Esoteric programming language)에 대해서 찾고 계신다면 여기보다는 별도의 페이지를 찾아 보시길 바랍니다.

최근 소식

2005

[07/xx] Angolmois

2005.7? | C, SDL | Working in progress...

SDL 기반의 BMS 플레이어로, 최소한의 코드로 최대한의 기능을 뽑아 내는-_- 것을 목표로 하고 있습니다. 코드는 거의 완성되었으며 7월 안에 공개할 예정입니다. 자세한 것은 공식 홈페이지를 참고하세요.

[06/20] 99 Bottles of Beer in Whirl

2005.6.20 | Whirl | 99bottle.wr

Whirl로 만든 99 Bottles of Beer 프로그램입니다.

[06/17] Whirl 인터프리터와 유틸리티 (revision 3)

2005.1.6, 2005.1.8, 2005.6.17 | C | whirl.c, whirl.exe / whirlutil.c

0과 1로만 이루어져 있는 아주 골 터지는-_- 프로그래밍 언어인 Whirl의 인터프리터와 보조 유틸리티입니다.

[05/23] CikiWiki

2005.5.23 | C | cikiwiki.c, readme.txt

CikiWiki는 CGI 기반의 작은 위키 구현으로, IOCCC 2005에 제출하기 위하여 만든 프로그램입니다.

[03/17] Fractal Tree

2005.3.17 | Python, pygame | fractaltree.py(simple,slow), fractaltree.zip

난수를 사용하여 랜덤하게 나무 이미지를 만들어 내는 파이썬 프로그램입니다.

[01/28] Kenny Translator (Kennifier)

2005.1.28 | C | kenny.c

평범한 문자열을 TV 애니메이션 시리즈 South Park에 나오는 캐릭터 Kenny의 언어로 변환해 주는(Kennify라고 합니다) Kenny 모양의 프로그램입니다.

[01/17] "Hello, world!" in NULL

2005.1.17 | NULL | helloworld.nul

하나의 숫자로만 이루어진 프로그래밍 언어-_-;; NULL로 만든 "Hello, world!" 프로그램입니다. 이 프로그램은 사실상 처음으로 만들어진 NULL 코드이기도 합니다.

[01/12] Text2PNG

2005.1.12 | php4/php5 | text2png.php

gd 라이브러리와 같은 외부 라이브러리 없이 입력받은 문자열을 순수 php 코드만으로 png로 변환해서 출력하는 작은 유틸리티입니다. 스팸메일 방지 등 여러 용도로 사용할 수 있습니다.

[01/07] "Hello, World!" in Whirl

2005.1.7 | Whirl | helloworld.wr

Whirl로 만든 "Hello, World!" 프로그램입니다. 이미 홈페이지에 올라 와 있던, 2만 번 이상 명령을 수행하는 버전에 비해, 이 프로그램은 1,350 개의 명령만 수행합니다.

2004

[12/28] MD5 Calculator

2004.12.28 | Befunge-98 | md5calc.bf

아주 엄청난 속도(..)를 자랑하는, Funge로 만든 MD5 계산기입니다.

[12/24] TinyP2P 1.1 (토끼군 버전)

2004.12.24 | Python | tinyp2p.py

파이썬 기반의 15줄짜리 P2P 프로그램인 TinyP2P의 9줄짜리 버전입니다.

[12/08] Whitespace 0.3 Implementation

2004.12.8 | Python | tenma.py

공백 문자(whitespace)로만 이루어진 프로그래밍 언어인 Whitespace 0.3의 완전한 인터프리터와 몇 가지 툴입니다. 코드 모양은 스쿨 럼블(School Rumble)의 츠카모토 텐마(塚本天満)에서 따 왔습니다.

[12/05] UNIX Timestamp 변환기 (revision 2)

2004.8.2, 2004.12.5 | Befunge-98 | timestamp.bf

UNIX Timestamp를 인자로 받아서 거기에 해당하는 날짜와 시각을 출력하는 간단한 유틸리티입니다.

[12/01] 파이썬 convert_base() 함수 (revision 2)

2004.6.27, 2004.12.1 | Python | convertbase-rev2.py

php의 base_convert 함수를 본따서-_- 만든 간단한 파이썬 진법 변환 함수입니다.

[11/29] Brainf*ck 인터프리터 함수

2004.11.29 | Python | msvcrt(win32), curses(*nix) | brainfuck-msvcrt.py, brainfuck-curses.py

Brainf*ck 인터프리터를 구현하는 무지 간단한 함수입니다. 버퍼 없는 입출력을 지원하기 위해서 운영체제 종속적인 모듈을 사용합니다.

[11/10] Binary-Character Converter

2004.11.10 | Befunge-93/98 | bin2char.bf

이진 시퀀스를 문자로 변환해 주는 간단한 프로그램입니다. LikeJAzz 님 글에 올릴 댓글에 써 먹기 위해서 만든 프로그램입니다.

[08/04] 16진법 원주율 계산기

2004.8.4 | Python | pihex.py

16진법 원주율을 무한히 계산해 주는 프로그램입니다. 재귀 호출을 사용하며 시간이 지나면 자연스럽게 파이썬이 자동으로 재귀 호출을 차단하기 때문에 적당한 수준에서 끊깁니다. -_-;

[06/17] tkbf93: tokinized befunge-93 interpreter

2004.3.24-2004.6.17 | C | tkbf93-0.20.c

제가 아는 한에는, c 코드로는 가장 짧은 Befunge-93 인터프리터입니다.

[05/14] rule 30 RNG (Random Number Generator)

2004.5.14 | Befunge-93/98 | rule30.bf

Funge 내부의 ? 명령을 전혀 사용하지 않고, rule 30 오타마타를 사용해서 구현한 난수 생성기입니다.

[05/05] 세벌식 자판 입력 변환기

2004.5.5 | Befunge-93/98 | sebeol.bf

정확하게 말하면, 내부에 미리 저장되어 있는 세벌식 자판 입력을 유니코드 문자로 변환해서 출력하는 프로그램입니다. 따라서 이 프로그램이 출력하는 결과는 항상 일정합니다만, 간단한 방법으로 출력할 문자열을 고칠 수 있습니다.

[03/21] 로또 번호 생성기

2004.3.21 | Befunge-93/98 | lotto.bf

로또(정확히는, 한국의 로또 6/45) 숫자를 생성해 내는 유틸리티입니다. 서명으로도 사용됩니다.


지금은 글을 남길 수 없고 이미 남겨진 걸 볼 수만 있습니다.

2005/11/04 06:57:51

↓ 사실 주민등록번호 체계가 한 번 정도는 완벽하게 바뀔 필요가 있다고는 생각함... --토끼군 2005/08/08 17:49:37

주민번호 생성기라;; 전에 Q베이직으로 주민번호 검사기 만들고
배치프로세싱으로 검사기를 이용한 생성기를 만들었던 기억이 나는군 =ㅅ=;;
물론 그게 있던 하드는 날라갔지만...OFL 2005/08/07 01:50:48

azurespace: 그래서 곧 커다란 거 하나 선보일 예정 -_- --토끼군 2005/07/01 12:13:41

오늘도 똑같은 말을 남기게 되겠네. '쓸데없는 코드들이 점점 늘어나고 있어'

하긴 뭐, 그게 묘미니까. 하지만 쓸모 있는 obfuscation도 많이 있다구 -_-;; - azurespace 2005/07/01 00:29:18

↓ 뭐 그 정도야... --토끼군 2005/06/23 19:45:29

누가쓴건지 도저히 모르겠심 2005/06/23 15:44:39

디토: 신원이 확실하고 믿을 수 있다면 무시합니다. (도망간다) --토끼군 2005/04/30 13:17:24

cppig1995: *공개해 달라는 요청 한 번만 더 하면 죽여버립니다-_-_-* 라는군요. ~_~;; --디토 2005/04/28 19:15:19

Thanks - cppig1995 (Windows, Kor IME ERROR T.T) 2005/04/20 21:07:52

주민등록번호 생성기 구합니다.

cppig1995@gmail.com --- "소스코드 분석용"입니다. 2005/04/16 13:05:27

감사합니다 :) --토끼군 2005/04/13 10:40:10

정말 멋진 코드가 많군요 구경 잘 하고 갑니다 2005/04/10 17:16:28

정말, 언제 봐도 쓸데없군. - azurespace 2005/03/07 20:27:01

접니다. ㅋㅋ 2005/02/11 12:19:19

↑이 위에 누굽니까=_=ip 기록됩니다 2005/02/11 12:18:39

돈주세여 2005/02/11 12:17:30

↓ 이 아래 누굽니까=_= ip 기록됩니다. --토끼군 2005/02/10 16:40:17

토끼군 사랑해요. 쿨럭..-_-;; 2005/02/10 16:36:20

하는 김에 자동 링크 기능도 만들었습니다. 예를 들면 http://tokigun.net/처럼... :) --토끼군 2005/02/10 16:32:15

사용자 의견 란을 만들었습니다. 많이 이용해 주세요... :) --토끼군 2005/02/10 16:23:12

Copyright © 2004-2005, Kang Seonghoon (Tokigun). All Rights Reserved.
Permanent Link: http://page.tokigun.net/obfuscation/_/index.php
Last updated on July 12, 2005. Valid XHTML 1.1 Valid CSS 2