2013-02-14 1 views
1

일부 ASM 피연산자 (MIPS)를 읽는 가장 기본적인 능력을 제외한 프로그래밍 경험이 없습니다.프로그래밍 경험이없는 학습 어셈블러

심각한 건강 상태로 인해 1 년 동안 자유 시간을 가질 수 있습니다. 나는이 시간 동안 일하거나 많이 외출 할 수 없으므로 ASM을 배우기로 결심했습니다.

나는 해킹 게임에 관심이있다. 구체적으로는 GameCube (PowerPC ASM) 및 PlayStation (MIPS ASM)입니다.

나 같은 사람이 ASM을 제대로 배우려면 어떤 방법이 가장 좋습니까?

나는 간단한 프로그램을 작성할 수있을만큼 충분히 유창하고 싶다. 그리고 나는 그것을 정말로 이해할 수 있어야한다. 그래서 나는 브레이크 포인트 등에서 게임의 기능을 디스어셈블러에서 볼 수있다.

본질적으로 리버스 엔지니어링을해야만 게임의 일부를 해킹 할 수 있으므로 변경/수정/수정 할 수 있습니다 (물론 합법적입니다).

이것은 나를위한 취미 일뿐입니다. 나는이 분야에서 일자리를 구하는 것에 관심이 없다. 대학 전공은 프로그래밍과 완전히 관련이 없으며 대학에서 프로그래밍 과정을 수강 할 수 없습니다.

+2

좋은 책이 앞으로 나아갈 것입니다. 소스가없는 프로그램을 리버스 엔지니어링하려면 좋은 디버거 또는 여러 개가 필요합니다 (코드 및 데이터 중단 점 및 단일 스테핑 사용법을 배워야 함), 좋은 디스어셈블러 또는 여러 가지, 많은 인내가 필요합니다. 어쨌든, 코드에서 중요한 변경을 수행하려면 문제가되는 어셈블리를 잘 배워야합니다. 먼저 선호하는 ASM을 배우고, 실제로 배우기에 아주 작은 실행 파일로 해킹을 시작하십시오. 커다란 문제는 수천 줄의 코드 내에서 올바른 명령어를 찾는 방법입니다. DOS에서 Gametools (G3X)는 우수한 메모리 스캐너를 가지고있었습니다. – nrz

답변

2

더 깊은 수준에서 일을 이해하고 싶다면 파이썬을 사용하여 컴퓨터 프로그래밍의 기초를 가르치는 Udacity의 An Introduction to Computer Science과 같은 코스를 살펴 보는 것이 좋습니다.

그런 다음 데이터 구조 이론과 같은 일부 중간 프로그래밍 과정을 살펴 보겠습니다.이 작업은 지루할 정도로 들리지만, 고급 언어로 기본 사항을 얻지 못하면 완전히 잃어 버릴 수 있습니다 조립시 모두 을 관리해야합니다 자신! 그래야만 게임 어셈블러를 볼 수 있습니다.이 게임 어셈블러는 일반적으로 "hello world"보다 훨씬 앞선 것입니다!

난 당신이

:-) 너무 일찍 조립으로 이동하지 않는 것이 좋습니다 내가 아니에요 Udacity의 끊었 -하지만 GPU 프로그래밍 과정은 단지 시작했다 - 그것은 확실히 고급 코스입니다하지만!

2

MIPS 어셈블러를 이해하려면 See MIPS Run 사본을 얻어야합니다. 이 책은 C 언어에 대한 지식이 있다고 가정합니다. C에 익숙하지 않다면 많은 책을 이용할 수 있습니다. Programming in C by Stephen G. Kochan은 내가 읽은 적은 없지만 아마존에서 처음 발견 된 유용한 책이다.

이 (당신의 목표는 어떻게 특정 게임 작품을 이해하는 경우가 사이드 트랙의 비트를 할 파이썬 학습을 찾을 수 있습니다.)

0

는 MIPS 내용은, 당신의 환경에 따라 달라집니다 것 그 MIPSIT를 사용 . 실제 칩을 얻거나 시뮬레이션/에뮬레이트 할 수 있습니다.

관련 문제