吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

搜索
查看: 4556|回复: 50
上一主题 下一主题

[游戏安全] 【原创】CE教程:逃跑吧少年无限子弹无冷却无后座等实现(未完待续)

  [复制链接]
跳转到指定楼层
楼主
忆魂丶天雷 发表于 2020-6-1 23:08 回帖奖励
本帖最后由 忆魂丶天雷 于 2020-6-2 13:53 编辑

声明

教程仅供技术交流使用,严禁用于非法用途。


前言

大家六一儿童节快乐,本篇教程会简单介绍逃跑吧少年无限子弹无冷却等一系列子弹相关功能实现思路。


提示

游戏有驱动保护,本教程重点偏向于相关功能实现,不涉及如何对抗驱动。

前系列教程中有简单的过驱动方法,但是因为已经时隔几个月,现在是否还能使用请自行测试。


无限子弹实现思路(一)

1.附加游戏进程等一系列操作此处省略
2.如图所示 进入游戏购买武器后发现直接显示了子弹数量。

3.但是本游戏数值进行了加密,当然不能直接搜索4。该踩的坑我已经帮大家踩完了,这里直接告诉大家。本游戏数值加密大部分与444444相关。此时我们直接搜索444444

4.发射一颗子弹后我们搜索变动的数值。如图所示这里我们可以一眼就看出哪个值变动了。

5.拉下地址,右键找出是什么改写了这个地址再发射一颗子弹

6.这么多代码也不用一条一条分析了,我们往简单的来,直接nop这条代码即可实现子弹数量的锁定

12AF252D - 8D 87 04010000        - lea eax,[edi+00000104]
12AF2533 - 8B 8D 04FFFFFF        - mov ecx,[ebp-000000FC]
12AF2539 - 89 08                 - mov [eax],ecx
12AF253B - 8B 8D 08FFFFFF        - mov ecx,[ebp-000000F8]
12AF2541 - 89 48 04              - mov [eax+04],ecx //←此处对子弹数值进行改写
12AF2544 - 8B 8D 0CFFFFFF        - mov ecx,[ebp-000000F4]
12AF254A - 89 48 08              - mov [eax+08],ecx
12AF254D - 8B 8D 10FFFFFF        - mov ecx,[ebp-000000F0]
12AF2553 - 89 48 0C              - mov [eax+0C],ecx
12AF2556 - 8B 8D 14FFFFFF        - mov ecx,[ebp-000000EC]
12AF255C - 89 48 10              - mov [eax+10],ecx
12AF255F - 8D 87 04010000        - lea eax,[edi+00000104]

7.选中这行代码→右键使用空指令替换

8.返回游戏进行测试,如图所示子弹数量已经被锁定。无限子弹的目的已达成。


无限子弹实现思路(二)

经过上面的一波操作我们已经实现了对子弹数量的锁定,所以无限子弹其实已经完成了。这里我们再换另外一种思路实现无限子弹。

1.我们右键刚刚找到的子弹数量地址→浏览相关内存区域

2.内存浏览窗口→右键显示类型4字节(DEC)

3.如图所示 我们发现子弹数量地址附近又有一堆444444/444445

4.我们回到游戏 按下F建再购买一些子弹 来看看这些值的变动

5.我们发现其中一个值随着我们购买子弹后由444445变成了444446那么我们将这个值加入列表

6.我们尝试更改下这个地址的值 如图所示我们子弹数量明显增加

7.继续仿照思路一中的操作,右键找出是什么改写了这个地址。然后我们返回游戏发射子弹(注意:记得把思路一中nop的代码还原)。

8.我们发现连续发射4发子弹后这里出现了一条代码。由此我们可以推测该地址对应的是弹夹数量(1弹夹有4发子弹)

