Skip to content

폴라리스 ~Polaris~

분 쟁 절 대 엄 금
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
어셈블리 기초 지식.txt4.9KB

일단 이건 다른 파인더 분이 올린 내용인데, 배경 지식으로 적절할것 같아서 올려 놓습니다.

배우실 분들은 한번 읽어 보면 도움이 됩니다.

어셈블리어


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

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

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

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


디버거 프로그램(Debugger)

기본적으로는 프로그램의 오류를 해명하고 그것을 해결하기 위한 목적으로 쓰이는 프로그램이다. 그것이 하는 일은 실행중인 프로세스를 기계어->어셈블리어로 번역해 표기하고 그를 통한 대상프로그램의 정밀한 분석 및 구조 개선이겠지만 우리들은 그 기능을 이용해 게임의 후킹 지점을 찾는 것(코드 파인드)이 주 용도로 쓰이게 된다.

디버거 프로그램의 종류로는 올리디버거, 이뮤니티 디버거, 윈디버거 등이 존재한다.

그 중에서 올리디버거에 대해 살펴보도록 하자.


범용레지스터

EAX, EBX, ECX, EDX의 네가지 레지스터로 구분되어진다. 이들 레지스터는 산술 연산 및 결과 값 저장 등 여러 가지 용도로 쓰이게 된다.


EAX

산술연산에 주로 사용되어지는 레지스터다. 대부분의 덧셈, 곱셈, 나눗셈 등의 산술연산에서 무조건 적으로 사용되어진다.

EAX는 32비트(4바이트)사이즈이며 그 전체를 사용 시에는 EAX로서 쓰인다.

16비트(2바이트)만을 사용 시에는 AX로서 쓰인다.

8비트(1바이트)만을 사용 시에는 AL 혹은 AH로서 쓰인다.

이런 식으로 구분되는 것을 기억하도록 하자.


EBX

EAX를 보조하는 산술연산에 사용되거나 여러 주소 연산에서 사용되어지는 레지스터이다.

EAX의 구조와 마찬가지로

 

32비트(4바이트)영역을 사용 시 EBX

16비트(2바이트)영역을 사용 시 BX

8비트(1바이트)영역을 사용 시 BL 혹은 BH로서 쓰인다.

 

ECX

ECX는 일반적으로 루프(Loop)의 반복횟수를 의미하는데 쓰이게 된다. 하지만 그것만이 용도는 아니고

많은 산술 연산 및 주소연산에도 공통으로 사용되게 된다.

32비트(4바이트)영역을 사용 시 ECX

16비트(2바이트)영역을 사용 시 CX

8비트(1바이트)영역을 사용 시 CL 혹은 CH로서 쓰인다.


EDX

EDX는 큰 수의 산술연산, 즉 32비트 레지스터간의 곱하기 등의 최대 레지스터 용량 범위를 넘어가는 .

연산을 보조하기 위해 사용되는 레지스터이다.

32비트(4바이트)영역을 사용 시 EDX

16비트(2바이트)영역을 사용 시 DX

8비트(1바이트)영역을 사용 시 DL 혹은 DH로서 쓰인다.

 

기본적으로 이상의 범용 레지스터들은 일단 그 사용 용도가 정해져있다고 하지만 실제로는 범용인지라

어떻게 어떤 형태로 사용 되도 이상하지 않다.

 

포인터(주소) 레지스터

포인터 레지스터에는 ESP,EBP, EIP 가 존재한다.


ESP

그 특성상 다음 강좌에서 설명하도록 하겠다.

단지 이것은 스택 메모리에 있어서 대단히 중요한 레지스터이다

 

EBP

그 특성상 다음 강좌에서 설명하도록 하겠다.

이 역시 스택 메모리에 관여하는 레지스터이다.

 

EIP

EIP는 다음에 수행되어야할 명령의 주소를 가리키고 있다. CPU는 이 EIP가 가리키는 주소에 의해서만 코드를 실행하게 되며 따라서 이것은 프로그래머가 임의로 변경할 수 없는 부분이기도 하다. 물론 디버거를 이용한 변경은 가능하지만 그 경우 어떤 문제가 일어날지 장담할 수 없게 된다.


