求助:读取进程调用的模块句柄(ID)

起因:有围棋软件叫“风月手谈”地址:www.qiyoujoy.com。主程序:LCGO.exe,其有个GoKernel.dll的动态库。登陆界面左上角有显示棋币。用普通控件无法读取棋币,于是想用读取内存的方式获取棋币数据。用飞跃大佬的读取内存数据轮子在win7下用”LCGO.exe”+0x005C0754+0x00400000+0x1F8可以读取棋币。在win10下则必须用”gokernel.dll”+0x001D0B18+0xE0读取棋币数据。LCGO.exe的句柄容易读取,但gokernel.dll这个模块的句柄却不能读取。
努力:QQ的云兄教我找内存,Tebayaki兄台帮我找了轮子:https://www.autohotkey.com/boards/viewtopic.php?t=19323
里的GetModuleBaseAddr(ModuleName, ProcessID)。
问题:1. win7用LCGO.exe没问题。64位win10必须用gokernel.dll+偏移的方式。(用ce验证和查找的唯一取得棋币数据的方式)但上面轮子在64位win10下能获取快照,无法获取gokernel.dll的句柄或基址。
2. ME32.Addr := Format(“{:#016x}”, NumGet(MODULEENTRY32, (A_PtrSize = 8 ? 24 : 20), “uptr”))获取typedef struct tagMODULEENTRY32 {
DWORD dwSize;
DWORD th32ModuleID;
DWORD th32ProcessID;
DWORD GlblcntUsage;
DWORD ProccntUsage;
BYTE *modBaseAddr;
DWORD modBaseSize;
HMODULE hModule;
char szModule[MAX_MODULE_NAME32 + 1];
char szExePath[MAX_PATH];
} MODULEENTRY32;结构里的hModule需要修改哪里?修改成多少?

论坛管理 管理员

热门评论
:
该帖子评论已关闭
图片审查中...
编辑答案: 我的回答: 最多上传一张图片和一个附件
x
x
个人中心
购物车
优惠劵
有新私信 私信列表
搜索