12AF2650 - 8D 87 18010000        - lea eax,[edi+00000118]
12AF2656 - 8B 8D 40FFFFFF        - mov ecx,[ebp-000000C0]
12AF265C - 89 08                 - mov [eax],ecx
12AF265E - 8B 8D 44FFFFFF        - mov ecx,[ebp-000000BC]
12AF2664 - 89 48 04              - mov [eax+04],ecx//此处对弹夹数量进行改写
12AF2667 - 8B 8D 48FFFFFF        - mov ecx,[ebp-000000B8]
12AF266D - 89 48 08              - mov [eax+08],ecx
12AF2670 - 8B 8D 4CFFFFFF        - mov ecx,[ebp-000000B4]
12AF2676 - 89 48 0C              - mov [eax+0C],ecx
12AF2679 - 8B 8D 50FFFFFF        - mov ecx,[ebp-000000B0]
12AF267F - 89 48 10              - mov [eax+10],ecx
12AF2682 - 8B 47 5C              - mov eax,[edi+5C]

9.继续仿照思路(一)中,直接用空指令替换这条代码,即可实现对弹夹数量的锁定。我们返回游戏测试发现4发子弹发射完成后子弹数量又变回了4发,证实了我们的猜想。

10.到这里我们成功通过两种思路实现了无限子弹


子弹无冷却实现思路(一)

前面我们已经实现了无限子弹,现在我们来尝试取消两次发射直接的冷却时间。下面直接开始操作。

1.我们打开游戏道具属性界面。如图所示清楚的告诉了我们攻击间隔的时间。

2.那么这里就很好办了,因为这里的数据没有进行加密我们可以直接用CE浮点搜索进行修改。

3.但是我们很快就发现一个问题,CE直接搜索1.1会有很多很多的数据,如果比较杠的话可以一个一个值去试。(滑稽~)这里我介绍另外一种方法。

4.通过上面的属性图可知武器发射间隔1.1秒每次升级减少0.06秒,我们这里直接用CE群组搜索(类似于手游修改器中的联合搜索)

5.相对于前面的上千条地址,现在是不是显得非常轻松~

6.经过测试,我们得知前面搜索中的第二组正是我们需要的。

7.注:此方法同样适用于本游戏中其他道具第一项属性,有兴趣可以自行研究。


子弹无冷却实现思路(二)

1.前面介绍了一种非常简单的方法实现子弹无冷却,直接搜索看见的数据即可,数组搜索的运用大大减少了我们排除错误地址的时间。下面我们尝试其他方法实现。

2.我们先回到无限子弹实现思路(二)中的第三步。但是为了方便待会查看数据,我们吧显示类型切换为浮点数。

3.我们向上翻动几行,注意的是这里根据你窗口大小翻动的行数是不一定的。

4.然后我们返回游戏发射子弹,同时观察下面数据的变动。我们可以很明显的发现这个地址随着我们发现子弹后开始变动然后归零。

5.我们右键→将此地址添加到列表中→锁定数值

6.返回游戏测试效果。如图所示是无限子弹加上锁定刚刚数值的效果。很明显我们成功了。


未完待续

免费评分

参与人数 17威望 +1 吾爱币 +39 热心值 +15 收起 理由
Hmily + 1 + 20 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
ftpc + 1 + 1 我很赞同!
laodan + 3 + 1 用心讨论,共获提升!
kkpljat + 1 + 1 谢谢@Thanks!
lkl2425572 + 1 + 1 谢谢@Thanks!
dreamlivemeng + 1 + 1 我很赞同!
wodeweiyimpm + 1 + 1 鼓励转贴优秀软件安全工具和文档!
萌萌的大头 + 1 + 1 已经处理,感谢您对吾爱破解论坛的支持!
ceusnow + 1 + 1 鼓励转贴优秀软件安全工具和文档!
olhoscn + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
故乡的梦 + 1 + 1 好厉害,想知道加密的数值是怎么试出来的
若飞@梦 + 1 鼓励转贴优秀软件安全工具和文档!
Sotouch. + 1 用什么软件打开这些搜索界面,开始就卡死了
ialove + 2 + 1 模拟器里能改手游么
alicc + 1 + 1 用心讨论,共获提升!
3460875 + 1 + 1 我很赞同!
Deuez + 1 + 1 楼主很棒!加油!