인덱스 레지스터

인덱스 레지스터에는 EDI와 ESI가 존재한다.

이들 레지스터는 대부분이 문장 처리에 관여한다. 보통으로는 ESI가 소스주소를 EDI가 목적지 주소를 가리키는 데 

이들 레지스터는 ESI(문장위치주소) -> EDI(문장을 옮길 주소)의 방식으로 사용되는 것이 일반 적이다. 하지만 그 외에도 가끔 산술연산에 사용되어지기도 한다.

 

플래그 레지스터

플래그 레지스터는 다시 두개의 분류로 구분 할 수 있다. 상태 플래그와 제어 플래그가 바로 그 것인데 코드파인드시 주로 보게 될 상태 플래그를 보도록 하자.


CF(Carry Flag)

연산 명령 실행 후 그 결과 값의 최상위비트(가장 왼쪽의 비트)에 덧셈에 의한 자리올림 혹은 뺄셈에 의한 빌림이 발생시 1로 세팅되어진다.

PF(Parity Flag)

연산 결과 값의 1비트들의 개수를 나타낸다. 그 개수가 짝수인 경우 1로 세팅되고 홀수인 경우 0으로 세팅된다.

AF(Auxiliary carry Flag)

특수화된 산술에서 세팅되어지며 주로 10진 연산처리 시 발생한다.

ZF(Zero Flag)

연산의 결과 값이 0일시 1로 세팅되어지고 0이 아닐시엔 0으로 세팅되어진다.

OF(Over Flag)

연산의 결과가 부호 발생 시 세팅되어진다.

  • profile
    리드맨 2013.03.23 00:42
    기초부터 촥촥촥~
  • profile
    一片丹心마시로♡ 2013.03.23 01:08
    멍~
  • profile
    석군 2013.03.23 02:53
    멍......늙었나 예전에는 저것들이 다 이해됬는데 이제는 한참을 봐야되는군요.
  • profile
    KoNaTa 2013.03.23 08:10
    오...멋진내용입니다 이거이거... 도움이 확실히 되겟군요 +ㅅ +
  • ?
    CLouse 2013.03.23 17:32
    헐....;;;
  • profile
    자본주의자 2013.03.23 18:38

    그냥 CPU를 설명하는 것이라고 이해한 뒤에 읽으시면 됩니다.
    레지스터는 CPU가 셈하는데에 사용하는 손이라고 생각하면 되겠군요.ㅇ.ㅇ


    CPU가 계산하는 과정을 그대로 볼 수 있는거죠.ㅇㅇㅋ

    (여러분, 신기, 신기하지 않나욧.ㅇ.ㅇ!!..... 나만 신기 했었던 것은 아니라고 말해주세요.ㅇ.ㅇ)


잡담게시판

공지사항을 숙지해주세요.

