ljxu 发表于 2013-3-16 17:24:44

扫雷 内存读址

最近搜了一下论坛里的扫雷外挂,看了一下源码,我想请问一下里面诸如以下三行代码的内存是怎么判断出来了?
$i_Width = _MemRead($v_Open, 0x1005334, "Byte") ;列数

$i_Height = _MemRead($v_Open, 0x1005338, "Byte") ;行数

$i_NonMines = _MemRead($v_Open, 0x1005194, "Short") ;雷数

还有:
If $Mine = 15 Then ;非雷区域的值
这是15的内存地址又是怎么判断出来的?

谢谢大家

cnmini 发表于 2013-3-17 06:24:51

这个有些复杂,不过老萧知道,据说骂他就会出来

Qokelate 发表于 2013-3-18 00:23:08

有一个很笨的办法

用CE打开扫雷,点击一次重新开始,然后扫描一次未知初始值,然后循环以下操作可得到大概的位置

1. 点击最左上角的方块
2. CE扫描改动的值
3. 扫雷重新开始
4. CE扫描改动的值


留心观察值的变化(原始值,无雷值,有雷值),最后定位在   winmine.exe+5164 附近

直接内存浏览,定位到 winmine.exe+5164 地址,一个个点击来看吧,貌似很简单了

ljxu 发表于 2013-3-18 00:57:16

回复 3# Qokelate


    XP中我已经读出来了,但在win7上,同样的方法就是不行,烦啊

ljxu 发表于 2013-3-18 00:58:11

回复 2# cnmini


    老箫是哪个,什么昵称的,我找他的帖子看看

烟雨 发表于 2013-3-23 13:25:34

学习了 感谢分享

949950823 发表于 2013-4-19 12:22:33

没有看懂,还是支持下

haijie1223 发表于 2013-4-19 17:16:26

回复 5# ljxu


    ~~呵呵~~论坛主人~

haijie1223 发表于 2013-4-19 17:17:18

没有研究过,不过用ce看下哪些值有变化,应该可以吧。
页: [1]
查看完整版本: 扫雷 内存读址