본문 바로가기

쓰기

코드파인드를 위한 기초지식 Vol. 1



기계어


컴퓨터가 이해할 수 있는 유일한 언어. 사람이 짠 프로그램 소스는 일종의 번역기에 의하여 기계어로 번역되어지고 컴퓨터는 이것을 실행하게 된다.




프로그램


일반적으로는 함수의 집합체라고 한다. 여기서 말하는 함수는 수학의 함수와 동일한 의미라고들 하지만 정작 설명하는 나도 수학의 함수의 의미를 잊어버렸다.

따라서 프로그램에서 말하는 함수에 대해 말하자면 어떤 모종의 기능을 가지는 일종의 장치라고 생각할 수 있다. 프로그램은 이런 제각각의 기능을 가진 함수들이 모여 어떤 특정한 작업을 수행한다고 생각하면 된다.

우리가 일반적으로 하는 게임들 역시 프로그램이다.

이들은 무수히 많은 함수를 가지며 그 기능들 역시 모두 제각각이다.

가령 단순히 이런 식으로도 생각을 할 수 있다.

대사의 출력을 담당하는 함수가 있다면 선택지의 출력을 담당하는 함수도 있을 것이다.

또한 한글자씩 문자를 출력하는 기능을 가지는 함수가 있다면 문장 전체를 통채로 출력하는 기능을 가지는 함수가 있을 수도 있다.




어셈블리어


기계어는 일반적으로 0과 1이라고 하는 2진수에 의해 구성되어진다. 이것을 그나마 사람이 알아볼 수 있도록 기계어와 1대 1로 매칭하는 언어가 바로 어셈블리어다.

기계어와 어셈블리어는 재차 말하지만 1대 1로 정확히 매칭되며 이를 통해 사람으로서도 어느정도는 프로그램의 구동원리를 직접 확인 할 수 있다.

많은 코드파인더 지망생들은 이 어셈블리어를 직접 혹은 간접적으로나마 겪어보았을 것이다.

바로 올리디버거(Olly Debugger)에 의해 게임을 열거나 접근할 시 보게되는 프로그램 소스가 바로 어셈블리어이기 때문이다.





프로세스


기본적으로 OS상에서 프로그램이 실행될 시에 컴퓨터의 주 메모리에 프로그램이 올라가게 되고 그것이 실행되어진다. 이를 우리는 프로세스라 부르며 다시말해 실행중인 프로그램을 의미한다.




프로시저


프로그램이라고 하는 것은 기본적으로 스텝 바이 스텝방식의 실행이다. 즉 한단계씩 쭉 실행해 간다는 것인데 무수히 많은 줄의 프로그램 명령이 존재한다면 그 한줄 한줄을 차례차례로 실행하는 것이 프로그램이 구동하는 핵심적인 방식이다.

프로시저는 이런 명령어를 실행시키는 실행기다. 코드를 한줄 한줄 실행하며 그것을 처리한다.

당장 개념이 잡히지 않는다 할지라도 앞으로의 강좌를 본다면 곧바로 이해할 수 있을 것이다.




메모리


PC환경을 구성하다보면 기본적으로 CPU와 메모리에 대한 중요도를 우선적으로 언급받기 마련이다. CPU를 작업자라고 하면 메모리는 작업공간이다. 메모리라고 하는 작업공간에서 CPU라고 하는 작업자가 주어진 일(프로세스)을 처리(프로세싱)하게 된다.

따라서 메모리가 없이는 현존하는 PC 구동 이론은 성립되지 않는다.





조회 수 :
22909
등록일 :
2010.02.01
02:34:45
엮인글 :
https://arallab.hided.net/1076540/b02/trackback
게시글 주소 :
https://arallab.hided.net/board_lecture/1076540

이드도둑

2013.04.13
16:47:49

음 기초가 역시 빡시군요..ㅎㄷㄷ

Shana

2010.02.01
02:49:57

...................... ???

알수가없어 ㅠㅠ

Hide_D

2010.02.01
02:59:18

이것을 제대로 이해한다면,

프로그래밍이나 해킹(..)을 취미로 노려보는 것도 나쁘지 않아요 ㅇㅇ

G2m

2010.02.02
13:50:54

ㅠㅠㅠㅠㅠ

카즈냥

2010.02.01
06:35:03