공지 아청법에 저촉되는 이미지,글을 올리지 말아주세요. 애로앙 2013.08.19
공지 폴라리스 통합 공지사항. -필독- 애로앙 2013.03.03
  1. No Image

    날씨가 풀리니 바쁘네요.

    이제야 2013년이 된거 같에요. 분명 학생은 아닌데 확실히 3월 들어오고 시간이 지나니 바빠지는군요. 뭔가 이상하네.... 하루 한개 글을 쓸려고 했던 나의 마음은 역시나......삼일천하 아니 작심삼일..... 아....이래서야 새해 소망따위........이루어질리가...
    Date2013.03.20 By석군
    Read More
  2. rpg 미연시 주인공 갑은역시 란스!

    이야 제가 처음 접한 란스 시리즈는 6이었습니다... 시작하자마자 30초만에 여자를 덮치길래 이거해도되는게임일까 라는 고민을했었지만... 하다보니 뭐랄까 이렇게 주인공 시점이 잘적응되는게임은 처음이랄까 동화율이 장난아니더군요. 후반엔 여캐나오면 x...
    Date2013.03.20 By폭우
    Read More
  3. No Image

    아랄 강좌 올리면 보실분?

    어느 정도 있나요? 질답란 가야 하나.... 밑에다가 댓글로 손 정도만 달아주면 되요
    Date2013.03.20 By굴러가는시간
    Read More
  4. 처음으로 모에적성검사를 해보았습니다

    헛... 듣거나 결과를 보기는 햇지만 군대가기전에 한번 해볼려고 처음으로 해보았습니다 결과창을 어떻게 여기에 불러오는지 모르므로 일단 링크 http://anis.co.kr/center/moetest2011/moe2011_data.php?no=122089&blog=1 ㅇㅅㅇ;;;................... ...
    Date2013.03.20 By새피스트
    Read More
  5. No Image

    훗훗훗.. 이미 질렀다!...(강좌)

    흠.. 아무도 안보겠지.. 손을 안 달은거 보면. 그래도 일단 올려봅니다. 네..
    Date2013.03.20 By굴러가는시간
    Read More
  6. 요즘 계속 보고 있는것

    엌ㅋㅋㅋㅋㅋㅋㅋㅋ 타유타마노 중독성와 마야쿠데쓰넼ㅋㅋㅋㅋㅋ 요즘 저 튼튼데스네만 보면 웃기네요 마치 푸른거탑의 말년의~ 보는 느낌 저것도 뻔한데 보면 웃겨요 ㅋㅋㅋㅋㅋㅋㅋ
    Date2013.03.21 By一片丹心마시로♡
    Read More
  7. No Image

    이야 이런 말할나이는 전혀아니긴한데... 나이를먹으니 몸이 영~

    20대극초반의 나이입니다만 아역시 10대때가 그립네요... 그땐 그냥3~4시간자고도 학교가서 날아다녓는데 요즘은 6시간자도 영피곤하고 7시간자도좀 그러고 8시간은자야 아잠좀잔거같다라기보단 행복하다싶고 그래서 4~5시간만 자고 하다가 술마시고 병원가서 ...
    Date2013.03.21 By폭우
    Read More
  8. No Image

    거의 보던 이름들만 계속등장하니 이것도 나름 재미있네요.

    아침저녁으로 폴라들어와서 글리젠확인하는거가 일상이 될거같아요. ㅋㅋㅋ 그나저나 여러분들 최근 미연시 말고 즐긴 게임들 있으신가요? 전 올해초까진 보더랜드1,2를 붙잡고 살았었습니다만... 이야 이게 rpg+fps 라는 희귀한 게임인데다가 네트워크 플레이...
    Date2013.03.21 By폭우
    Read More
  9. No Image

    요즘 애들이 이상한걸까요?

    요즘 애들이 이상한걸까요. 아니면 제가 늙어버린걸까요. 최근에 길 걸어가다가보면 컵라면 먹으면서 걸어가는 애들이 자주 보이는군요. 구석에 애들 옹기종기 모여있으면 담배피나 싶어 한소리 해주러 가다보면 애들 모여서 라면 먹고 있음. 지하철 타러 계단...
    Date2013.03.21 By석군
    Read More
  10. 마법소녀가 되고싶은사람 있나요?

    마마마 처음봤을때는 애들 나오는거라서 타겟이 유치부 인가 싶어서 안봤다죠. 한참 시간이 지나고 사람들이 최고의 반전은 큐베큐베 그러길래 최고의 반전은 식스센스 아니었나 하다가 봤더니 이 무슨 미어ㅣㅏㅁㄴ어ㅣ먀ㅓ야머이ㅑㅁ너이ㅑ먼얌ㄴ이ㅑㅓ ㅠㅠ...
    Date2013.03.21 By석군
    Read More
  11. 미연시사이트답게 미연시 이야기나 해볼까(1?)-유즈소프트 신작 하늘색 아일노츠

    거의 버릇처럼 된 신작체크중 유즈소프트 신작정보를 보다 알아차린 겁니다만 .........시나리오 첫번째야 원래 메인 라이터 그대로니까 그렇다치고 두번째 카가미 유우(!)[카가미 유우-퍼플 미래의 너와 만나기 위해, 미래 노스텔지어 그리고 미노리 ef시리즈...
    Date2013.03.21 By모리-섬머-리버
    Read More
  12. No Image

    후후훗.. 강좌 2탄!!

    히히히.. 일단 지르면 폭주 기관차처럼 계속 달린다! ....
    Date2013.03.21 By굴러가는시간
    Read More
  13. No Image

    미육의향기 올클리어했습니다.^^;

    미육의향기 이제서 접하고 2주 걸쳐서 클리어했습니다. 그리고 바로 번외편도 클리어.(뭐 클리어라고 할것도 없지만말이죠 ㅋ) 이런 엄청난걸 이제서 접하다니 하하하;;;;;;;; 근데 이거 전원배드엔딩이 너무 하더군요.어떤분들은 후유증 걸렸다는 후문이........
    Date2013.03.22 By아상수
    Read More
  14. 잡담 주저리~

    미나상~ 오뎅데스까~~ >ㅁ< / 오래간만에 왔네요 ㅎㅎㅎㅎㅎㅎㅎ 요즘 여러가지 패키지 게임들을 즐기고 있지요 [ 파크라이3/툼레이더/어메이징 스파이더맨/트로피코4 등등 ] 그러다보니 저녁을 먹고 조금 게임을 하다보면 자정이...!! 받아둔 미연시도 많은데...
    Date2013.03.22 By샤우토
    Read More
  15. 블레이 블루를 요즘 시작했습니다.

    뭐랄까 역시 격투게임의 콤보는 심오하고도 심오하여 그 깊이를 알수가 없을 정도로 깊더군요! .... 모든 캐릭 다 해보고 마코토를 하고 있습니다만.... 얘는 기본 콤보 넣기도 너무 힘들더군요 AHAHAHAHAHAHAHAHAHA 타오카카로 갈아타버릴까.. 스토리 모드를...
    Date2013.03.22 ByLine
    Read More
  16. No Image

    어셈블리 기초 지식

    어셈블리 기초 지식.txt4.9KB일단 이건 다른 파인더 분이 올린 내용인데, 배경 지식으로 적절할것 같아서 올려 놓습니다. 배우실 분들은 한번 읽어 보면 도움이 됩니다. 어셈블리어 기계어는 일반적으로 0과 1이라고 하는 2진수에 의해 구성되어진다. 이것을 ...
    Date2013.03.23 By굴러가는시간
    Read More
  17. No Image

    알바구하기가참 힘드네요.....

    8월에 입대인데 그때까지 알바나 할려고 면접을 봤는데 연락이...... 피시방,편의점 이 두곳은 저랑 인연이 없는거 같네요.(나도 카운터에서 일하고싶었는데 ㅜㅜ) 그동안 몸쓰는 곳에서만 일하다가 이번엔 한번도 안해본 피시방,편의점좀 해볼려고 했더니 안...
    Date2013.03.23 By아상수
    Read More
  18. 가끔 기억 나는건데...

    ....도대체가 언제 올거니 넌... 농림이랑 마요치키를 같이 주문했는데 설날인가>? 그때 북컬쳐에서 농림이랑 마요치키는 배송해주더군요.... 감사합니다(__) 에...그래서 오늘 확인해보니 변태왕자...19일에 발매 되었다고 하던데.. 언제 올려나 :) 정말 책 ...
    Date2013.03.23 ByLine
    Read More
  19. 나는 맞습니다 ㅂㅅ이

    오늘 포토샵 시험이 있는 날이었습니다 저는 오후3시와 근처 고등학교라는 수험표를 확인했고 오늘 12시에 수험표 재확인 는 시간이 바뀌었습니다 1100 ~1230 로요 네? 뭐라고요? 이게 무슨소리요 주최자 양반 내가 이걸 당일 되서야 알다뇨........... 군대도...
    Date2013.03.23 By一片丹心마시로♡
    Read More
  20. 잉여하내요..

    할일없이 머어어어엉..심심하내요 할만한것도 별로 없고.....아 혹시 그거 아시나요우유 를 칠때랑 black를 칠때랑 차이점을?b를 칠땐 왼손 ㅠ를 칠땐 오른손짤방. 음란마귀 판별법 이 제품은 하루 3분 장착하는걸로 팔자주름을 펴주는 기구입니다.. 그럼으로 ...
    Date2013.03.23 By성상
    Read More
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 12 ... 49 Next
/ 49

Recent Articles

Recent Comment

Logged Members

modified by 애로앙 / in 2013.03