최근에 저는 네이티브 게임 (C/C++/etc) 용으로 Java에서 메모리 읽기/쓰기 인 광산 프로젝트를 진행해 왔습니다.JNA - 기본 주소 얻기
지금은 게임 메모리를 읽고 쓸 수있는 기반이 있지만 실행중인 응용 프로그램의 기본 주소를 얻는 방법이 필요합니다. 예를 들면 다음과 같습니다.
나는 치트 엔진과 포인터 탐색기를 사용하여 수집 한 포인터 목록을 가지고 있습니다. 이들은 게임이 다시로드 될 때마다 안정적으로 작동합니다.
지금 직면하고 문제, 최초의 포인터 (때마다 프로그램이 다시 시작을 변경) 프로그램의 기본 주소를 사용합니다 : "ac_client.exe"+ 000DF73C
내가 필요 해요 JNA를 사용하여 "ac_client.exe"의 기본 값을 얻는 방법.
나는 많은 연구를 해왔고 C++로 할 수있는 몇 가지 방법을 찾았지만 C/C++에 대한 지식은 매우 제한적이다. JNA를 사용하여 Java로 변환하기가 어렵고 여기에서 물어보고 누군가가 그러한 재능을 발휘할 수있는 대체 방법을 알고 있거나 도움이 될 수 있는지 알아 봅니다.
사전에 도움을 주셔서 감사합니다. Kaden.
[편집]
내 솔루션을 읽어보십시오! 도와 주셔서 감사합니다.
동일한 이유로 내 자신의 프로젝트가 실제로 생겼습니다. JNA는 자체적으로'EnumProcessModules()'를 구현하지 않았으며, 모듈을 걷는 ToolHelp32Snapshot 메소드를위한'MODULEENTRY32'의 구현이 부족합니다. 나는 내 자신의'EnumProcessModules'을 발견하고 구글에서 찾은 코드에서 실행하려고 시도했지만 운이 없었다. 당신은 내가 여기서 참조하고있는 코드를 확인할 수 있습니다 : https://code.google.com/p/dsexplorer/source/browse/trunk/DSexplorer/src/luz/memoryTool/interfaces/Psapi.java?r=8 –
@ AlexLynch, 완벽 했어. 마침내 제대로 작동 했어. 나는 그 프로젝트에서 몇 가지 클래스를 사용하여 내가 만든 메소드를 게시 할 것이다. – Kaden