오오 굳!

우리사랑

2010.02.10
23:18:57

시간나면 보고 따라해보아도 괜찮을 듯!

아크트루스

2010.02.23
18:46:34

쩝 기본지식이라기에 들어봣더니 아는내용?!

....

 

유현

2010.08.15
03:21:04

기초부터 다지라는...;

엔하

2011.01.13
21:35:15

좋아 이번 겨울 코드파인더 탄생에 도전해보겠습니다.

다음은너랑께

2011.06.05
00:01:33

프러시저가 컴파일러랑 같은 개념인가요?

Breaker

2011.09.09
23:47:39
한번 제대로 배워 봐야겠네요 .. ㅎㅎ.

Sugisaki

2011.10.08
22:38:17
머리가 굳어가는군요.. 덴장...

면갤덕후

2012.12.07
00:02:10
미연시 하려다가 프로그래머 됨 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
List of Articles
번호 제목 글쓴이 날짜 최근 수정일 조회 수sort
공지 아랄트랜스로 게임하기 앞서 기본 셋팅 확인하기! [4] file TwoComet 2012-08-30 2014-02-26 20:12 40448
공지 아랄트랜스 - 초보자 가이드 [94] file Hide_D 2008-07-16 2015-02-27 18:02 319282
공지 모든 플러그인, 필터 안내 ('09.03.13) [20] Hide_D 2008-10-31 2009-03-13 23:48 191327
공지 아랄트랜스 0.2 - 초보자 가이드 [109] file 아랄 2008-07-16 2013-12-31 09:32 505782
137 진연희무쌍 실행 오류 해결법 [2] 야마네코 2008-12-29 2009-01-03 21:34 23029
» 코드파인드를 위한 기초 지식. [13] G2m 2010-02-01 2013-04-13 16:47 22909
135 비스타 AralContext 먹이기 .. [2] 북극 2009-03-01 2009-03-19 14:45 22709
134 아랄2 후킹후 무응답/작동중지로 강제종료/튕김 현상 해결 정리. [3] file uwle 2011-03-16 2014-03-22 23:11 22538
133 KONJ 사용법 (한윈에서 실행안되는 게임 실행 프로그램) [11] file MILD 2008-07-16 2009-10-23 16:14 22472
132 AT Code를 선택하거나 ezTransXp 선택시 튕길 때 [2] file 처음처럼만 2008-12-12 2010-04-29 16:40 22063
131 win7 사용자는 필독 AT코드 적용시 에러 해결방법 [1] 아비누스 2011-05-16 2011-05-16 11:50 22051
130 FrigateBird님의 AT코드 동영상 강좌! #01 [17] Hide_D 2009-12-02 2020-12-09 21:02 21078
129 공주사냥 던전 마이스터 (히메가리) 설치 방법 키리아스 2010-01-16 2010-01-16 16:01 21016
128 유니코드 변경법 [5] file MILD 2008-08-01 2009-12-05 23:06 20453
127 한국 IP 차단된 일본 사이트 접속하는 방법 [8] 키리아스 2010-08-13 2012-05-18 11:24 19672
126 코드파인드를 위한 기초 지식(2) [29] file G2m 2010-02-01 2011-11-08 00:55 18797
125 아랄 트랜스 번역률이 떨어져요. file 처음처럼만 2008-12-14 2011-06-06 23:31 18543
124 프리즘 아크 ARAL로 안되시던분 로렌츠 2009-02-10 2009-02-10 01:54 17829
123 花と蛇 설치 대머리소년친구 2009-02-16 2009-02-16 18:49 17777
122 FrigateBird님의 AT코드 동영상 강좌! #02 [8] Hide_D 2009-12-03 2012-08-15 15:53 17438
121 아랄트랜스 강제종료에 대하여 [3] 지나가는 이 2008-08-25 2009-03-23 18:33 16476
120 이지 트랜스 경로를 찾을 때 [1] file 처음처럼만 2008-12-12 2009-04-16 00:51 16211
119 대악사(大惡司;DaiAkuji) 부하 팁 [5] file 4znPrid3 2009-07-14 2009-08-12 11:37 15050
118 클립보드로 복사된 내용을 ClipHooker EX! 로 깨짐 없이 보는법 [6] file Hide_D君 2008-06-19 2008-12-23 17:32 14666