第一步当然是开游戏,有CE载入它的进程(看图)
搜你要搜的值,一般用默认的那个(整数,4字节)
比如搜金钱,就输入金钱数,一开始会有很多个,这时要改变下金钱的数(捡钱扔钱随你)
然后再次搜金钱的数,循环数次后剩下1个或几个,双击它,看图,现在我的钱是5
点击中框选的位置
点击后得到一个新窗口
进入游戏改变一下金钱的数(扔钱捡钱随便你),之后得到如下图
双击出现的文字,出现如下图
根据刚才记下的esi,搜索下esi(如图)
按照下图指示
双击选出的那一项,按照图1
图2的顺序做
这时候要小退一下,记住`是小退,进来后看看那个地址的值是不是跟金钱一样,改变一下金钱的数,看会不会跟着改变,如果会,就代表找对了
这明显是dll里的一个基址。
简单说就是dll里的一个全局变量。但是要注意的一点是,dll里的模块基址可能会变的,这就导致了你说的情况。
这里,你可以计算出这个变量到模块基址的偏移,这个值是不会变的,再用它加这次打开游戏时coreclientdll的模块基址,就可以得到具体的地址。
写程序的话,你直接可以用Win32API得到模块加载时的基址。
另外说一句,看看汇编和OD吧。。。这么玩是玩不转的,局限性太大。
主基址=读内存整数型(进程PID,读内存整数型(进程PID,读内存整数型(进程PID,十六到十("2433240")+十六到十("7c"),)+十六到十("5d4"),)+十六到十("cc"),)
写内存整数型(进程PID,主基址,你写入的数据十进制的)
这是用了易语言超级模块65的,,去下一个就行了,,,,还有就是进程PID自己找吧
你要先获取模块DLL的句柄
你可以百度下载一个 取模块句柄的易语言模块 后缀是EC的
然后再易语言左边的程序栏里面————模块引用表右键导入添加模块引用,把你刚刚下载的模块导入进去
然后写一个格式类似这样的
进程句柄 = 取模块句柄 (“GGWAR3dll”)
基址 = 内存_读整数型 (进程ID, 进程句柄 + 十六到十 (“1C1160”))
模块地址我已经打包好了panlanzoucom/i0unjvi 复制后浏览器打开就行
版本 2
文件ID = 打开文件 (“游戏文件”, #读入, #无限制)
len = 取文件长度 (文件ID)
文件数据 = 读入字节集 (文件ID, len)
编辑框1内容 = “”
' =============基址
code = 编辑框7内容
addr=新寻找字节集(文件数据,Hex2String(code),)
判断开始(addr≠-1)
编辑框1加入文本(“角色基址:-->”+反写地址(String2Hex(取字节集中间(文件数据,addr+编辑框6内容,4)))+#换行符)
编辑框1加入文本 (“角色基址:-->Null” + #换行符)
' ========选怪CALL
code = “”
addr=新寻找字节集(文件数据,Hex2String(code),)
判断开始(ADDR≠-1)
编辑框1加入文本(“选怪CALL:-->”+取文本右边(“00000000”+取十六进制文本(addr+到十进制(“400000”)-编辑框4内容),8)+#换行符)
编辑框1加入文本 (“选怪CALL:-->Null” + #换行符)
以上就是关于如何用cheat engine找到frameworks托管程序变量的基址呢全部的内容,包括:如何用cheat engine找到frameworks托管程序变量的基址呢、用CE查找内存基址的问题、易语言找到基址怎么写(好的加20分)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)