Childhood coding fun
Here’s a list of study programs I’ve worked on since 1991.
They might seem small or simple, but each one helped shape me into the developer I am today.
* Not
all the demos include source code.
Contents
* File Unlocker
Sometimes there are files which cannot be deleted, because of some application
that opens and still uses them. This finds out the processes that opened the
files, and forces to close the opened file handles. So you can remove the files
in result. But, you must be notified that to force to close the file handle
from another application, can cause undefined critical problems to the
software.
* Running Module Lister
Displays all the system processes with paths and internal modules with
reference counter. You can see what the process owns(loads) what modules. If
you need to replace or delete some DLL and it is being used by some other
application, you may want to know what the process has it. You can find the
information from the display output. This uses the standard console, so you can
redirect the output into the file.
* ProEngineer Wildfire's protk_unlock.exe
Cracked wait-time from 15mins to 3secs.
* Keyboard Typer 1.0
Even until now, some DOS applications require step-by-step input from user for
menu handling. This is useful for that case. It types a text in any software.
|
Process
Raker 1.0 프로세스들을 한번에 정리 하고자
할 때 사용한다. 웜바이러스나 여러가지
이유로 알 수 없는
프로세스들이 생성되거나, 죽일 수 없는
프로세스들이 있는 경우 깔끔하게
정리할 수 있다. 단,
바이러스에 의한 프로세스를 제거하는
경우, 이것을 이용하는 것은
임시방편일 뿐이므로, 반드시 백신을 통해
레지스트리나 하드디스크에서 완전히 제거하여야 한다. console용이며 실행하면 다음과
같은 메시지가 출력된다: Process
Raker 1.0, jhkim/GEOMania.com usage:
C:>rake.exe {authorized_process_list_file} {c|r} C:>rake.exe
list.txt c ; 현재 프로세스 목록(list.txt)을
생성한다. 태스크메니저에서 안보이는것들도 포함된다. *
list.txt는 인증된 프로세스 목록??/span>
의미하므로, 불필요한 프로세스들을 notepad등을 통해 삭제한다. C:>rake.exe
list.txt r
; 인증된 프로세스목록에 포함되지 않는 모든
프로세스를 강제 종료 시킨다. 태스크메니저에서 종료되지 않는 서비스등의
프로세스도 강제종료되므로 주의하여야 한다. |
1999년 컴퓨터 학술
동아리 '씨애랑' 정기 전시회 출품작 Recommended:
P2 400Mhz with 64Mb Memory, 16Bit Soundcard, OpenGL accelerator on Win98 and
WinNT 4.0 [Click
the picture for detailed information] |
1998년 컴퓨터 학술동아리 '씨애랑' 정기 전시회 출품
작 시스템 권장 사양: Pentium 100Mhz 이상, 32Mb Mem 이상, 16Bit
SoundCard |
|
AURA(Audio Rapper) -
Realtime Sound Mixer
1999년 컴퓨터 학술동아리 '씨애랑' 정기전시회 출품 작 AURA에 대한 자세한 설명이 있는 PDF 자료 (White Paper) |
|
Robot - 프로그래밍의 첫 개념을 위한 교육용 인터프리터
한림대학교에서 C를 배우는 '컴퓨터 프로그래밍 I' 과목의
첫 시간에 이것을 사용했었다.
|
|
Xkin - Internet
Explorer를 위한 Skin 소프트웨어
[여기]를
눌러 바로 XKin을 실험해 보실
수 있습니다. 주의하실 것은, 누르기 전에 Explorer의
보안레벨을 최하로 설정해 놓아야
한다는 겁니다. (시간상 아직 safety 설정을 하지 못했거든요) *
Netscape는 지원하지 않습니다. |
|
2000년 LiquidNet - 멀티 프로세서 지원 비동기 네트웍 통신 모듈 설명: LiquidNet은 TCP/IP를 지원하며 비동기로
동작하도록 설계되어 있다. 멀티 프로세서를
지원하여 효과적으로 네트웍 이벤트를
감지하도록 설계되어 있다. LiquidNet은 Win32 platform에서 동작하며, 현재 NT 5.0(Win2000) 이상의 platform 전용으로 서버용 모듈(LiquidNetHP)을
제작중이다. 이것은 NT 5.0 이상의 시스템에서 제공하는 I/O Completion Port 모델을 적용시켜
오직 시스템의 성능만이 동시접속수에
영향을 주게 된다. LiquidNet - 응용한 파일 전송 모듈 설명: LiquidNet을 이용하여 원거리에
비동기로 파일을 전송 가능한
모듈. 예측하지 못한 상황으로
비정상적인 연결종료가 있었을 때
끊어진 부분부터 다시 전송
하는 기능 지원. |
No
image prepared.
|
2000년 SMLL - Simple Memory Leak
Locator 설명: C/C++ 프로그래밍시 할당한 메모리의 부적절한
해지나 실수로 해지하지 못한
상황을 발견해 주는 간단한
도구임. 자세한 설명: 기존 C/C++의 문법을 그대로
사용하실 수 있습니다. ?六?/span> 함수: new, new[], delete, delete[], malloc(), calloc(),
realloc(), free() 함수들을 평소대로 사용하시면 됩니다. 어디에서 선언한 변수가 제대로
해지하지 못해 얼마만큼의 크기가
낭비되었는지를 알려주고, 적절치 못한 해지를
시도했을 경우 어디서 선언한
것을 어디서 해지하려 했으며
적절한 해지방법은 무엇이었는지, 이미 해지되거나 할당되지
않은 포인터를 해지하려 했을
때 등의 정보를 알려줍니다. Multi-thread환경에서도
적절히 돌아갈 수 있도록
설계되어있습니다. 다만 문제는 MFC의 몇 macro와 충돌을 일으키는데, 이것을 해결하지 못한 상태로, 저와 비슷한 작업을 하는 Simon P. Bullen 이라는 사람이
작성한
Fortify 2.2라는 도구도 같은 에러가
발생해 문의를 해 놓은
상태입니다. 하지만 지금 것도 MFC를
사용하지 않는 프로그램이나 MFC에서 몇 가지 macro를
제외한 곳에선 잘 돌아갑니다. 실행환경: Visual C++
5.0 이상 |
No
image prepared.
|
1998년 설명: 학생들의 성적을 관리해
주는 실험용 프로그램. 인터페이스는 DOS 시절에 유명했던 Borland C++의 IDE와 동일하게 구성했다. 특히
Borland사의 풀-다운 메뉴는 멋있기로
유명했는데, 그것과 동일한 기능을
하는
pulldown 라이브러리를 제작하여 적용했다. <컴퓨터 학술 동아리 '씨애랑' 정기 전시회 출품
작> 실행환경: MS-DOS 5.0 이상
정말 BC와 닮았죠? 특히
메뉴처리기를 구성하는데 수개월 고생했답니다. |
|
1997년 Anti-Aliased Image
Stretcher Using Bi-linear Interpolation 설명: 이미지를 확대할 때
발생하는 모자이크 현상(Pixel-Aliasing Effect)을 제거하기 위해
이미지를 선형보간한다. <컴퓨터 학술 동아리 '씨애랑' 정기 전시회 출품작> 실행환경: MS-DOS 5.0 이상 제작환경: Borland C++
3.1 실행방법: C:\>lz
orchid.pcx
|
|
1996년 Software-Exhibition
Introducing Software 설명: 대전 엑스포에서 엑스포를
소개해주는 소프트웨어를 본적이 있다. 그것을 본
딴 것으로, 동아리에서 개최한 소프트웨어
전시회를 소개하는 안내 소프트웨어를
제작한 것이다. 프로그램을 종료할 수
없도록 만들었다. Ctrl+Alt+Del키로 웜 부팅도
할 수 없도록 만들어
놓았다. (윈도우즈에서는 종료가능) 실행환경: MS-DOS 5.0 이상, Standard VGA 제작환경: Turbo Pascal
6.0
|
|
1996년 Technical Graphics Programming
Demo 설명: 고등학교때 'Future Crew'나 'Complex'등 특히 유럽인들의
활동이 두드러지는 Contest가 있었다. 그 Contest는 특수한 그래픽과
환상적인 사운드를 자랑하는 Demo 프로그램들의 대회였다. 특이한 것은 계속되어지는
특수한 그래픽화면이 모두 C나 Assembly로 작성되어진 실시간 Renderer로
만들어지고 있다는 것이었다. 사운드도 실시간인건
마찬가지다. 이 대회는 전
세계의 젊은 프로그래머들을 대상으로
자신(그룹)들의 실력을 신선하고
독창적인 아이디어와 그래픽, 사운드를 통해
마음껏 펼치는 공간이었다. 유명한 Contest에는 'Party' 시리즈와 'Assembly' 가 있으며 매년
열리고 있다. (유사한 Contest들도 많이 있다.) 현재는 GUI가
기본인
Windows의 시대가 도래해, 많은 것이
부족했던 DOS시절에 온갖 기술들로
묘기를 부려야 했던 때와는
달라, 그런 무수한 테크닉들이
필요없게 되어 버렸지만 아직도
많은 사람들은 그때의 흥분되던
시간을 기억한다. 본인도 너무나 그것을
해보고 싶어서 부족한 실력으로 Demo를
만들어 보았다. <컴퓨터 학술동아리 '씨애랑' 정기 전시회 출품> 실행환경: MS-DOS 5.0 이상, Standard VGA 제작환경: Turbo C++ 3.0,
Turbo Pascal 7.0 실행방법: C:>rundemo 같은 의미로 1997년에 Sound를 첨가한 간단한 Intro 프로그램을
만들었다.
<컴퓨터 학술동아리 '씨애랑' 정기 전시회 출품> 실행환경: MS-DOS 5.0 이상, Standard VGA,
SoundBlaster 2.0 이상 제작환경: Turbo C++ 3.0
|
|
1996년 External-QuickSort
For A Lage Data Using PVM(Parallel Virtual Machine) 3.0 on ATM (155Mbps)
Network 설명: 1학년때 고성능 통신
연구실에서 분산처리를 실험한적이 있었다. 그 대상으로 엄청난 규모(목표
1GB)의 데이터를 정렬하는 것으로
하였다. 실제 실험은 40MB의 데이터를 가지고
했다.
FreeBSD에서 PVM을 이용해 그
당시 괜찮은 시스템이었던, Pentium
166Mhz(64Mb Mem)두 대를 가지고 실험을
했는데, 로컬 네트웍이었지만 두
시스템간에 전송되는 자료가 너무
커 전송속도가 병목이 되었다. 병목을 없애기 위해 ATM 장비를 연결하였다. 그러나 결과는 약
120% 성능향상이 있었을 뿐이다. 실제적으로 150%를 넘기기를 기대했었다. |
No
image prepared.
|
1994년 TinyShell 2.20 - A
Shell Program For The Executables 설명: DOS 시절의 컴퓨터 초보
사용자를 위한 작은 유틸리티로써, 어디서든 'T'만 입력하면 현재
디렉토리나 지정 디렉토리의 실행
가능 파일들만 보여 주며 , 그중 하나를 선택하면 프로그램을
대신 실행해 준다. 실행시 메모리를
전혀 차지 하지 않으며
실행전 자동으로 백신 프로그램을
이용해 바이러스 검색을 해주기도
한다. 인터페이스가 당시 유행하던 Norton Utility 와 같아 매우
깔끔했다. <PC-WORLD 1994년 3월호에 소개> 제작환경: Turbo Pascal
6.0
|
|
1992-1995년 당시 본인이 알고
있는 거의 모든 기술들을
총 집합한 프로그램임. 시스템의 각종 정보
얻기, 빠른 화면 출력속도(주로 스크롤 속도)를 위한
최적화된 비디오 제어 코드, QuickSort등
각종 알고리즘 및 효과적인
자료구조 설계, 명령행과 초기화 파일 Parsing 등
알고 있는 기술들을 모두
적용했습니다. 설명 (포함된 도움말 중):
'돋보기'는 꼭 필요한
알짜배기 기능과 몇 가지
색다른 기능을 내장한 편리하며
속도도 빠른, DIR 대체 유틸리티입니다. 특징은 이와 같습니다. 첫째, 출력 속도가 빠르다. 일반적으로 Dir보다 빠른 속도를
내며 파일의 갯수가 100여개 이상일 경우 Dir과는
현격한 속도의 차이를 보입니다. (실예:
CD-ROM의
1057개 파일목록 출력시 Dir은 평균 8.3초, 돋보기는 평균 1.2초의 기록. 단, 기록은 시스템에
따라 달라질 수 있음. 테스트기종: 2배속 CD-ROM Drive,
486DX2-50, OAK VGA) 둘째, 간단한 지우기, 보기 기능이
지원된다. 셋째, 자동 판별 실행
기능이 지원된다. 넷째, 간단한 Shell을 내장하고 있다. (생략) 자세한 도움말은 다운로드하여
포함된 도움말 파일(dbginfo.txt, 조합형)을 보십시오. 제작환경: Turbo Pascal
6.0
돋보기 초기버전
|
|
1993년 전시회
안내
프로그램 설명: 고등학교 1학년 학교 축제
때 전산부에서 전시회를 열었다. 그 때 우리 동아리와
축제에 참가하고 있는 다른
동아리들을 소개하는 프로그램이다. 프로그램을 종료하려면 Scroll Lock을 On시키고 'Q' 키를 누름. 제작환경: Turbo Pascal
6.0 실행환경: Standard VGA
|
|
File
Allocation Unit 때문에 낭비되는 디스크 용량을
통계 내어 준다. |
No
image prepared.
|
디스크에서 모든 불필요한
파일들을 확장자로 구분하여 삭제
해준다. 파일의 타입은 사용자가
정의할 수도 있다. |
No
image prepared.
|
FreeBSD에서 login 할 때마다 항상
보여지던 각종 격언들을 DOS로 그대로 porting 한 것이다. FreeBSD의 데이터를 DOS에서 그대로 사용할
수 있다. FreeBSD에서 사용되는 매우
방대한 격언이 담긴 문서를
당시의 작은 메모리 용량으로
읽어들일 수 없?該?/span> 때문에, 별거는 아니지만, 전체 내용에서 임의의
위치에 있는 내용을 빠르게
뽑아내어 보여주는 루틴이 중요했음.
|
No
image prepared.
Reverse Engineering
l CAITA CAA V5 R9 GA:
JS0GROUP.DLL cracked
l IntelliSuite /
IntelliFab 7.3 cracked
l Fish Screen saver
(cracked)

