某精英枪战游戏辅助脚本加密破解

先来看看原始的加密脚本,代码太长,仅截取部分看看:

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51

key = ZuoZhe local a = loadstring((function (b, c)function bxor(d, e)local f = { {
                    0,
                    1
                }, {
                    1,
                    0
                }
            }
            local g = 1;
            local h = 0;
            while d > 0 or e > 0 do
                h = h + f[d % 2 + 1][e % 2 + 1] * g;
        d = math.floor(d / 2)e = math.floor(e / 2)g = g * 2 end;
return h end;
local i = function (b)local j = {}
local k = 1;
local l = b[k]while l >= 0 do
        j[k] = b[l + 1]k = k + 1;
l = b[k]end;
return j end;
local m = function (b, c)if  # c <= 0 then return {}
end;
local k = 1;
local n = 1;
for k = 1,  # b do
    b[k] = bxor(b[k], string.byte(c, n))n = n + 1;
if n >  # c then n = 1 end end;
return b end;
local o = function (b)local j = "" for k = 1,  # b do
    j = j..string.char(b[k])end;
return j end;
return o(m(i(b), c))end)({
    248961,
    207221,
    241289,
    240247,
    183631,
    146899,
    221707,
    240345,
    204976,
    230840,
    211516,
    .......,
    87,
    83,
    29
}, key))if a then a()else
    print("error")end

    ------------

可见数据都被加密成了一种数字格式。

解密后代码,代码太长,仅截取部分看看:

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247

RengLei_over_SK_qqQQhaohaohao = "1" --用完一键手雷切回的枪(1是主武器1,2是主武器2)
--智能识别腰射开关
targetingmode = false
moveup = 40
on = true
timelimit3 = true
output = true
zuozheQQ = QQhaohaohao
l5_M4 = 2
l5_M762 = 3
l5_UMP = 3.7
l5_M16 = 2
l4 = 3.2
M16she = 100
m16ofclicktime = 60
AKMshe = 80
M4she = 70
TMXshe = 70
VKTshe = 70
SARshe = 85
QBZshe = 80
M762she = 70
G36Cshe = 70
UMPshe = 70
M249she = 60
K2she = 80
AUGshe = 70
GROZAshe = 70
M16yb = { 22, 12, 14, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
    23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23 }
