바이트 배열을 생성 한 다음 Windows에서 정상적인 코드처럼 실행할 수 있습니까? 어셈블리 코드가 있다고 가정 해보십시오.Delphi에서 즉시 코드를 컴파일하고 실행할 수 있습니까?
inc ecx
은 프로그램의 일부입니다.
00000035 41
바이트의 배열을 만들 수 위의 바이트를 기입하고 그래서를 execute- 할 수 있을까 : 우리가 NASM 컴파일 후 우리는 위의 라인이 이런 식으로 변환하는 EXE 파일을 얻을 증분이 실제로 발생합니까?
나는 매우 간단한 해석 언어를 만들었지 만 해석되기 때문에 매우 느리다. 나는 진짜 컴파일러를 쓰고 싶지는 않지만 빨리 컴파일하고 실행하고 싶습니다.
이라면 스택 포인터로로드 된 하나의 레지스터 만 있으면됩니다. 그것은 "컴파일"이지만 모든 EXE 헤더없이 외부 라이브러리 등을 연결합니다. 그래서 쉬워야합니다. – Tom
여전히 위치를 변경 (픽스 업)해야합니다. 어떤 데이터도 사용하지 않거나 (시작시 레지스터에 전달되는 포인터를 통해 간접적으로 주소 지정하는 경우) 분기 및 PIC 근처에서만 사용해야합니다. –