首页
社区
课程
招聘
扫雷也可以这样玩
2006-3-18 01:24 13939

扫雷也可以这样玩

2006-3-18 01:24
13939
扫雷也可以这样玩


具体思路在十楼奉上,有说的不清楚的,请指出

谢谢北极星支持,在这里更新吧^_^

这个链接已经更正↓

[CTF入门培训]顶尖高校博士及硕士团队亲授《30小时教你玩转CTF》,视频+靶场+题目!助力进入CTF世界

上传的附件:
收藏
点赞7
打赏
分享
最新回复 (38)
雪    币: 214
活跃值: (40)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
天涯浪人 2 2006-3-18 01:29
2
0

怎么上传上去的图片,跟本地的不一样?
再传一次试试
顺便把源码也奉上,代码垃圾别扔砖哦
雪    币: 214
活跃值: (40)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
天涯浪人 2 2006-3-18 08:56
3
0
希望有线程插入的朋友路过时,留下一点宝贵的意见
欢迎有兴趣的朋友观看修改,如果可以的话,让我也看看修改后的代码,共同进步嘛~~

谢谢
上传的附件:
雪    币: 227
活跃值: (91)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
suddymail 2006-3-18 09:38
4
0
收下。看看先。谢了。
雪    币: 1852
活跃值: (504)
能力值: (RANK:1010 )
在线值:
发帖
回帖
粉丝
北极星2003 25 2006-3-18 11:54
5
0
挺不错的东西,鼓励下!!
不过其中的雷的定位还是有问题,
可以再仔细检测下,有些雷的位置不正确!!
希望继续改进
雪    币: 214
活跃值: (40)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
天涯浪人 2 2006-3-18 12:12
6
0
多谢宝贵意见,一定改进
雪    币: 211
活跃值: (40)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
17521 1 2006-3-18 13:30
7
0
这个好玩 学习学习
雪    币: 211
活跃值: (40)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
17521 1 2006-3-18 13:36
8
0
非常不错 希望楼主能介绍一下详细的思路 供大家学习 *^_^*
雪    币: 208
活跃值: (41)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
redacker 2006-3-18 14:27
9
0
codeproject上有怎么读扫雷和红心的数据
雪    币: 214
活跃值: (40)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
天涯浪人 2 2006-3-18 16:24
10
0
在WinMain()里先对PROCS结构初始化

RPOCS里包含插入线程的全局变量和要装入API的函数名和函数指针

然后在Winmine里申请两个内存块,第一个用来放PROCS结构,第二个用来放第一个内存块的指针(第二个块的前四个字节)和代码

然后运行插入线程,插入的线程用前面的PROCS结构的指针(==第一个块的指针)访问PROCS结构成员,PROCS结构里包含在插入线程以前获得的GetModuleHandle(),LoadLibrary(),GetProcAddress()的地址(看罗云彬的书学的,由于不会PEB)->再然后依次获得要用到的函数地址->替换原Winmine的窗口过程->创建自己的窗口

在自己的窗口过程中创建三个CompatilbeDC,第一个用来存放Winmine中窗口显示的各个图画->
第二个用来存放自己计算出来的整个画面,第三个用来存放那个小窗口的画面

在替换的Winmine过程中检查两个消息:
1、检查是否有刷新的动作,如果有则刷新第二个CompatibleDC
2、检查WM_MOUSEMOVE来刷新第三个CompatilbeDC并刷小窗口

不知道这样说行不?
我也是初学乍道,有说的不对或写的不对的地方希望大家帮忙指出来,小弟感激不尽
一开始上传了一个竖着的图片嫌太占地方,就重传了一个横着的,请版主把那个竖着的删除文件名是bbs.pediy.com/upload/2006/41/image/c.jpg
雪    币: 214
活跃值: (40)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
天涯浪人 2 2006-3-18 16:36
11
0
最初由 北极星2003 发布
挺不错的东西,鼓励下!!
不过其中的雷的定位还是有问题,
可以再仔细检测下,有些雷的位置不正确!!
希望继续改进


