我来我网
https://5come5.cn
 
您尚未 登录  注册 | 菠菜 | 软件站 | 音乐站 | 邮箱1 | 邮箱2 | 风格选择 | 更多 » 
 

本页主题: [菜鸟小刀]修改扫雷[高手勿进] 显示签名 | 打印 | 加为IE收藏 | 收藏主题 | 上一主题 | 下一主题

yinx



性别: 帅哥 状态: 该用户目前不在线
等级: 人见人爱
家族: 丢丢
发贴: 2333
威望: 0
浮云: 1260
在线等级:
注册时间: 2006-09-15
最后登陆: 2009-05-11

5come5帮你背单词 [ dilute /dai'lut/ v. & a. 冲淡(的),稀释(的) ]


[菜鸟小刀]修改扫雷[高手勿进]

请内网的高手们不要再嘲笑我了....

所以请高手飘过~~~

用OD载入扫雷,先看看它手里有什么API函数小妹妹,选一个容易入手的. msvcrt.rand看起来不错,而且只有一处调用了她.猜都猜得到是开局的时候用的.
[attachment=916117]

在msvcrt.rand身上放个[屏蔽],她就带你来到看扫雷最性感的一面了,完全暴露了.只要修改这里就行了.看到没有,78是雷的个数,1E是列数,14是行数,8F代表一个雷,0F代表一个没有雷的空格.不过为了为不同级数预留空间,并不是每个0F都会用到的,自己看.
[attachment=916118]

用eXeScope给扫雷的"帮助"菜单上加上一项,"看答案",并定义它为命令594.
[attachment=916119]

用OD载入扫雷,找它的窗口函数.找到是01001BC9.这里要用到pWndClass的定义.
[attachment=916120]
顶端 Posted: 2007-03-16 11:37 | [楼 主]
yinx



性别: 帅哥 状态: 该用户目前不在线
等级: 人见人爱
家族: 丢丢
发贴: 2333
威望: 0
浮云: 1260
在线等级:
注册时间: 2006-09-15
最后登陆: 2009-05-11

5come5帮你背单词 [ slam /slæm/ v. 砰地关上,砰地放下 ]


跟啊跟,跟到它处理菜单命令的地方.
5.JPG

先在.TEXT段里找一片广阔的天地(我选择01004A5B,好多00金币),在这里有空间做你想做的事.
6.JPG

从1001EEF里跳过来.
7.JPG

大搞特搞,期间扫雷被我弄到异常退出无限次.因为我太菜,代码是试了好多次才出来的,所以写的很不好看.....代码如下:
01004A5B   > \83F8 01       cmp eax,1                     ; Default case of switch 01001EDC
01004A5E   . 75 50         jnz short winmine4.01004AB0
01004A60   . 60           pushad
01004A61   . B8 40530001     mov eax,winmine4.01005340
01004A66   . B9 60030000     mov ecx,360
01004A6B   > 8038 8F       cmp byte ptr ds:[eax],8F
01004A6E   . 75 07         jnz short winmine4.01004A77
01004A70   . 90           nop
01004A71   . 90           nop
01004A72   . 90           nop
01004A73   . 90           nop
01004A74   . C600 8E       mov byte ptr ds:[eax],8E
01004A77   > 40           inc eax
01004A78   . 49           dec ecx
01004A79   .^ 75 F0         jnz short winmine4.01004A6B
01004A7B   . 6A 06         push 6                       ; /ShowState = SW_MINIMIZE
01004A7D   . FF35 245B0001   push dword ptr ds:[1005B24]         ; |hWnd = 000D02C8 ('扫雷',class='扫雷')
01004A83   . FF15 34110001   call dword ptr ds:[<&USER32.ShowWindow>>; \ShowWindow
01004A89   . FF35 245B0001   push dword ptr ds:[1005B24]         ; /hWnd = 000D02C8 ('扫雷',class='扫雷')
01004A8F   . FF15 58110001   call dword ptr ds:[<&USER32.UpdateWindo>; \UpdateWindow
01004A95   . 6A 09         push 9                       ; /ShowState = SW_RESTORE
01004A97   . FF35 245B0001   push dword ptr ds:[1005B24]         ; |hWnd = 000D02C8 ('扫雷',class='扫雷')
01004A9D   . FF15 34110001   call dword ptr ds:[<&USER32.ShowWindow>>; \ShowWindow
01004AA3   . FF35 245B0001   push dword ptr ds:[1005B24]         ; /hWnd = 000D02C8 ('扫雷',class='扫雷')
01004AA9   . FF15 58110001   call dword ptr ds:[<&USER32.UpdateWindo>; \UpdateWindow
01004AAF   . 61           popad
01004AB0   >^ 0F85 F3D6FFFF   jnz winmine4.010021A9
01004AB6   .^ E9 3FD4FFFF     jmp winmine4.01001EFA

完工!
8.JPG

成品下载 winmine4.rar
本帖最近评分记录:
  • 浮云:30 (by kangtalc) | 理由: 好东西
  • 顶端 Posted: 2007-03-16 11:40 | [1 楼]
    我来我网·5come5 Forum » 程序员之家

    Total 0.010907(s) query 6, Time now is:12-13 09:02, Gzip enabled
    Powered by PHPWind v5.3, Localized by 5come5 Tech Team, 黔ICP备16009856号