起因:有围棋软件叫“风月手谈”地址: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需要修改哪里?修改成多少?
求助:读取进程调用的模块句柄(ID)
隐藏内容,支付积分阅读
已有90人购买此隐藏内容
隐藏内容,支付费用阅读
¥
已有86人购买此隐藏内容
隐藏内容,仅限以下用户组阅读
隐藏内容,登录后阅读
登录之后方可阅读隐藏内容
隐藏内容,评论后阅读
请在下面参与讨论之后,方可阅读隐藏内容
隐藏内容,加入论坛后阅读
您需要加入论坛之后才能查看帖子内容
您猜对了答案,下面是向您展示的隐藏信息:
[]
[¥]
向
提问:
隐藏内容,猜对答案后阅读
猜错啦:您选中的是「」,正确答案是:「」
多选人参与投票
单选人参与投票
PK人参与PK
·已选
已选·
投票后查看结果,您的选择是?
思想因碰撞产生火花,真理因辩论获得升华
热门评论
:
请先登录!
图片审查中...
登录之后回答问题,请先登录!
编辑答案:
我的回答:
最多上传一张图片和一个附件
x
x