在我的机子上没有发现不准的情况,可不可以提示一下在什么情况下不准啊
是小窗口的坐标计算还是雷的排列计算?
雪    币: 389
活跃值: (912)
能力值: ( LV9,RANK:770 )
在线值:
发帖
回帖
粉丝
kyc 19 2006-3-18 16:49
12
0
雪    币: 1852
活跃值: (504)
能力值: (RANK:1010 )
在线值:
发帖
回帖
粉丝
北极星2003 25 2006-3-18 19:34
13
0
如果在多点几下后,可能会出现定位不正确的情况
上传的附件:
  • 1.jpg (17.52kb,98次下载)
雪    币: 214
活跃值: (40)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
天涯浪人 2 2006-3-19 01:05
14
0
最初由 北极星2003 发布
如果在多点几下后,可能会出现定位不正确的情况


谢谢测试

检查发现,Winmine不会让玩家第一次就点到雷,如果碰巧点的是雷,Winmine会改变雷的布局

想办法改进中...
雪    币: 214
活跃值: (40)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
天涯浪人 2 2006-3-19 02:07
15
0
现在暂时可以在出错的时候点一下与平行的空白处
雪    币: 6561
活跃值: (2994)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
asd 2006-3-19 10:39
16
0
学习学习,支持楼主
雪    币: 1852
活跃值: (504)
能力值: (RANK:1010 )
在线值:
发帖
回帖
粉丝
北极星2003 25 2006-3-19 11:06
17
0
最初由 天涯浪人 发布
谢谢测试

检查发现,Winmine不会让玩家第一次就点到雷,如果碰巧点的是雷,Winmine会改变雷的布局

想办法改进中...


支持!!
雪    币: 214
活跃值: (40)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
天涯浪人 2 2006-3-19 16:26
18
0
找着了,Winmine有一个变量(bFlag 初始值是0)专门存放玩家上次点的图标的代表值(0x41,0x42...)
当接受到WM_LBUTTONUP消息时就cmp bFlag,0:
    如果不相等的话就跳
    如果相等就SetTimer()开始记时,同时检测点的是不是雷,如果是的话就从第一个位置开始往后找,找到第一个不是雷的地方,把放到那儿。

我在PROCS结构中也加了一个变量用来指向bFlag,接到WM_LBUTTONUP时检查它指向的bFlag是不是0。
雪    币: 1852
活跃值: (504)
能力值: (RANK:1010 )
在线值:
发帖
回帖
粉丝
北极星2003 25 2006-3-19 19:48
19
0
最初由 天涯浪人 发布
找着了,Winmine有一个变量(bFlag 初始值是0)专门存放玩家上次点的图标的代表值(0x41,0x42...)
当接受到WM_LBUTTONUP消息时就cmp bFlag,0:
如果不相等的话就跳
如果相等就SetTimer()开始记时,同时检测点的是不是雷,如果是的话就从第一个位置开始往后找,找到第一个不是雷的地方,把放到那儿。

........


效率还真高!

最好能够在帖子的标题中注明,正确的软件在18楼
否则别人很难找到
雪    币: 389
活跃值: (912)
能力值: ( LV9,RANK:770 )
在线值:
发帖
回帖
粉丝
kyc 19 2006-3-19 21:35
20
0
这里某人写过扫雷作弊
http://www.vckbase.com/document/viewdoc/?id=1581
支持一下.
雪    币: 214
活跃值: (40)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
天涯浪人 2 2006-3-19 21:38
21
0
谢谢各位支持
由于玩论坛不多,也为了节约地方,我把18楼这个附件删了

把1楼的链接更新了
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
zheps 2006-3-19 22:18
22
0
支持,学习中。。。。
雪    币: 179
活跃值: (131)
能力值: ( LV12,RANK:290 )
在线值:
发帖
回帖
粉丝
WAKU 7 2006-3-20 08:05
23
0
最初由 天涯浪人 发布
谢谢测试

检查发现,Winmine不会让玩家第一次就点到雷,如果碰巧点的是雷,Winmine会改变雷的布局

想办法改进中...


第一次点雷的话,雷会跑到第一行第一个,如果那也有雷的话,就是第一行第二个....依此类推
楼主的程序挺有意思
我也写过一个自动扫雷的程序,是根据颜色推理出来的,和人玩的思路差不多
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
yujinjianx 2006-3-20 14:30
24
0
学习学习
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
xecd 2006-3-20 22:59
25
0
是什么呀?看看
游客
登录 | 注册 方可回帖
返回