My Study/asm

[masm] __asm 대신 masm을 사용해보자

후킹하다 32비트에서 64비트를 하게 되었는데 편리한 __asm이 안되는 사태가 벌어졌다...



[x86으로는 이렇게 말 잘듣던 __asm 이...]


[x64로 바꾸자 이렇게 에러를 한가득 토해낸다.]



방법을 찾다 모르겠어서 생활 코딩에 올렸더니 친절히 멘토님께서 대답을!! 하핳 사랑합니다. 멘토님!!!



실행 환경은 2015 VS Community 버전.


x64 코딩에서 asm을 사용하는 것을 해보자.



먼저, 솔루션에서 오른쪽 클릭하여 빌드 방식에 들어간다.




그러면 위와 같은 창이 뜨는데 masm 이란 것을 선택하고 ok를 누른다.

여기서 masm은 x64에서 어셈블리어를 사용할 수 있도록 도와주는 MS에서 제작한 툴이다.



그리고 cpp 파일 대신 *.asm 파일로 생성하면 된다.



이제 코딩을 해보자!!


[ asm 예제 ]


[ 수정된 cpp 파일 ]


이제 즐거운 x64 코딩을 해보자.

예제 자체가 64비트 코딩은 아니지만,,,

그래도 넘어가요 ㅎ



만약, 예제처럼 안되고 에러가 뜬다면 아래와 같이 되어 있나 확인을 해보자.


[*.asm 파일의 속성에 들어가 Item Type 부분이 이와같은 방식으로 되어 있으면 컴파일이 되지 않는다.]



[이와 같이 Microsoft Macro Assembler 옵션으로 되어있어야 한다.]



'My Study > asm' 카테고리의 다른 글

[masm] asm에서 cpp 함수 호출  (0) 2016.05.14
[masm] __asm 대신 masm을 사용해보자  (0) 2016.05.07
어셈블리어 간단 정리  (0) 2015.05.15

최근 트랙백

알림

이 블로그는 구글에서 제공한 크롬에 최적화 되어있고, 네이버에서 제공한 나눔글꼴이 적용되어 있습니다.