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. 엘린 vs 몬리

    몬리를 하다가 엘린 모드도 받았습니다. 동료인 monli족의 롤(로)리디아 무기 뺏고서 때려봄. 헠, 미안.. 뭐지? 갑자기 도망가네 응? 뭘 하는거지..? 헐 칼을 주워옴 ㄷㄷ.. 헐.. 휴.. 겨우 이김. 는 훼이크. 그러고보니 내 동료는 다 불사였지, 하늘의 기운...
    Date2013.08.22 By프리냥
    Read More
  2. No Image

    엔하 위키는 나쁜겁니다 ㅠ

    뭔가 위키위키 질을 했더니 하루가 날라갔다는... 그런 슬픈 이야기
    Date2013.05.31 By계단
    Read More
  3. No Image

    엔젤비트에 실미도를 넣어보았다

    절묘한 싱크로 더빙류 甲 만든사람은 분명 천재야..
    Date2013.05.01 By굴러가는시간
    Read More
  4. 에이스가 죽은 진짜 이유랍니다.

    충격 위기탈출이 밝히는 에이스의 죽음. 아카이누는 착한 옆집 아저씨였다? 저 프로를 보고 있으면 숨만 쉬어도 죽는당께요..Orz.. 이래서야 코난과 김전일의 살인량은 애교.
    Date2013.03.13 By석군
    Read More
  5. No Image

    에우슈리겜 내일나오나요?

    25일발매던데 24일날 나오나요???
    Date2014.04.23 Bybowling2
    Read More
  6. No Image

    에로게 불법 업로더가 체포 되었네요.

    Share로 게임을 업 로드한 방류의 「신」체포(토치기현)토치기현 경찰 본부 생활 환경과와 코야마 경찰서는, 헤세이 25년 4월 30일, 파일 공유 소프트를 사용해,PC 게임등을 위법 전달하고 있던 사이타마현 거주의 무직 A(남성·40세)를, 저작권법 위반(공중 송...
    Date2013.05.03 Byviorate
    Read More
  7. No Image

    엉엉, 다시는 못 볼 줄 알았는데 ㅠㅠ 진짜 감동입니다.

    폴라리스가 불의의 사고로 인해 더 이상 활동을 정지하게 되었을 때, 진짜 가슴이 시리더군요. 그래도 올 것이 왔나 싶어 이해하자고 다짐하면서도 한편으로는 너무도 쓸쓸했습니다. 그런데 이렇게 다시 살아나다니 ㅠㅠ 살면서 감동을 잘 받지 않는 스타일이...
    Date2013.03.04 By프시쵸
    Read More
  8. 엇. 그러고 보니...

    오늘 소니코 생일이었네요... 작업 끝내고 돌아오다보니 깜빡; (사진은 지난 생일날 찍은것.) 일본에서는 소니코 생일 전용 케잌도 판매했더만.
    Date2013.10.14 By반디
    Read More
  9. 얼 블레이드&소울 애니?!

    http://youtu.be/CEpcumgR3nw 지금 천상선녀를 얻으려고 정량제 결제해서 하고있는데 메인에 블소애니한다고 올라왔네요 ㅎㅎ 검사는 먹었는데 소환사께 안나와서 ㅠㅠ
    Date2014.03.28 By샤우토
    Read More
  10. 언제만에 와서 써보는건지...

    살아는 있다고 합니다. 살아는... ... ...할게임이 다음달에 나와서 산송장일뿐... 할짓없어서 폰겜이나 해보고있어요. 힐덱먼저 올린것이 설마 죄였던가... ... 무과금의 태생적한계를 몸으로 느끼는중. 새벽이라 딜러가 안옴... 암걸린다...피통ㅇ... 100렙...
    Date2014.03.25 ByDarkLuna
    Read More
  11. No Image

    언리쉬드 해봤습니다

    일단 한 문장으로 말 하자면 스토리가 매우 막장 ...정말 스토리가 막장이더군요 한국 아침 드라마 보다 심한 막장 음 그리고 뭐랄까 뭔가 엄청 움직여요 에 그리고 게임 난이도가 매우 높아요 사전 코드가 있는 사람이라면 모르겠는데 (이 쯤 되면 내가 문제...
    Date2013.08.28 ByLine
    Read More
  12. 어제인가.. 지난번에는 비가 왔었더라고요.

    비가 오면서 주위 지인들이 감기몸살이라던가 장염같은 거라던가 하나 둘 시름 시름 아프기 시작하네요; 저도 어제는 배가 아프더군요ㅠㅠ.. 폴라리스 여러분들도 건강 조심하세요. 오늘은 머리도 식힐 겸 오랜만에 쓰르라미 울적에같은 애니들을 시청 해봐야...
    Date2013.04.06 By시오텐시
    Read More
  13. 어제는 그 분의 생일이셨습니다.

    이 분....말고 (후미카네의 일러는 참 마음에 들더군요...) 음 뭔가 적기는 적어야 하는데 참고 할려고 맛시로님의 글을 봐도... 왠지 저건 봐도 따라하기가 힘들군요. 역시 저런건 아무나 하는게 아니더군요. 쿨럭쿨럭.. 뭐랄까 새삼스럽게 맛시롱님이 대단...
    Date2013.04.20 ByLine
    Read More
  14. No Image

    어제가 어린이날이었군요.

    어린이날인 줄 모르고 지내다가 하루 지나고 나니 어린이날인 줄 알았습니다. 하기사, 이제 어린이도 아닌데 신경 쓸 필요 있겠나염. 그런고로 오늘도 저는 일이나 하러 갑니다. ㅇㅇ 아아, 탈덕한다....
    Date2013.05.06 By프시쵸
    Read More
  15. No Image

    어제 재오픈하셨나..

    어느날 갑자기 접속할수가 없었지만.. 그래도 하루에 한번 살펴보고 있었는데.. 오늘은 갑자기 생겨났네요.. 재가입만 몇번인지..ㅎㅎ 안좋은 일이 다시는 안생겼으면 좋겠네요.. 모두 꽃샘추위 조심하시길..
    Date2013.03.05 By유현
    Read More
  16. No Image

    어셈블리 기초 지식

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

    Date2013.05.04 ByKoNaTa
    Read More
  18. No Image

    어라. 란스세계관에관한 의문이 생겼습니다.

    전국란스하다보면 빛나는 카구야 히메라는 외계인이등장하는데. 루드라사움이 삼초신을만들고 삼초신이 메인플레이어를 만드는데... 외계인이 등장할수있는건가요....? 그것도 과학력차이가 장난아닌걸보면 이거 몆년안에 만들어진거가아니라 상당한 시간 적어...
    Date2013.05.31 By폭우
    Read More
  19. No Image

    어디서 반가운 소식을 듣고 왔습니다.

    네. 무려 HHG 후속작이 나온다는 사실. ㅇ-ㅇ.... 다음달(10월)이라고 합니다. 요번엔 '성녀를 만들지 않기 위해서' 라는 프레이즈를 걸고 나오네요. 참고로 그 사건 후로 기억을 잃었다고 합니다.               고속사고 또한..... 상대측에도...
    Date2013.09.29 By베르세인
    Read More
  20. No Image

    어느 커뮤니티에서 발견한 글인데, 일본 쪽 상황에 대해서 한 번 생각해봐야 할 것 같습니다.

    http://gall.dcinside.com/list.php?id=earthquake&no=302800&page=1&bbs 어쩌다보니 이런 글을 발견했는데, 물론 이것이 완벽한 사실이라고는 할 수 없지만 지속적으로 비슷한 이야기가 계속해서 나오고 있는 걸 보면 일본으로 갈 계획이 있으신 ...
    Date2013.04.28 By프시쵸
    Read More
Board Pagination Prev 1 ... 14 15 16 17 18 19 20 21 22 23 24 25 ... 49 Next
/ 49

Recent Articles

Recent Comment

Logged Members

modified by 애로앙 / in 2013.03