吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 19614|回复: 103
收起左侧

[原创] 玩坏windows扫雷之二

  [复制链接]
1364847132 发表于 2017-6-20 02:17
上一期把“无敌”这个选项加入菜单中了。
这一期改为真正的无敌,另外加了个皮肤
效果图: 2.gif
首先我们需要把判断踩雷的函数与插旗的函数找到。不知道怎么找的跳转:[Windows] windows扫雷玩坏系列之各种玩

od载入第一期改好的文件
这里是判断是否踩雷
[Asm] 纯文本查看 复制代码
01003517  |.  55            push ebp
01003518  |.  56            push esi
01003519  |.  8B7424 10     mov esi,dword ptr ss:[esp+0x10]            ;  取点击的列数
0100351D  |.  8BC8          mov ecx,eax                                ;  取点击的行数
0100351F  |.  C1E1 05       shl ecx,0x5
01003522  |.  8D9431 405300>lea edx,dword ptr ds:[ecx+esi+0x1005340]   ;  取点击对应处的地址
01003529  |.  F602 80       test byte ptr ds:[edx],0x80
0100352C  |.  57            push edi
0100352D  |.  74 66         je short winmine.01003595                  ;  这里不跳,就踩中雷了
0100352F  |.  833D A4570001>cmp dword ptr ds:[0x10057A4],0x0
01003536  |.  75 50         jnz short winmine.01003588                 ;  这里是判断是否是第一步,如果第一步踩中雷就不跳进行重排
01003538  |.  8B2D 38530001 mov ebp,dword ptr ds:[0x1005338]
0100353E  |.  33C0          xor eax,eax
01003540  |.  40            inc eax
01003541  |.  3BE8          cmp ebp,eax

这里是插旗的地方
[Asm] 纯文本查看 复制代码
010037AA  |> \6A 0E         push 0xE
010037AC  |.  5F            pop edi
010037AD  |.  6A FF         push -0x1
010037AF  |>  E8 B6FCFFFF   call winmine.0100346A                      ;  剩余雷数-1
010037B4  |>  57            push edi                                   ;  传入参数次 0xE
010037B5  |.  FF7424 18     push dword ptr ss:[esp+0x18]               ;  传入参数 插旗的行
010037B9  |.  53            push ebx                                   ;  传入参数 插旗的列
010037BA  |.  E8 ECF6FFFF   call winmine.01002EAB                      ;  插旗

这里为什么是传入参数0xE呢?
看过上面视频的童鞋就会知道,每个方格的内容是1个字节储存的。
字节的高4位是储存这个是否是雷   0不是雷,8是雷
字节的低4位是储存这个方格的状态的  F是还未点开,E是插旗,D是问号,0就已经点开。
所以上面插旗就是传入的0xE

接下来我们来改
01003536 是踩雷之后跳向炸雷的跳转。但是在这之前应该判断一下是否勾选“无敌”,没有就执行正常的代码炸雷,有就执行插旗的函数。同样这里也没有足够的空间给我们写代码 ,所以直接跳向我们添加的区段后面。
[Asm] 纯文本查看 复制代码
01003536    - E9 5ABB0100   jmp winmine.0101F095

0101F095这样写
[Asm] 纯文本查看 复制代码
0101F095    66:833D 0000020>cmp word ptr ds:[0x1020000],0x1            ; 还记得0x1020000保存的什么吗?
0101F09D    74 05           je short winmine.0101F0A4                  ; 先判断是否勾选了“无敌”,勾选了就跳
0101F09F  - E9 E444FEFF     jmp winmine.01003588                       ; 没勾选“无敌”往回跳,执行正常炸雷代码
0101F0A4    60              pushad
0101F0A5    9C              pushfd                                     ; 保护现场。
0101F0A6    51              push ecx                                   ; 保存行
0101F0A7    56              push esi                                   ; 保存列
0101F0A8    6A 0E           push 0xE
0101F0AA    5F              pop edi
0101F0AB    6A FF           push -0x1
0101F0AD    E8 B843FEFF     call winmine.0100346A                      ; 上面3句直接抄之前的代码
0101F0B2    5E              pop esi                                    ; 恢复列
0101F0B3    59              pop ecx                                    ; 恢复行
0101F0B4    C1E9 05         shr ecx,0x5                                ; 把ecx向右移5位
0101F0B7    6A 0E           push 0xE
0101F0B9    51              push ecx
0101F0BA    56              push esi                                   ; winmine.01005407
0101F0BB    E8 EB3DFEFF     call winmine.01002EAB                      ; 插旗
0101F0C0    9D              popfd
0101F0C1    61              popad                                      ; 恢复现场
0101F0C2  - E9 CE44FEFF     jmp winmine.01003595                       ; 跳回正常代码

