답변
가상 컴퓨터를 만들고 코드를 실행하거나 반사 및 동적 형식을 사용하여 잠재적으로 동적 어셈블리를 만들 수 있습니다. 어셈블리를 동적으로로드 할 수 있습니다.
http://msdn.microsoft.com/en-us/library/system.reflection.assembly.load.aspx
당신은 따라서 아마도 그 뭔가를 할 수 있습니다. 내 기억이 나에게 도움이된다면 몇 가지 제한이 있습니다.
는 참조
반사 Assembly.Load 응용 프로그램 도메인
예. This answer은 바이트 배열의 내용을 직접 실행할 수 있음을 보여줍니다. 기본적으로 VirtualAlloc
을 사용하여 알려진 주소 (IntPtr
)의 힙에 실행 가능 영역을 할당합니다. 그런 다음 바이트 배열을 Marshal.Copy
으로 해당 주소로 복사합니다. GetDelegateForFunctionPointer
을 사용하여 포인터를 대리자로 변환하고 마지막으로 일반 대리자로 호출합니다. typeToExecute이 호출 프로그램에 알려진 인터페이스를 구현하는 경우, 당신은이 인터페이스로 캐스팅하고 호출 할 수 있습니다, 지금
Assembly assembly = AppDomain.Load(yourByteArray)
Type typeToExecute = assembly.GetType("ClassName");
Object instance = Activator.CreateInstance(typeToExecute);
: 바이트 배열을 가정
는.NET 어셈블리 파일 (.exe 또는 .dll)를 포함 방법 :
((MyInterface)instance).methodToInvoke();
바이트 배열이 EntryPoint
(Main 메서드)이있는 .Net 어셈블리 인 경우이 작업을 수행 할 수 있습니다. returnValue
의 대부분은 null
입니다. 그리고 커맨드 라인 인수를 제공하고 싶다면 아래 나열된 commandArgs
문자열에 넣을 수 있습니다.
var assembly = Assembly.Load(assemblyBuffer);
var entryPoint = assembly.EntryPoint;
var commandArgs = new string[0];
var returnValue = entryPoint.Invoke(null, new object[] { commandArgs });
- 1. 바이트 배열에서 이중 배열
- 2. 비디오를 바이트 배열에서 재생
- 3. 바이트 배열에서 UTF8로 CString
- 4. C# 바이트 배열에서 비디오
- 5. 바이트 배열에서 변수 만들기
- 6. VB.NET의 바이트 배열에서 4 바이트 가져 오기
- 7. 바이트 배열에서 첫 번째 16 바이트 제거
- 8. 바이트 배열에서 오디오 샘플을 가져
- 9. 바이트 배열에서 C++ MSXML에 XML로드
- 10. 동적 바이트 코드 실행
- 11. 바이트 배열에서 XpsDocument를 만드는 방법은 무엇입니까?
- 12. 바이트 배열에서 얼마나 많은 비트를 확인하는 방법?
- 13. 인덱스를 사용하여 바이트 배열에서 정보에 액세스
- 14. 바이트 배열에서 청크를 복사하려면 루프가 필요합니다.
- 15. 바이트 배열에서 System.Windows.Media.ImageSource를 만드는 방법은 무엇입니까?
- 16. 바이트 배열에서 이미지를 표시하는 방법은 무엇입니까?
- 17. servermap 경로의 바이트 배열에서 파일 저장
- 18. 바이트 배열에서 XMLDocument로드 (예 : BOM 문자 포함)
- 19. 바이트 배열에서 Image 객체 가져 오기
- 20. C++의 바이트 배열에서 HICON을 생성 하시겠습니까?
- 21. 바이트 배열에서 IL을 가져 오는 API
- 22. PHP - 바이트 배열에서 이미지 가져 오기
- 23. android의 바이트 배열에서 EXIF 데이터 읽기
- 24. 바이트 배열에서 문자열로 이미지 (또는 그 반대로)
- 25. 메모리 스트림 또는 바이트 배열에서 Flash 무비로드
- 26. 바이트 배열에서 가변 길이 코드 읽기 [C#]
- 27. 바이트 배열에서 단일 BIT를 읽는 방법?
- 28. 바이트 배열에서 null을 제거하는 방법은 무엇입니까?
- 29. 바이트 배열에서 특정 값 사이의 임의의 정수를 생성하는 방법
- 30. 안드로이드에서 OpenGL을 사용하여 바이트 배열에서 비트 맵을 만듭니다.
어떤 종류의 프로그램입니까? –
바이트 배열 안에 텍스트 "Hello"가 저장된 간단한 프로그램이 있다고 가정 해 보겠습니다. – DanSpd
배열의 내용은 무엇입니까? 소스 코드, 실행 코드? – Ikke