제가 위치조정을 하려고 하는데
1. 메인캐릭터와 일반몹들이 움직이면서 거쳐가는 어셈블리 구간이 같았는데
이러면 캐릭터 클래스에서 메인캐릭터와 일반몹들이
둘 다 같은 메소드를 사용한 코드를 컴파일하게 된건가요?
100% 같은 어셈코드를 사용하는건 아니었네요
2. 포인터 추적을 위해서 어셈부분을 올려보고있는데
mov ecx, 프로그램.exe+00001234
mov eax, [ecx-10]
mov ebx, [eax+10]
mov ebx, [ebx+20]
이런 식이라면
오프셋을 00001234 - 10 + 10 + 20 으로 걸어도 괜찮나요?
3. 1번과 더불어서 2번을 질문하는건데
만약 2번을 통해 얻어진 포인터를 수정한다해도 1번 처럼 같은 코드를 공유하게 되는거니
자신의 메인캐릭터의 움직임을 제어하는건
메인케릭터id의 식별로 어셈을 통한 코드주입밖에 답이 없나요? 통상 아래 주소기록을 수정하는것처럼 사용하는건 안되나요?
(3번 질문은 전제가 틀렸을수도 있어요)
4. 가끔 보다가
mov [eax+ecx*4], edx
라는 요상한 어셈구간이 있는데
이럴 경우엔 포인터추적을 어떤식으로 해야하나요? 오프셋에 곱셈은 없었는데..
아니면 이게 eax에 해당하는 주소의 오프셋을 ecx가 가지는건가요? 배열처럼??
추가)
mov ecx, 프로그램.exe+00001234add ecx, 10
mov ecx, [ecx+5]
이렇게 된 어셈구간일때
오프셋을 +5 걸어도 중간에 add는 신경안써도 되나요?
댓글 0