해당 주소를 기반으로 하나의 함수를 호출하려고합니다. 하지만 그 일을하려고하면 몇 가지 문제가 내 눈에 들어옵니다. 나는 그 문제를 다룰 수 없다. 나는 무엇이 잘못되고 있는지 모른다. 누군가 제게 전화하는 행동을 끝내시기 바랍니다. image link어셈블리의 주소를 기반으로 printf 함수를 호출하는 방법
#include <stdio.h>
void main()
{
char* mat = "%s\n";
char* str = "abc";
//printf(mat,str);
_asm
{
mov eax,dword ptr [ebp-8]
push eax
mov ecx,dword ptr [ebp-4]
push ecx
mov eax,00401090h //function 'printf' address
call [eax]
//call printf //dont call like this, we shall call based on its address.
}
getchar();
}
왜 코드가 별도의 파일에 대한 링크입니까? ** 그리고 왜 사진입니까? ** –
사람들이 자신의 환경에서 테스트 할 수 있도록 코드를 복사하여 붙여 넣으십시오. 코드를 포맷팅하기 위해 선택된 코드와 함께'{}'버튼을 사용하십시오. – bdonlan
'printf'가'00401090'에 있다고 어떻게 결정 했습니까? 항상 거기에 있기를 기대하십니까? –