M16yb_test = 1
--------------------K2的--------------
function F_k2()
    if (IsKeyLockOn(fourmodekey) and fouron) then
        if (IsKeyLockOn(allmodekey) and allon and not allmodereversal) or
            (not IsKeyLockOn(allmodekey) and allon and allmodereversal) then
            if mpK2ybx4[i] == 0 then
                F_Stopclick()
                return
            end
            if j == 1 then
                MoveMouseRelative(0, ((mpK2ybx4[i]) % (K2she / 10)) * ZK2 * l4 * MK2s * zong4x)
            end
            MoveMouseRelative(0, ((mpK2ybx4[i]) / (K2she / 10)) * ZK2 * l4 * MK2s * zong4x)
            j = j + 1
            if j > (K2she / 10) then
                j = 1
                i = i + 1
            end
            if (i > #mpK2ybx4) then
                i = #mpK2ybx4
            end
        else
            if K2ybx4[i] == 0 then
                F_Stopclick()
                return
            end
            if j == 1 then
                MoveMouseRelative(0, ((K2ybx4[i]) % (K2she / 10)) * ZK2 * l4 * K2s * zong4x)
            end
            MoveMouseRelative(0, ((K2ybx4[i]) / (K2she / 10)) * ZK2 * l4 * K2s * zong4x)
            j = j + 1
            if j > (K2she / 10) then
                j = 1
                i = i + 1
            end
            if (i > #K2ybx4) then
                i = #K2ybx4
            end
        end
    else
        if (IsKeyLockOn(allmodekey) and allon and not allmodereversal) or
            (not IsKeyLockOn(allmodekey) and allon and allmodereversal) then
            if (IsModifierPressed("lshift")) then
                if bxkg == true then
                    -- OutputLogMessage("man-px\n")
                    if mpK2byb[i] == 0 then
                        F_Stopclick()
                        return
                    end
                    if j == 1 then
                        MoveMouseRelative(0, ((mpK2byb[i]) % (K2she / 10)) * ZK2 * PMK2 * zong1x)
                    end
                    MoveMouseRelative(0, ((mpK2byb[i]) / (AKMshe / 10)) * ZK2 * PMK2 * zong1x)
                    j = j + 1
                    if j > (K2she / 10) then
                        j = 1
                        i = i + 1
                    end
                    if (i > #mpK2byb) then
                        i = #mpK2byb
                    end
                else
                    -- OutputLogMessage("man-no px\n")
                    if mpK2yb[i] == 0 then
                        F_Stopclick()
                        return
                    end
                    if j == 1 then
                        MoveMouseRelative(0, ((mpK2yb[i]) % (K2she / 10)) * ZK2 * zong1x)
                    end
                    MoveMouseRelative(0, ((mpK2yb[i]) / (K2she / 10)) * ZK2 * zong1x)
                    j = j + 1
                    if j > (K2she / 10) then
                        j = 1
                        i = i + 1
                    end
                    if (i > #mpK2yb) then
                        i = #mpK2yb
                    end
                end
            else
                if mpK2yb[i] == 0 then
                    F_Stopclick()
                    return
                end
                if j == 1 then
                    MoveMouseRelative(0, ((mpK2yb[i]) % (K2she / 10)) * ZK2 * MPK2 * zong1x)
                end
                MoveMouseRelative(0, ((mpK2yb[i]) / (K2she / 10)) * ZK2 * MPK2 * zong1x)
                j = j + 1
                if j > (K2she / 10) then
                    j = 1
                    i = i + 1
                end
                if (i > #mpK2yb) then
                    i = #mpK2yb
                end
            end
        else
            if (IsModifierPressed("lshift")) then
                if bxkg == true then
                    if K2byb[i] == 0 then
                        F_Stopclick()
                        return
                    end
                    if j == 1 then
                        MoveMouseRelative(0, ((K2byb[i]) % (K2she / 10)) * ZK2 * PK2 * zong1x)
                    end
                    MoveMouseRelative(0, ((K2byb[i]) / (K2she / 10)) * ZK2 * PK2 * zong1x)
                    j = j + 1
                    if j > (K2she / 10) then
                        j = 1
                        i = i + 1
                    end
                    if (i > #K2byb) then
                        i = #K2byb
                    end
                else
                    if K2yb[i] == 0 then
                        F_Stopclick()
                        return
                    end
                    if j == 1 then
                        MoveMouseRelative(0, ((K2yb[i]) % (K2she / 10)) * ZK2 * zong1x)
                    end
                    MoveMouseRelative(0, ((K2yb[i]) / (K2she / 10)) * ZK2 * zong1x)
                    j = j + 1
                    if j > (K2she / 10) then
                        j = 1
                        i = i + 1
                    end
                    if (i > #K2yb) then
                        i = #K2yb
                    end
                end
            else
                if K2yb[i] == 0 then
                    F_Stopclick()
                    return
                end
                if j == 1 then
                    MoveMouseRelative(0, ((K2yb[i]) % (K2she / 10)) * ZK2 * LPK2 * zong1x)
                end
                MoveMouseRelative(0, ((K2yb[i]) / (K2she / 10)) * ZK2 * LPK2 * zong1x)
                j = j + 1
                if j > (K2she / 10) then
                    j = 1
                    i = i + 1
                end
                if (i > #K2yb) then
                    i = #K2yb
                end
            end
        end
    end
    Sleep(10)
    ShotTime = ShotTime + 10
    F_reloading(ShotTime)
    if not click then
        F_Stopclick()
    elseif click then
        SetMKeyState(3)
    end
end


function F_Stopclick()
    ReleaseMouseButton(1)
    click = false
    ShotTime = 0
    i = 1
    j = 1
end

function F_Release()
    F_Stopclick()
    ReleaseKey("lshift")
    ReleaseMouseButton(1)
end

function F_closex1()
    IsAKM = false
    IsK2 = false
    IsM762 = false
    IsM16 = false
    IsM4 = false
    IsGROZA = false
    IsAUG = false
    IsUMP = false
    IsM249 = false
    IsVKT = false
    IsG36C = false
    IsQBZ = false
    IsTMX = false
    IsSCAR = false
    IsFIRE = false
end

function F_closex4()
    IsAKMX4 = false
    IsK2X4 = false
    IsM762X4 = false
    IsM16X4 = false
    IsM4X4 = false
    IsGROZAX4 = false
    IsAUGX4 = false
    IsUMPX4 = false
    IsM249X4 = false
    IsG36CX4 = false
    IsQBZX4 = false
    IsTMXX4 = false
    IsVKTX4 = false
    IsSCARX4 = false
end

------------

《Scratch枪战游戏脚本》 本游戏脚本主要基于Scratch编程软件制作,实现了一个简单的枪战场景。游戏开始后,玩家控制角色在一个封闭的场景里与敌人进行对战。 玩家可以使用键盘控制角色的移动,按下空格键进行射击。敌人也会自动移动并射击向角色发动攻击。 游戏的目标是击败所有的敌人,保持自己的角色生命值不为零。当玩家的生命值归零时,游戏结束,显示游戏失败的提示;当所有敌人的生命值归零时,游戏结束,显示游戏胜利的提示。 游戏设定了不同的难度等级,难度越高,敌人的移动速度和攻击频率就越快,玩家需要更加灵活和敏捷才能击败敌人。 整个游戏中使用了多个Scratch的编程模块,如角色移动和控制、音效播放和生命值管理等。通过编写代码块并逻辑连接,实现了玩家与敌人的交互,以及游戏结果的判断和展示。 游戏脚本的编写过程中,需注意游戏的平衡性和可玩性。可以设置道具和升级系统,增加游戏的趣味性和挑战性。 通过Scratch枪战游戏脚本的实现,不仅可以提高玩家的编程能力和逻辑思维能力,还可以增加玩家对游戏设计的理解和创造力。同时,也能为玩家带来独特的游戏体验和娱乐乐趣。 总结而言,本游戏脚本展示了如何利用Scratch编程软件创建一个简单的枪战游戏,既满足了玩家的娱乐需求,又培养了他们的编程技能和逻辑思维。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值