0101F0B4把ecx向右移5位是因为
[Asm] 纯文本查看 复制代码
0100351F  |.  C1E1 05       shl ecx,0x5

向左移了5位。
0101F0AD这个call会改变ecx 与 esi 的值,所以先在0101F0A6,0101F0A7把他们压栈。


到此我们就改完了,保存。

下面我们给它加个皮肤。

用E写一个加载皮肤的dll
dll1.png
dll2.png
然后用LordPE把dll改入扫雷的导入表
3.gif
这里我们发现一个很神奇的事情,如果勾选了检查导入函数是否存在,LordPE会直接载入这个dll,所以我们看见LordPE也换皮肤了。
改好后就完成了。


附件里面用到的文件都有。
2.zip (686.12 KB, 下载次数: 425)

第一期:http://www.52pojie.cn/thread-617946-1-1.html

免费评分

参与人数 42威望 +1 吾爱币 +50 热心值 +39 收起 理由
a22999 + 1 谢谢@Thanks!
siuhoapdou + 1 + 1 谢谢@Thanks!
cr7890 + 1 + 1 谢谢@Thanks!
dreamchaser + 1 + 1 谢谢@Thanks!
寂寞如斯 + 1 + 1 热心回复!
冒充歌神 + 1 + 1 热心回复!
YD屮 + 1 我很赞同!
岩井西衣 + 1 已答复!
Hmily + 1 + 10 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
cooltlz + 1 + 1 谢谢@Thanks!
树荫底下的太阳 + 1 + 1 热心回复!
purplewall + 1 + 1 谢谢@Thanks!
若斯子孑 + 1 + 1 谢谢@Thanks!
蓝色剧情 + 1 + 1 我很赞同!
IAMANGRY + 2 + 1 6666666
247192825 + 1 + 1 谢谢@Thanks!
wqqycc + 1 + 1 用心讨论,共获提升!
ironmaneva + 1 + 1 我很赞同!
wcj1997 + 1 + 1 已答复!
liuliu666 + 1 + 1 已答复!
刘荣彬 + 1 + 1 我很赞同!
我爱小彤 + 1 + 1 那么问题来了,你的配置完扫雷能有多少帧?
6346234891 + 1 + 1 用心讨论,共获提升!
tony2526 + 1 + 1 已答复!
★〓★〓★ + 1 + 1 目瞪口呆……
古酒道人1 + 1 + 1 想哭,,,,,什么时候才能到你这境界
smartblack + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
xcz668 + 1 + 1 我很赞同!
xiaoyxf + 1 + 1 gif图不错
ryan515 + 1 + 1 热心回复!
1154h + 1 + 1 我很赞同!
snccwt + 1 + 1 谢谢@Thanks!
郭元盛 + 1 + 1 加油
民兵李二狗 + 1 + 1 热心回复!
whlvd + 1 + 1 用心讨论,共获提升!
liphily + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
Facksxx + 1 + 1 这个扫雷是真的好玩
木子木泗 + 1 + 1 谢谢@Thanks!
黑的思想 + 1 + 1 用心讨论,共获提升!
莫名堂 + 1 我很赞同!
q396848273 + 1 + 1 谢谢@Thanks!
qaz003 + 1 谢谢分享,没分了。。加个热心才

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

qaz003 发表于 2017-6-20 03:23
谢谢分享。。。
不知道为什么,见到这类玩法总是很喜欢。。
不知道是不是当年流行改企鹅显IP时的后遗症。。。
hhhhhhaa 发表于 2017-6-20 02:48
dszsdyx 发表于 2017-6-20 03:40
yuedingwangji 发表于 2017-6-20 04:16
还有这种操作
tfrist 发表于 2017-6-20 05:03
牛人啊 呵呵 有点意思
tfrist 发表于 2017-6-20 05:06
LordPE 也秀逗了?
头像被屏蔽
chen1234 发表于 2017-6-20 06:34 来自手机
提示: 作者被禁止或删除 内容自动屏蔽
午夜流星 发表于 2017-6-20 07:12
高手啊 高手
大江守山人 发表于 2017-6-20 07:25
还有这种操作?
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-16 18:56

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表