地面物品的查找方法及其call的写法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
地面物品的查找方法及其call的写法
吴僚编写qq群:58160782 转载请说明
1.开始. 游戏武林外传. 工具od ce 遍历
2.地面物品的查找由于游戏放置在地面上的物品有时间的限制所以
我们应该找个固定的物品,这里我选择了挖矿或采集为地面物品.
3.开动..启动游戏打开ce
我用的是猪圈.嘿嘿……
说明下: 我主要是根据人与物品的距离来找, 距离在游戏中是浮点形式,所以ce要设置浮点形式找未知数值….
结果
奥运快要到了,比赛规则大家都看过吧去掉一个最高分去掉一个最低分最后得分为XXX 我们也是要去掉负数去掉大于5.000000的数(因为我们贴近他所以距离很小一般是1.xxxxxxx) 最后结果为
然后我们要移动找增加减少的数值.得到2个数值
这里都是人物与物品的距离浮点数…..single
看看谁动了我的奶酪. 查找写入该地址的代码.如下图.
找吧ebx寄存器偏移15c 开动….
结果为: 双击填入
在这里我还是说明下,我还是用我的习惯就是每次都把我要建立的指针复制一份放下来这样的好处是错了你可以重新开始上一步不用重头开始,这是笨人的习惯. 你可以学可以不学….嘿嘿
添加指针吧.
结果这样继续看谁访问了我的奶酪继续…..
是这样了
这里有个问题了这个edx+4 不是每次都能出现的.原因我不知道.但是我发现个问题
这个是我编写好的程序如果我找的东西编号最小也就是说循环次数少(i*4)的话edx+4就容易出来.
搜索填入指针吧
继续找下一个….这里我用的是访问
这个也是很难找到一般不出现的.(eax+edx*4)
结果这样了.看到了有个数组的.大概是了,跟下看看哦天热没老婆闲着没事干…
这样了.继续吧
有人要问我了这个偏移你是怎么搞出来的, 那个那个那个呵呵这个2cc
看那里面的edx=? 怎么办不知道啊告诉你计算机本来带个工具叫计算器,呵呵如果这个不会可以去看看ce教程的第8节,看了也不会….郁闷我教你吧..看下如果我不填写2cc 上一个指针什么样.
这样的那上次做好的指针什么样呢? 这样看图
看看这两个值
计算一下你的偏移吧会了吧呵呵
好了我们继续找吧
这里的18也是相当难找.
现我知道的笨方法有两个一是访问然后等,等会就出来你想要的了.要不就是读的方式
继续
以后的我不说了,根本就是很正常的找了没难度了结果这样.
偏移出来了吧. 写代码了.
这谁都会哎不发了我写的太烂那遍历吧好的遍历先
这几个都能找到的放心.
下面捡物call了开od bp send ctrl+f9 1层2层3层发包层过了差不多了开始注意,捡物肯定不是无参call 找有参的
004745EE 8B0D 74749300 mov ecx, dword ptr [937474] ; ElementC.0093AF20
004745F4 8B97 10010000 mov edx, dword ptr [edi+110]
004745FA8B46 20 mov eax, dword ptr [esi+20]
004745FD 52 push edx
004745FE 8B49 20 mov ecx, dword ptr [ecx+20]
00474601 50 push eax
00474602 81C1 D4000000 add ecx, 0D4
00474608 E8 B3B01000 call 0057F6C0
我知道我晓得这个就是,怎么知道的试验出来的,呵呵,这个铁面在行
不会的请教他吧
我们单步走看看每句的内容第一句这个是call的基址不解释.
这些逐条解释下.先全部下断.
看到了吗eax 和edx的值了吗变化,
这里说明下我一边写这个文档还给一边调试忙不过来还有个领导给一直关照,所以我没有办法保证及时慢了物品就消失了.所以我就一会我讲这两个值怎么来的时候可能变化的但是如果你按我这么做肯定对.
来看看这两个值是什么.第一个eax c001aeeb 这个我不知道不管他看edx=ba4,十进制就是2980 =物品的ID 这个你要是不知道也没有关系下面我们遍历这两个值看看他具体偏移多少,我相信现在你应该把显示距离的那个程序编写好了吧.开始
我编写的这样.
我加了个编号就是为了好调试,效果是这样
看到编号了吧
代码是这样d是我的循环因子.这样以来我
就知道了这个物品现在在数组的那个偏移里的对吧.打开遍历工具吧
编号就是偏移对吧填入遍历898
搜那个id 然后看偏移偏移
一个参数搞定. 物品捡起来这个游戏我级低物品少禁不住折腾,下面来第二个参数.
同理扔一个,od断,然后找偏移填入搜索
编号818
Od断了这个值c001b94a
换算后这样
填入偏移818
填入搜索条件
结果这样
偏移出来了
现在我们知道了这个是把物品的
这个偏移地址的值
是物品的
这个偏移地址的值
开写吧,
框架这样
Sub Call_jw()
Dim asm As New clsASM '自动拣物
With asm
.Pushad
.Mov_ECX_DWORD_Ptr &H937474 这句不解释
.Mov_EDX
.Mov_EAX