查看全部评分

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

推荐
laodan 发表于 2020-6-3 23:47
本帖最后由 laodan 于 2020-6-3 23:59 编辑

借楼主的思路,整理出来一组特征码。

进入游戏首页,但没有开始游戏时,搜索。
D9 41 30 8B 4D 0C改90 90 90 8B 4D 0C,无冷却。

进入游戏,凑齐钱,开一发子弹。
搜8B 8D 08 FF FF FF 89 48 04改8B 8D 08 FF FF FF 90 90 90 ,除了子弹,其它道具全免费,第一发子弹需要自己凑钱买,然后子弹不减少。

无限子弹+无冷却=机关枪。

上面是楼主思路整理出来的。

下面是当前版本可使用的,网友整理出来的。

D9 C9 D9 CA DE E9 DE C9 DD 5D F8 F2 0F 10 45 F8 改 D9 C9 D9 CA DE E9 DE C9 DD 5D F8 90 90 90 90 90  地图高亮(两处全改)
00 00 80 3F B9 FC 87 BC 0D 00 00 00 50 00 00 00 01 00 00 00 00 00 00 00  改    00 00 10 C1 B9 FC 87 BC 0D 00 00 00 50 00 00 00 01 00 00 00 00 00 00 00   手雷免费(建议改8B 8D 08 FF FF FF 89 48 04,这样全部的道具都免费了。不过好像人物位置有BUG。)
20 C3 00 00 A0 40 00 00 00 00 1C C8 06 00   改  20 C3 00 00 A0 40 00 00 00 00 1C C8 06 00 2F 86 逆天金币(上限直接两万金币)
具体其它的自测吧。
推荐
laodan 发表于 2020-6-2 10:00
本帖最后由 laodan 于 2020-6-2 10:03 编辑

楼主,还有啥耍的,咱们可以一块搞搞。



我搞的这个也是借用的网上的特征码,自己搞的话没有精力。
下面是无限子弹的特征码:

[Visual Basic] 纯文本查看 复制代码
Dim Tint As Long
Dim 基址 As Long
Dim hProcess As Long
Dim base As Long
Label1.Caption = "修改中."
hProcess = OpenProcess(&H1F0FFF, False, GetPid("dmmdzz.exe"))
pid = GetPid("dmmdzz.exe")
If pid = 0 Then
MsgBox "没有找到相关进程", 0, "Error"
End If
Tint = scan_data(pid, "89 48 04 8B 8D 0C FF FF FF", 0, 0) '改:[b]90 90 90 8B 8D 0C FF FF FF[/b]
'89 48 04 8B 8D 0C FF FF FF
'90 90 90 8B 8D 0C FF FF FF
基址 = Tint '成功获取到了基址
'下面开始修改内存
WriteProcessMemory hProcess, ByVal 基址, CLng("37008"), 2, 0&
WriteProcessMemory hProcess, ByVal 基址 + 2, CLng("35728"), 2, 0&
List1.AddItem Hex(基址) & " - 无限子弹:修改完成(开)"Label1.Caption = "修改完成"
沙发
 楼主| 忆魂丶天雷 发表于 2020-6-1 23:10 |楼主
3#
深爱我的女孩 发表于 2020-6-1 23:42
我是小白,把他看完,明天试试
4#
hmily65 发表于 2020-6-1 23:48
感谢分享,学习了
5#
微笑男孩 发表于 2020-6-2 00:13
这个就有些六了,感谢楼主分享经验
6#
一梦醉红流 发表于 2020-6-2 02:08
电脑用什么模拟器菜可以
7#
alicc 发表于 2020-6-2 04:37
楼主加油 期待后续教程
8#
wapjcxz 发表于 2020-6-2 06:15
这波修改可以
9#
djp12306 发表于 2020-6-2 06:54
感谢分享,学习了
10#
cry323 发表于 2020-6-2 06:55
我以为是饶过苹果的id
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

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

GMT+8, 2020-7-14 19:02

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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