내 질문은 정말 위의, 나는 이것에 대한 자세한 정보를 아래에 줄 것이다 그러나 :동일한 프로그램에 삽입 된 다른 .dll에서 함수를 호출하려면 어떻게해야합니까?
이 DLL은 내가 처음으로 "거짓"d3d9.dll 걸리는 프로그램을 가지고 있으며,이 DLL은 내가 리버스 엔지니어링중인 게임에로드됩니다. 잠시 후 .dll이로드되고 다른 모든 게임 종속성과 함께 리버스 엔지니어링의 모든 더러운 작업을 수행 할 DLL을 삽입하려고합니다.
LoadLibrary를 사용하여 프로그램에이 DLL을로드 할 수 있다고 생각하지만, 리버스 엔지니어링 된 기본 코드를 실행하기 위해 주입 한 DLL을 사용할 때 생각합니다. d3d9.dll에서 무언가를 호출하는 데 사용할 수있는 함수가 있습니까?
이것은 주입 된 .dll로 화면에 추가 할 수있는 것들을 렌더링하기 위해 d3d9 라이브러리에 대한 액세스가 여전히 필요하기 때문입니다. d3d9.dll은 로딩 시간과 메모리가 변경되는 시점에서 문제를 일으키기 때문에 d3d9.dll을 사용하고 싶지 않습니다.
또한 DLL에서 DllMain을 사용할 계획이 없습니다. 즉, 안전한 프로세스 시작을 보장하기 위해 d3d9.dll에서 주입 된 DLL로 원격 함수를 호출해야합니다.
죄송합니다. 어리석은 질문 인 경우 죄송합니다. 답변을 제공해 주셔서 감사합니다.
CreateRemoteThread를 사용해 보셨습니까? –
예, 죄송합니다. 그러나 나는 매개 변수에 무엇을 넣을 지 모른다 : lpStartAddress [in]. 함수 이름 (d3d9.dll에 정의되지 않았습니까?) 또는 메모리 주소를 넣을까요? 정말 시작 주소가 무엇인지 모르겠습니다. – user1591117
DLL에 Dllmain을 사용하거나 사용하지 않으려는 기술적 인 이유가 있습니까? –