본문 바로가기

쓰기

코드파인드를 위한 기초지식 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/ef4/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 40504   2012-08-30 2014-02-26 20:12
공지 아랄트랜스 - 초보자 가이드 [94] file Hide_D 319366   2008-07-16 2015-02-27 18:02
공지 모든 플러그인, 필터 안내 ('09.03.13) [20] Hide_D 191389   2008-10-31 2009-03-13 23:48
공지 아랄트랜스 0.2 - 초보자 가이드 [109] file 아랄 505865   2008-07-16 2013-12-31 09:32
217 필터 강의 - FixLine [작성중] secret Hide_D 1   2009-04-07 2009-04-07 01:42
비밀글입니다.  
216 필터 강의 - FixLine [작성중] secret Hide_D 4   2009-04-07 2009-04-07 01:42
비밀글입니다.  
215 Sho&#6489lԀ &#1... AngeliaTolmer6414 364   2015-11-08 2015-11-08 01:28
ShoᥙlԀ уоu lоvᥱⅾ thiѕ ρоѕt and үоս ѡɑnt tο гесеіνe tоɗⲟ mоrе infօ гᥱǥагding Ореracjɑ Ⲣlаstуczna Nοѕa Ꮯᥱnnіκ (Http://Www.Dbamy.Pl/) aѕsᥙrе ѵiѕіt ⲟսг οᴡn աeb-ѕitᥱ.  
214 사진이 깨진 글에서 사진순서 맞추기 file 미래도 431   2015-09-13 2015-09-13 03:08
 
213 게시물 분류작업 미래도 494   2015-09-14 2015-09-14 05:09
게시물 분류작업입니다. 주석달기전에 일단 분류부터.. http://lab.aralgood.com/index.php?mid=board_lecture&document_srl=게시물번호 게시물번호에 해당 번호 복붙해서 들어가면됩니다. 찾아보니, 똑같은 게시물이 두개있는경우가 있더군요. 과거 폴라...  
212 에우슈리 & 아나스타샤 게임에서 오류가 뜨시는분 Peith 530   2013-08-07 2013-08-07 00:49
이런 에러가 뜨시는분 전에 질문을 올렷는데 더미컷 버전이라 그렇다고 하시더군요 근데 제가알기론 타유우타랑 명색의 예희는 더미컷 버전이 아닌데 말이죠 환린이랑 전여신은 잘 모르겟지만 그것들도 더미컷이 아닐겁니다 설치하는데 필요한 용량과 게임 파...  
211 cs2엔진 게임에서 대사창이 안나올경우 file 별초군 681   2015-12-03 2015-12-03 18:52
 
210 PhantOm:디버깅이 제한된 프로세스 디버깅하기 [1] 미래도 1438   2015-08-23 2015-08-25 19:46
사실 VNR 스크립트 주석에서 퍼옴 椎名里緒, 시나리오 엔진의 경우 Themida로 디버깅을 막았습니다.(다른 디버깅방지 엔진도 비슷할꺼라 생각함) - OllyDbg로 열 때, 게임이 실행되지 않는다. - 게임 모듈 메모리 공간이 수정하는 것을 막는다. 대체로 이런 특...  
209 [팁]단순후커사전SDK 두통 1454   2013-07-06 2013-07-08 20:42
[후커사전] 단순후커사전 SDK Ver1.00 자료실에 올릴까 하다가 그냥 방문해서 이것저것 봐보는게 좋을듯싶어서 링크 다른건 모르겠는데 ezTransMini 요놈 쓸만하네요.  
208 컴플리트사의 C4엔진 간단한 검색법.. [1] file 유피에르 1816   2012-08-25 2012-08-26 00:09
 
207 올리 디버거 기능중 스탭인투와 스탭오버 file Wales 2047   2012-09-12 2012-09-20 15:27
 
206 CS2엔진 야매+ file 두병더더 2315   2012-09-16 2012-09-24 12:09
 
205 U・Me SOFT사 코드 찾기 간단한 방법(편법)... 유피에르 2488   2012-10-14 2012-10-14 23:52
FORCEFONT(5),ENCODEKOR,FONT(HY엽서M,-13),HOOK(0x0042A6A0,TRANS(EAX,PTRCHEAT),RETNPOS(COPY)),HOOK(0x0040459A,TRANS(ESI,OVERWRITE(IGNORE)),RETNPOS(COPY)) 이게 무슨 게임 코드였는지는 까먹었는데..;; U・Me SOFT게임의 코드입니다.. (쿨럭쿨럭.. 적용...  
204 NTLEA GUI 0.92 이상을 쓰시는 분은 필히 보시기 바랍니다. [5] TwoComet 2879   2013-02-01 2013-07-29 03:13
현재 NTLEA 0.87 beta 를 쓰고 있었다가 저걸로 한번 사용하게 되었었습니다. 근데 큰 문제가 생깁니다. 어플로케일의 AlLayer.dll 가 인젝션 되지 않는 사태가 벌어지는군요. 솔직히 기능면에서는 0.87 beta 나 0.92 GUI 나 같습니다. 만약 0.92을 인스톨하여...  
203 아랄로 만든 바로가기 파일이 깨질때. TwoComet 2930   2012-08-30 2012-08-30 15:55
일부 게임이 아랄트랜스로 바로가기를 만들었을때 해당 바로가기가 제대로 동작하지 않는 게임들이 있습니다. 그런 경우는 대부분 3가지로 나눠서 생각할 수 있습니다. 첫째, 게임 엔진 중에 최초 실행시 아랄과 같은 후킹 프로그램이 동작하는지 검사하는 경...  
202 게임 업데이트후 코드먹통될때(예제. FATAL ZERO ACTION) [2] file 두병더더 3142   2012-08-27 2015-09-13 02:52
 
201 미연시 플레이시 특히 오프닝 엔딩영상에서 강제종료 되는문제. 소라노카제 3282   2013-04-13 2013-04-13 11:40
많은 미연시 플레이어들이 겪으시는 문제인데.... 해결책을 아는 분이 적네요..... 저만 모르던가요. 어째든 최근들어 알게 된겁니다만............. "그리자이아의 과실" 과 "지금 당장 오빠에게 여동생이라고 말하고 싶어" 밑 여러 작품에서 이유없는 강제 ...  
200 http://www.dlsite.com/maniax/ 들어가는데 팁 [2] file nicday1234 3673   2012-09-17 2012-09-18 00:34
 
199 [VNR홈페이지]게임이름으로 게임정보 찾기 미래도 3684   2015-09-13 2015-09-13 03:43
게임 정보를 빠르게 찾는 법에 대해 소개합니다. 개인적으로 엔진정리와 작업을 하고 있으나.. 금칙어 크리때문에.. VNR 홈페이지에서 일종의 데이터베이스를 제공합니다. 물론 정보를 수집해서 올려놓은 것이기에 플레이하지 않은 것은 지원하지 않습니다. 주...  
198 카미 육성 팁 입니다 [2] 력현 4008   2011-06-19 2012-01-14 13:44
캐릭을 그나마 효율 적으로 성장 시킬려면 마르웰을 초기 부터 장비 합니다 경험치 보석 4개다 장착하고 사냥 보다는 투기장에서 몹을 잡는 쪽으로 하지요 초기칭호는 15L때 히로인들은 획득이 가능 합니다 중요한것은 15L 의 초기 칭호를 얻기 전에 성장석을 ...