위 사진은
아시는 분들은 다 아는
스크린 세이버다. 너무나 사실적이어서 바로
다운받았지만, 데모버전이었고 그래서 중간에서
조금 오른쪽에 있는 노란
물고기 한 마리만
화면에서 헤엄쳐 다니고 있었다.
너무 이뻐서 사고 싶었다.
그러나 약 20달러가 주머니에 없던
터라 한번 크랙을
시도해 보았다. softice와 win32역 어셈블러
그리고 바이너리 에디터를 사용하였고, 20 달러짜리 디럭스버전으로 크랙하였다.
l Lemmings 1 (unlock),
1992
Lemmings
===--- UnProtect
* 사용방법
먼저 주위의 레밍스게임을 소지하고있는 누구에게나 3장의 원본을 복사하
십시오. 이 프로그램은 키 디스켓 프로텍트는 깨지 않기 때문에 하드디스크
가 있어야 하고 복사시 COPYWRITE와 같은 특별한 유틸리티 필요없이
PCTOOLS와 같이 기본적인 복사프로그램으로 복사하여도 좋습니다.
1번 디스크에있는 INSTALL.EXE프로그램을 실행시켜서 자신의 하드디스크에
설치한 후 실행해 보십시오. 아마 A드라이브를 읽다가 도스로 빠저 나올것
입니다. 빠저 나왔으면 설치한 디렉토리에다가 이 프로그램을 복사하고 실
행 시키십시오. 그후 다시 레밍스를 실행시키면 A드라이브를 읽지 않을것
입니다.
l Little
Big Adventure(LBA) : Saved Data Editor (edits character's
properties), I used Turbo Pascal 6
고등학교 시절에 했던
오래전 게임이라 기억하는 사람이
있을지 모르겠지만, 당시 PC용으로는 상당히
고품질의 3D 어드벤처 게임이었으며 그
시초격이었다. 상당히 아기자기하고 깔끔했던
게임이다.
이 게임에서 유리한 상황을
만들어 보고자, 저장된 바이너리 데이터 파일을 PCTOOLS를 이용해
분석하였고,
그 과정에서 찾아낸 설정값들을
쉽게 변조하고자 프로그램을 제작하였다. (당시 이러한 프로그램들이 유행이었다.)
아래 프로그램으로 데이터를 수정하면, 절대 죽일 수
없??/span> 것 같았던
코끼리도 한방에 죽일 수
있었다!



Something more trivials :)
Numerical
BaseBall Game (JAVA Applet)
배경음악과
효과음이
있습니다.
아래
프로그램들은 Basic으로 처음 프로그래밍을 접할 때 만들었던 것들을 간추려 놓은 것입니다.
디스켓 매거진 - 많은 디스켓들을 관리해 주는 데이터베이스 프로그램
*
A: 드라이브의 디스켓에 데이터베이스 파일을
생성하는 화면

*
DM의 처음 화면

*
메뉴 방식을 지원함

그래픽 에디팅 프로그램

피아노 프로그램 - 음악을 연주하고 기록할 수 있다
*
기본 옥타브 설정 화면

*
기본 화면

경마 게임 - 말에 돈을 걸고 내기를 할 수 있다
*
말들이 달리는 장면 (원래 박스형태인데, W2k에서 T자로 보이네요..)

*
게임이 끝난 결과
화면

별 의미 없는 타이머 프로그램
1991년경 베이직을
배우는 초반에 그냥 만들어본 (거의) 첫 번째
나의 습작.
하지만 간단한 몇
가지 게임도 지원되고, 프로그램의 로직을
많이 익히게 했던 프로그램.

중학교때라 영어가…