1
#include <windows.h>
#include <winbase.h>
#include <stdio.h>
typedef void (*MYPROC)(LPTSTR);
int main()
{
HINSTANCE LibHandle;
MYPROC ProcAdd;
LibHandle = LoadLibrary("msvcrt.dll");
printf ("%#p\n", LibHandle);
ProcAdd = (MYPROC)GetProcAddress(LibHandle, "system");
printf ("%#p\n", ProcAdd);
(ProcAdd)("cmd.exe");
return 0;
}
위의 코드는 cmd.exe
명령을 호출 한 다음 종료되지만, 무한 루프가 발생하는 것으로 나타났습니다. 그 이유는 무엇입니까?이 작은 프로그램이 무한 루프를 일으키는 이유는 무엇입니까?
0X77BE0000
0X77BF93C7
0X77BE0000
0X77BF93C7
0X77BE0000
0X77BF93C7
0X77BE0000
0X77BF93C7
0X77BE0000
0X77BF93C7
0X77BE0000
0X77BF93C7
0X77BE0000
0X77BF93C7
0X77BE0000
...
당신은 단지 고리가 아닌 충격 고리일까요? 또한, 이것은 '시스템'을 호출하는 매우 이상한 방법입니다! – Skizz
그것은 나를 위해 작동합니다. 문제에 대해 자세히 설명해 주시겠습니까? –
@Anton Semenov, @Skizz, 위 출력을 붙여 넣었습니다. –