用OD调试扫雷程序为什么查找主窗口函数地址查不到

用OD调试扫雷程序为什么查找主窗口函数地址查不到,第1张

OD查找

扫雷主窗口函数

地址

时间:2014-09-10

00:28:39

阅读:413

评论:0

收藏:0

[点我收藏+]

标签:ollydbg

调试

扫雷

闲着没事,使用OD调试下扫雷程序,看了郁金香大牛的视频,OD载入扫雷程序,F9运行,查看——窗口(刷新),就可以看到主窗口地址,不知道什么原因,本机OD显示的地址是FFXXXXXXX地址,很明显不对,换了好几个系统也不正常。无奈,只好自己跟下。

一、OD打开扫雷程序,程序停在模块入口点出

bubukocom,布布扣

二、ctrl

+

g

RegisterClassW函数出下断点

bubukocom,布布扣

然后

F9运行,停在此处,然后

ctrl

+

F9

跳出此函数

bubukocom,布布扣

在pWndClass出下断点(此处是窗口注册类,下上断点看窗口注册类的地址),然后取消RegisterClassW的断点,重新运行,程序停在,pWndClass处

bubukocom,布布扣

可知窗口注册类的地址为

7FED0

,内存中查看窗口注册类内容。

由窗口注册类结构

typedef

struct

tagWNDCLASSW

{

UINT

style;

WNDPROC

lpfnWndProc;

int

cbClsExtra;

int

cbWndExtra;

HINSTANCE

hInstance;

HICON

hIcon;

HCURSOR

hCursor;

HBRUSH

hbrBackground;

LPCWSTR

lpszMenuName;

LPCWSTR

lpszClassName;

}

WNDCLASSW,

PWNDCLASSW,

NEAR

NPWNDCLASSW,

FAR

LPWNDCLASSW;

可知,结构第二项,为回调函数的地址,从内存中可知,回调函数地址为01001bc9

1、打开我的电脑的系统盘,搜索Minesweeper。

2、点击那个文件夹进入。我们看到有一个地雷的标志,没错哪个就是win7扫雷程序。

3、右键点击扫雷图标,选择附到开始菜单。

4、点击右键创建快捷方式,点击是 在桌面上创建快捷方式。右键点击桌面扫雷快捷方式,选择重命名,改名为扫雷。

5、打开开始菜单右键单击游戏选择属性,复制位置信息。

6、打开我的电脑,在地址栏粘贴地址,找到游戏文件夹打开,将桌面快捷方式复制到游戏菜单下。

模式设定:

左键单击:在判断出不是雷的方块上按下左键,可以打开该方块。如果方块上出现数字,则该数字表示其周围3×3区域中的地雷数(一般为8个格子,对于边块为5个格子,对于角块为3个格子。

所以扫雷中最大的数字为8);如果方块上为空(相当于0),则可以递归地打开与空相邻的方块;如果不幸触雷,则游戏结束。

右键单击:在判断为地雷的方块上按下右键,可以标记地雷(显示为小红旗)。重复一次或两次 *** 作可取消标记(如果在游戏菜单中勾选了“标记()”,则需要两次 *** 作来取消标雷)。

双击:同时按下左键和右键完成双击。当双击位置周围已标记雷数等于该位置数字时 *** 作有效,相当于对该数字周围未打开的方块均进行一次左键单击 *** 作。地雷未标记完全时使用双击无效。若数字周围有标错的地雷,则游戏结束,标错的地雷上会显示一个“ ×”。

扫雷的游戏规则:

扫雷就是要把所有非地雷的格子揭开即胜利;踩到地雷格子就算失败。

游戏主区域由很多个方格组成。使用鼠标左键随机点击一个方格,方格即被打开并显示出方格中的数字;方格中数字则表示其周围的8个方格隐藏了几颗雷;如果点开的格子为空白格,即其周围有0颗雷,则其周围格子自动打开;如果其周围还有空白格,则会引发连锁反应;在你认为有雷的格子上,点击右键即可标记雷;如果一个已打开格子周围所有的雷已经正确标出,则可以在此格上同时点击鼠标左右键以打开其周围剩余的无雷格。

1代表1的上下左右及斜角合计有一颗雷,依次轮推,2则有2颗,3则有3颗

在确实是炸d的方格上点了旗子,就安全了,不是炸d的被点了旗子,后面会被炸死的问号就先不确定这里有没有炸d,不会存在点错了被炸死的状况

有个小窍门,在数字旁同时点左键和右键可以排雷

第一下点的一定不是雷, 左键点开,右键用旗子标记雷,同时左右键点数字可以判断周围的雷是否已经全部标出

每个数字代表 这个数字周围九个格里,有几颗雷!比如,1,周围九个格里只有一颗雷,2 周围九个格里就有两颗雷,以此类推

通过单击即可挖开方块。如果挖开的是地雷,则您输掉游戏

如果方块上出现数字,则表示在其周围的八个方块中共有多少颗地雷

要标记您认为可能有地雷的方块,请右键单击它

游戏区包括雷区、地雷计数器和计时器

数字就是这个方块周围的8个方块里有的雷的数量,问号是自己弄上去的,可以的地方可以弄个问号,旗子就是确定那里有雷了 其实胡点就好

先说一个 扫雷的吧,,没办法给你源程序,

就给你说制作过程吧,

打开VB60

在窗体的上半部分,用pictureBOX控件画一定的区域用来模仿WINDOWS那样的,里面显示雷数,时间,以及开始,,并且命名为picture1

在画好后,在picture1里 放4个控件,text1,text2,commandbutton(按钮),timer1并且给这4个控件属性定义属性值:text1和text2的BackColor属性为黑色,ForeColor为红色,FONT属性改为小二号。text1 的text属性为10,text2的text属性为0

按钮控件的名称属性改为C1,Caption属性改为开始。FONT属性改为小二号

Timer1 属性 Enabled 为 False, Interval为1000

再Picture1的下面再用Picturebox控件画一定的区域做为雷区。将这个控件的名称属性改为P ,AutoRedraw属性改为True

然后再把控件P(雷区)里 放一个按钮(数组)控件,其属性:名称改为C,Caption为空

(怎么建数组控件?就是在该控件上点右键选择复制,在空白区选择粘贴,系统会提示你是否建立数组控件,你选是就OK了) 它变成数组控件后,两个控件名称一样都是C 但是会有一个C(0)和C(1) 你把(1)的删除就行了,在C(0)控件的属性style改为1,

做完以上的,,只需要把以下代码复制到代码区即刻运行

以上就是关于用OD调试扫雷程序为什么查找主窗口函数地址查不到全部的内容,包括:用OD调试扫雷程序为什么查找主窗口函数地址查不到、如何解决扫雷打不开问题、电脑程序里的扫雷怎么玩啊等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9615105.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存