-
-
[求助]求全部大写的一段算法的代码
-
发表于: 2013-9-14 13:31 4949
-
LUADC 汇编
============================================
比如解密这段
求熟悉这个随机算法的朋友 同求CPP 感谢!
============================================
; Function #2: ; ; Name: ; Defined at line: 74 ; #Upvalues: 1 ; #Parameters: 2 (R0, R1) ; Is_vararg: 0 ; Max Stack Size: 33 ; ; No locals information ; No upvalues 1 [-]: GETGLOBAL R2 K0 ; R2 := tostring 2 [-]: MOVE R3 R0 ; R3 := R0 3 [-]: CALL R2 2 2 ; R2 := R2(R3) 4 [-]: GETGLOBAL R3 K0 ; R3 := tostring 5 [-]: MOVE R4 R1 ; R4 := R1 6 [-]: CALL R3 2 2 ; R3 := R3(R4) 7 [-]: CONCAT R2 R2 R3 ; R2 := R2 .. R3 8 [-]: GETGLOBAL R3 K1 ; R3 := string 9 [-]: GETTABLE R3 R3 K2 ; R3 := R3["len"] 10 [-]: MOVE R4 R2 ; R4 := R2 11 [-]: CALL R3 2 2 ; R3 := R3(R4) 12 [-]: LOADK R4 K3 ; R4 := 0 13 [-]: LOADK R5 K4 ; R5 := 1 14 [-]: MOVE R6 R3 ; R6 := R3 15 [-]: LOADK R7 K4 ; R7 := 1 16 [-]: FORPREP R5 R7 26 ; R5 -= R7; PC := 26 17 [-]: GETGLOBAL R9 K5 ; R9 := tonumber 18 [-]: GETGLOBAL R10 K1 ; R10 := string 19 [-]: GETTABLE R10 R10 K6 ; R10 := R10["sub"] 20 [-]: MOVE R11 R2 ; R11 := R2 21 [-]: MOVE R12 R8 ; R12 := R8 22 [-]: MOVE R13 R8 ; R13 := R8 23 [-]: CALL R10 4 0 ; R10,... := R10(R11,R12,R13) 24 [-]: CALL R9 0 2 ; R9 := R9(R10,...) 25 [-]: ADD R4 R4 R9 ; R4 := R4 + R9 26 [-]: FORLOOP R5 17 ; R5 += R7; if (R5 <?= R6 then begin PC := 17; R8 = R5 end 27 [-]: GETGLOBAL R5 K5 ; R5 := tonumber 28 [-]: GETGLOBAL R6 K1 ; R6 := string 29 [-]: GETTABLE R6 R6 K6 ; R6 := R6["sub"] 30 [-]: GETGLOBAL R7 K0 ; R7 := tostring 31 [-]: MOVE R8 R4 ; R8 := R4 32 [-]: CALL R7 2 2 ; R7 := R7(R8) 33 [-]: LOADK R8 K7 ; R8 := -1 34 [-]: CALL R6 3 0 ; R6,... := R6(R7,R8) 35 [-]: CALL R5 0 2 ; R5 := R5(R6,...) 36 [-]: NEWTABLE R6 21 0 ; R6 := {} 37 [-]: LOADK R7 K8 ; R7 := "A" 38 [-]: LOADK R8 K9 ; R8 := "B" 39 [-]: LOADK R9 K10 ; R9 := "C" 40 [-]: LOADK R10 K11 ; R10 := "D" 41 [-]: LOADK R11 K12 ; R11 := "E" 42 [-]: LOADK R12 K13 ; R12 := "F" 43 [-]: LOADK R13 K14 ; R13 := "G" 44 [-]: LOADK R14 K15 ; R14 := "H" 45 [-]: LOADK R15 K16 ; R15 := "I" 46 [-]: LOADK R16 K17 ; R16 := "J" 47 [-]: LOADK R17 K18 ; R17 := "K" 48 [-]: LOADK R18 K19 ; R18 := "L" 49 [-]: LOADK R19 K20 ; R19 := "M" 50 [-]: LOADK R20 K21 ; R20 := "N" 51 [-]: LOADK R21 K22 ; R21 := "O" 52 [-]: LOADK R22 K23 ; R22 := "P" 53 [-]: LOADK R23 K24 ; R23 := "Q" 54 [-]: LOADK R24 K25 ; R24 := "R" 55 [-]: LOADK R25 K26 ; R25 := "S" 56 [-]: LOADK R26 K27 ; R26 := "T" 57 [-]: LOADK R27 K28 ; R27 := "U" 58 [-]: LOADK R28 K29 ; R28 := "V" 59 [-]: LOADK R29 K30 ; R29 := "W" 60 [-]: LOADK R30 K31 ; R30 := "X" 61 [-]: LOADK R31 K32 ; R31 := "Y" 62 [-]: LOADK R32 K33 ; R32 := "Z" 63 [-]: SETLIST R6 26 1 ; R6[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] := R7,R8,R9,R10,R11,R12,R13,R14,R15,R16,R17,R18,R19,R20,R21,R22,R23,R24,R25,R26,R27,R28,R29,R30,R31,R32 64 [-]: LOADK R7 K34 ; R7 := "" 65 [-]: LOADK R8 K4 ; R8 := 1 66 [-]: GETGLOBAL R9 K1 ; R9 := string 67 [-]: GETTABLE R9 R9 K2 ; R9 := R9["len"] 68 [-]: MOVE R10 R0 ; R10 := R0 69 [-]: CALL R9 2 2 ; R9 := R9(R10) 70 [-]: LOADK R10 K4 ; R10 := 1 71 [-]: FORPREP R8 R10 87 ; R8 -= R10; PC := 87 72 [-]: GETGLOBAL R12 K1 ; R12 := string 73 [-]: GETTABLE R12 R12 K6 ; R12 := R12["sub"] 74 [-]: MOVE R13 R0 ; R13 := R0 75 [-]: MOVE R14 R11 ; R14 := R11 76 [-]: MOVE R15 R11 ; R15 := R11 77 [-]: CALL R12 4 2 ; R12 := R12(R13,R14,R15) 78 [-]: GETGLOBAL R13 K5 ; R13 := tonumber 79 [-]: MOVE R14 R12 ; R14 := R12 80 [-]: CALL R13 2 2 ; R13 := R13(R14) 81 [-]: ADD R13 R13 R5 ; R13 := R13 + R5 82 [-]: ADD R13 R13 K4 ; R13 := R13 + 1 83 [-]: GETTABLE R13 R6 R13 ; R13 := R6[R13] 84 [-]: MOVE R14 R7 ; R14 := R7 85 [-]: MOVE R15 R13 ; R15 := R13 86 [-]: CONCAT R7 R14 R15 ; R7 := R14 .. R15 87 [-]: FORLOOP R8 72 ; R8 += R10; if (R8 <?= R9 then begin PC := 72; R11 = R8 end 88 [-]: LOADK R8 K34 ; R8 := "" 89 [-]: LOADK R9 K3 ; R9 := 0 90 [-]: GETGLOBAL R10 K1 ; R10 := string 91 [-]: GETTABLE R10 R10 K2 ; R10 := R10["len"] 92 [-]: MOVE R11 R1 ; R11 := R1 93 [-]: CALL R10 2 2 ; R10 := R10(R11) 94 [-]: LOADK R11 K4 ; R11 := 1 95 [-]: MOVE R12 R10 ; R12 := R10 96 [-]: LOADK R13 K4 ; R13 := 1 97 [-]: FORPREP R11 R13 107 ; R11 -= R13; PC := 107 98 [-]: GETGLOBAL R15 K5 ; R15 := tonumber 99 [-]: GETGLOBAL R16 K1 ; R16 := string 100 [-]: GETTABLE R16 R16 K6 ; R16 := R16["sub"] 101 [-]: MOVE R17 R1 ; R17 := R1 102 [-]: MOVE R18 R14 ; R18 := R14 103 [-]: MOVE R19 R14 ; R19 := R14 104 [-]: CALL R16 4 0 ; R16,... := R16(R17,R18,R19) 105 [-]: CALL R15 0 2 ; R15 := R15(R16,...) 106 [-]: ADD R9 R9 R15 ; R9 := R9 + R15 107 [-]: FORLOOP R11 98 ; R11 += R13; if (R11 <?= R12 then begin PC := 98; R14 = R11 end 108 [-]: GETGLOBAL R11 K5 ; R11 := tonumber 109 [-]: GETGLOBAL R12 K1 ; R12 := string 110 [-]: GETTABLE R12 R12 K6 ; R12 := R12["sub"] 111 [-]: MOVE R13 R9 ; R13 := R9 112 [-]: LOADK R14 K7 ; R14 := -1 113 [-]: CALL R12 3 0 ; R12,... := R12(R13,R14) 114 [-]: CALL R11 0 2 ; R11 := R11(R12,...) 115 [-]: LOADK R12 K4 ; R12 := 1 116 [-]: MOVE R13 R10 ; R13 := R10 117 [-]: LOADK R14 K4 ; R14 := 1 118 [-]: FORPREP R12 R14 134 ; R12 -= R14; PC := 134 119 [-]: GETGLOBAL R16 K1 ; R16 := string 120 [-]: GETTABLE R16 R16 K6 ; R16 := R16["sub"] 121 [-]: MOVE R17 R1 ; R17 := R1 122 [-]: MOVE R18 R15 ; R18 := R15 123 [-]: MOVE R19 R15 ; R19 := R15 124 [-]: CALL R16 4 2 ; R16 := R16(R17,R18,R19) 125 [-]: GETGLOBAL R17 K5 ; R17 := tonumber 126 [-]: MOVE R18 R16 ; R18 := R16 127 [-]: CALL R17 2 2 ; R17 := R17(R18) 128 [-]: ADD R17 R17 R11 ; R17 := R17 + R11 129 [-]: ADD R17 R17 K4 ; R17 := R17 + 1 130 [-]: GETTABLE R17 R6 R17 ; R17 := R6[R17] 131 [-]: MOVE R18 R8 ; R18 := R8 132 [-]: MOVE R19 R17 ; R19 := R17 133 [-]: CONCAT R8 R18 R19 ; R8 := R18 .. R19 134 [-]: FORLOOP R12 119 ; R12 += R14; if (R12 <?= R13 then begin PC := 119; R15 = R12 end 135 [-]: GETGLOBAL R12 K1 ; R12 := string 136 [-]: GETTABLE R12 R12 K6 ; R12 := R12["sub"] 137 [-]: MOVE R13 R8 ; R13 := R8 138 [-]: LOADK R14 K4 ; R14 := 1 139 [-]: LOADK R15 K35 ; R15 := 5 140 [-]: CALL R12 4 2 ; R12 := R12(R13,R14,R15) 141 [-]: GETGLOBAL R13 K1 ; R13 := string 142 [-]: GETTABLE R13 R13 K6 ; R13 := R13["sub"] 143 [-]: MOVE R14 R8 ; R14 := R8 144 [-]: LOADK R15 K36 ; R15 := 6 145 [-]: LOADK R16 K37 ; R16 := 10 146 [-]: CALL R13 4 2 ; R13 := R13(R14,R15,R16) 147 [-]: ADD R14 R5 K4 ; R14 := R5 + 1 148 [-]: GETTABLE R14 R6 R14 ; R14 := R6[R14] 149 [-]: ADD R15 R11 K4 ; R15 := R11 + 1 150 [-]: GETTABLE R15 R6 R15 ; R15 := R6[R15] 151 [-]: LOADK R16 K34 ; R16 := "" 152 [-]: GETUPVAL R17 0 ; R17 := U0 153 [-]: LOADK R18 K38 ; R18 := 19 154 [-]: LOADK R19 K35 ; R19 := 5 155 [-]: CALL R17 3 2 ; R17 := R17(R18,R19) 156 [-]: LOADK R18 K4 ; R18 := 1 157 [-]: LOADK R19 K35 ; R19 := 5 158 [-]: LOADK R20 K4 ; R20 := 1 159 [-]: FORPREP R18 R20 164 ; R18 -= R20; PC := 164 160 [-]: MOVE R22 R16 ; R22 := R16 161 [-]: GETTABLE R23 R17 R21 ; R23 := R17[R21] 162 [-]: GETTABLE R23 R6 R23 ; R23 := R6[R23] 163 [-]: CONCAT R16 R22 R23 ; R16 := R22 .. R23 164 [-]: FORLOOP R18 160 ; R18 += R20; if (R18 <?= R19 then begin PC := 160; R21 = R18 end 165 [-]: LOADK R18 K34 ; R18 := "" 166 [-]: GETUPVAL R19 0 ; R19 := U0 167 [-]: LOADK R20 K38 ; R20 := 19 168 [-]: LOADK R21 K35 ; R21 := 5 169 [-]: CALL R19 3 2 ; R19 := R19(R20,R21) 170 [-]: LOADK R20 K4 ; R20 := 1 171 [-]: LOADK R21 K35 ; R21 := 5 172 [-]: LOADK R22 K4 ; R22 := 1 173 [-]: FORPREP R20 R22 178 ; R20 -= R22; PC := 178 174 [-]: MOVE R24 R18 ; R24 := R18 175 [-]: GETTABLE R25 R19 R23 ; R25 := R19[R23] 176 [-]: GETTABLE R25 R6 R25 ; R25 := R6[R25] 177 [-]: CONCAT R18 R24 R25 ; R18 := R24 .. R25 178 [-]: FORLOOP R20 174 ; R20 += R22; if (R20 <?= R21 then begin PC := 174; R23 = R20 end 179 [-]: MOVE R20 R16 ; R20 := R16 180 [-]: MOVE R21 R14 ; R21 := R14 181 [-]: MOVE R22 R12 ; R22 := R12 182 [-]: MOVE R23 R7 ; R23 := R7 183 [-]: MOVE R24 R13 ; R24 := R13 184 [-]: MOVE R25 R15 ; R25 := R15 185 [-]: MOVE R26 R18 ; R26 := R18 186 [-]: CONCAT R20 R20 R26 ; R20 := R20 .. R21 .. R22 .. R23 .. R24 .. R25 .. R26 187 [-]: RETURN R20 2 ; return R20 188 [-]: RETURN R0 1 ; return ; Function #3: ; ; Name: ; Defined at line: 120 ; #Upvalues: 0 ; #Parameters: 1 (R0) ; Is_vararg: 0 ; Max Stack Size: 2 ; ; No locals information ; No upvalues 1 [-]: LOADK R1 K0 ; R1 := 0 2 [-]: EQ 0 R0 K1 ; if R0 != "A" then PC := 6 3 [-]: JMP 6 4 [-]: LOADK R1 K2 ; R1 := 1 5 [-]: JMP 105 ; PC := 105 6 [-]: EQ 0 R0 K3 ; if R0 != "B" then PC := 10 7 [-]: JMP 10 8 [-]: LOADK R1 K4 ; R1 := 2 9 [-]: JMP 105 ; PC := 105 10 [-]: EQ 0 R0 K5 ; if R0 != "C" then PC := 14 11 [-]: JMP 14 12 [-]: LOADK R1 K6 ; R1 := 3 13 [-]: JMP 105 ; PC := 105 14 [-]: EQ 0 R0 K7 ; if R0 != "D" then PC := 18 15 [-]: JMP 18 16 [-]: LOADK R1 K8 ; R1 := 4 17 [-]: JMP 105 ; PC := 105 18 [-]: EQ 0 R0 K9 ; if R0 != "E" then PC := 22 19 [-]: JMP 22 20 [-]: LOADK R1 K10 ; R1 := 5 21 [-]: JMP 105 ; PC := 105 22 [-]: EQ 0 R0 K11 ; if R0 != "F" then PC := 26 23 [-]: JMP 26 24 [-]: LOADK R1 K12 ; R1 := 6 25 [-]: JMP 105 ; PC := 105 26 [-]: EQ 0 R0 K13 ; if R0 != "G" then PC := 30 27 [-]: JMP 30 28 [-]: LOADK R1 K14 ; R1 := 7 29 [-]: JMP 105 ; PC := 105 30 [-]: EQ 0 R0 K15 ; if R0 != "H" then PC := 34 31 [-]: JMP 34 32 [-]: LOADK R1 K16 ; R1 := 8 33 [-]: JMP 105 ; PC := 105 34 [-]: EQ 0 R0 K17 ; if R0 != "I" then PC := 38 35 [-]: JMP 38 36 [-]: LOADK R1 K18 ; R1 := 9 37 [-]: JMP 105 ; PC := 105 38 [-]: EQ 0 R0 K19 ; if R0 != "J" then PC := 42 39 [-]: JMP 42 40 [-]: LOADK R1 K20 ; R1 := 10 41 [-]: JMP 105 ; PC := 105 42 [-]: EQ 0 R0 K21 ; if R0 != "K" then PC := 46 43 [-]: JMP 46 44 [-]: LOADK R1 K22 ; R1 := 11 45 [-]: JMP 105 ; PC := 105 46 [-]: EQ 0 R0 K23 ; if R0 != "L" then PC := 50 47 [-]: JMP 50 48 [-]: LOADK R1 K24 ; R1 := 12 49 [-]: JMP 105 ; PC := 105 50 [-]: EQ 0 R0 K25 ; if R0 != "M" then PC := 54 51 [-]: JMP 54 52 [-]: LOADK R1 K26 ; R1 := 13 53 [-]: JMP 105 ; PC := 105 54 [-]: EQ 0 R0 K27 ; if R0 != "N" then PC := 58 55 [-]: JMP 58 56 [-]: LOADK R1 K28 ; R1 := 14 57 [-]: JMP 105 ; PC := 105 58 [-]: EQ 0 R0 K29 ; if R0 != "O" then PC := 62 59 [-]: JMP 62 60 [-]: LOADK R1 K30 ; R1 := 15 61 [-]: JMP 105 ; PC := 105 62 [-]: EQ 0 R0 K31 ; if R0 != "P" then PC := 66 63 [-]: JMP 66 64 [-]: LOADK R1 K32 ; R1 := 16 65 [-]: JMP 105 ; PC := 105 66 [-]: EQ 0 R0 K33 ; if R0 != "Q" then PC := 70 67 [-]: JMP 70 68 [-]: LOADK R1 K34 ; R1 := 17 69 [-]: JMP 105 ; PC := 105 70 [-]: EQ 0 R0 K35 ; if R0 != "R" then PC := 74 71 [-]: JMP 74 72 [-]: LOADK R1 K36 ; R1 := 18 73 [-]: JMP 105 ; PC := 105 74 [-]: EQ 0 R0 K37 ; if R0 != "S" then PC := 78 75 [-]: JMP 78 76 [-]: LOADK R1 K38 ; R1 := 19 77 [-]: JMP 105 ; PC := 105 78 [-]: EQ 0 R0 K39 ; if R0 != "T" then PC := 82 79 [-]: JMP 82 80 [-]: LOADK R1 K40 ; R1 := 20 81 [-]: JMP 105 ; PC := 105 82 [-]: EQ 0 R0 K41 ; if R0 != "U" then PC := 86 83 [-]: JMP 86 84 [-]: LOADK R1 K42 ; R1 := 21 85 [-]: JMP 105 ; PC := 105 86 [-]: EQ 0 R0 K43 ; if R0 != "V" then PC := 90 87 [-]: JMP 90 88 [-]: LOADK R1 K44 ; R1 := 22 89 [-]: JMP 105 ; PC := 105 90 [-]: EQ 0 R0 K45 ; if R0 != "W" then PC := 94 91 [-]: JMP 94 92 [-]: LOADK R1 K46 ; R1 := 23 93 [-]: JMP 105 ; PC := 105 94 [-]: EQ 0 R0 K47 ; if R0 != "X" then PC := 98 95 [-]: JMP 98 96 [-]: LOADK R1 K48 ; R1 := 24 97 [-]: JMP 105 ; PC := 105 98 [-]: EQ 0 R0 K49 ; if R0 != "Y" then PC := 102 99 [-]: JMP 102 100 [-]: LOADK R1 K50 ; R1 := 25 101 [-]: JMP 105 ; PC := 105 102 [-]: EQ 0 R0 K51 ; if R0 != "Z" then PC := 105 103 [-]: JMP 105 104 [-]: LOADK R1 K52 ; R1 := 26 105 [-]: RETURN R1 2 ; return R1 106 [-]: RETURN R0 1 ; return
; Function #4: ; ; Name: ; Defined at line: 177 ; #Upvalues: 1 ; #Parameters: 1 (R0) ; Is_vararg: 0 ; Max Stack Size: 20 ; ; No locals information ; No upvalues 1 [-]: GETGLOBAL R1 K0 ; R1 := string 2 [-]: GETTABLE R1 R1 K1 ; R1 := R1["sub"] 3 [-]: MOVE R2 R0 ; R2 := R0 4 [-]: LOADK R3 K2 ; R3 := 21 5 [-]: LOADK R4 K2 ; R4 := 21 6 [-]: CALL R1 4 2 ; R1 := R1(R2,R3,R4) 7 [-]: GETGLOBAL R2 K0 ; R2 := string 8 [-]: GETTABLE R2 R2 K1 ; R2 := R2["sub"] 9 [-]: MOVE R3 R0 ; R3 := R0 10 [-]: LOADK R4 K3 ; R4 := -21 11 [-]: LOADK R5 K3 ; R5 := -21 12 [-]: CALL R2 4 2 ; R2 := R2(R3,R4,R5) 13 [-]: LOADK R3 K4 ; R3 := 0 14 [-]: EQ 0 R1 R2 ; if R1 != R2 then PC := 17 15 [-]: JMP 17 16 [-]: MOVE R3 R1 ; R3 := R1 17 [-]: GETGLOBAL R4 K5 ; R4 := tonumber 18 [-]: GETUPVAL R5 0 ; R5 := U0 19 [-]: MOVE R6 R3 ; R6 := R3 20 [-]: CALL R5 2 2 ; R5 := R5(R6) 21 [-]: SUB R5 R5 K6 ; R5 := R5 - 1 22 [-]: CALL R4 2 2 ; R4 := R4(R5) 23 [-]: MOVE R3 R4 ; R3 := R4 24 [-]: GETGLOBAL R4 K0 ; R4 := string 25 [-]: GETTABLE R4 R4 K1 ; R4 := R4["sub"] 26 [-]: MOVE R5 R0 ; R5 := R0 27 [-]: LOADK R6 K7 ; R6 := 22 28 [-]: LOADK R7 K8 ; R7 := 31 29 [-]: CALL R4 4 2 ; R4 := R4(R5,R6,R7) 30 [-]: LOADK R5 K9 ; R5 := "" 31 [-]: LOADK R6 K9 ; R6 := "" 32 [-]: LOADK R7 K6 ; R7 := 1 33 [-]: GETGLOBAL R8 K0 ; R8 := string 34 [-]: GETTABLE R8 R8 K10 ; R8 := R8["len"] 35 [-]: MOVE R9 R4 ; R9 := R4 36 [-]: CALL R8 2 2 ; R8 := R8(R9) 37 [-]: LOADK R9 K6 ; R9 := 1 38 [-]: FORPREP R7 R9 56 ; R7 -= R9; PC := 56 39 [-]: GETUPVAL R11 0 ; R11 := U0 40 [-]: GETGLOBAL R12 K0 ; R12 := string 41 [-]: GETTABLE R12 R12 K1 ; R12 := R12["sub"] 42 [-]: MOVE R13 R4 ; R13 := R4 43 [-]: MOVE R14 R10 ; R14 := R10 44 [-]: MOVE R15 R10 ; R15 := R10 45 [-]: CALL R12 4 0 ; R12,... := R12(R13,R14,R15) 46 [-]: CALL R11 0 2 ; R11 := R11(R12,...) 47 [-]: SUB R11 R11 R3 ; R11 := R11 - R3 48 [-]: SUB R6 R11 K6 ; R6 := R11 - 1 49 [-]: LT 0 R6 K11 ; if R6 >= 10 then PC := 56 50 [-]: JMP 56 51 [-]: LE 0 K4 R6 ; if 0 > R6 then PC := 56 52 [-]: JMP 56 53 [-]: MOVE R11 R5 ; R11 := R5 54 [-]: MOVE R12 R6 ; R12 := R6 55 [-]: CONCAT R5 R11 R12 ; R5 := R11 .. R12 56 [-]: FORLOOP R7 39 ; R7 += R9; if (R7 <?= R8 then begin PC := 39; R10 = R7 end 57 [-]: GETGLOBAL R7 K0 ; R7 := string 58 [-]: GETTABLE R7 R7 K1 ; R7 := R7["sub"] 59 [-]: MOVE R8 R0 ; R8 := R0 60 [-]: LOADK R9 K12 ; R9 := -31 61 [-]: LOADK R10 K13 ; R10 := -22 62 [-]: CALL R7 4 2 ; R7 := R7(R8,R9,R10) 63 [-]: LOADK R8 K9 ; R8 := "" 64 [-]: LOADK R9 K6 ; R9 := 1 65 [-]: GETGLOBAL R10 K0 ; R10 := string 66 [-]: GETTABLE R10 R10 K10 ; R10 := R10["len"] 67 [-]: MOVE R11 R7 ; R11 := R7 68 [-]: CALL R10 2 2 ; R10 := R10(R11) 69 [-]: LOADK R11 K6 ; R11 := 1 70 [-]: FORPREP R9 R11 88 ; R9 -= R11; PC := 88 71 [-]: GETUPVAL R13 0 ; R13 := U0 72 [-]: GETGLOBAL R14 K0 ; R14 := string 73 [-]: GETTABLE R14 R14 K1 ; R14 := R14["sub"] 74 [-]: MOVE R15 R7 ; R15 := R7 75 [-]: MOVE R16 R12 ; R16 := R12 76 [-]: MOVE R17 R12 ; R17 := R12 77 [-]: CALL R14 4 0 ; R14,... := R14(R15,R16,R17) 78 [-]: CALL R13 0 2 ; R13 := R13(R14,...) 79 [-]: SUB R13 R13 R3 ; R13 := R13 - R3 80 [-]: SUB R6 R13 K6 ; R6 := R13 - 1 81 [-]: LT 0 R6 K11 ; if R6 >= 10 then PC := 88 82 [-]: JMP 88 83 [-]: LE 0 K4 R6 ; if 0 > R6 then PC := 88 84 [-]: JMP 88 85 [-]: MOVE R13 R8 ; R13 := R8 86 [-]: MOVE R14 R6 ; R14 := R6 87 [-]: CONCAT R8 R13 R14 ; R8 := R13 .. R14 88 [-]: FORLOOP R9 71 ; R9 += R11; if (R9 <?= R10 then begin PC := 71; R12 = R9 end 89 [-]: GETGLOBAL R9 K0 ; R9 := string 90 [-]: GETTABLE R9 R9 K1 ; R9 := R9["sub"] 91 [-]: MOVE R10 R0 ; R10 := R0 92 [-]: LOADK R11 K14 ; R11 := 32 93 [-]: LOADK R12 K15 ; R12 := -32 94 [-]: CALL R9 4 2 ; R9 := R9(R10,R11,R12) 95 [-]: LOADK R10 K9 ; R10 := "" 96 [-]: LOADK R11 K6 ; R11 := 1 97 [-]: GETGLOBAL R12 K0 ; R12 := string 98 [-]: GETTABLE R12 R12 K10 ; R12 := R12["len"] 99 [-]: MOVE R13 R9 ; R13 := R9 100 [-]: CALL R12 2 2 ; R12 := R12(R13) 101 [-]: LOADK R13 K6 ; R13 := 1 102 [-]: FORPREP R11 R13 120 ; R11 -= R13; PC := 120 103 [-]: GETUPVAL R15 0 ; R15 := U0 104 [-]: GETGLOBAL R16 K0 ; R16 := string 105 [-]: GETTABLE R16 R16 K1 ; R16 := R16["sub"] 106 [-]: MOVE R17 R9 ; R17 := R9 107 [-]: MOVE R18 R14 ; R18 := R14 108 [-]: MOVE R19 R14 ; R19 := R14 109 [-]: CALL R16 4 0 ; R16,... := R16(R17,R18,R19) 110 [-]: CALL R15 0 2 ; R15 := R15(R16,...) 111 [-]: SUB R15 R15 R3 ; R15 := R15 - R3 112 [-]: SUB R6 R15 K6 ; R6 := R15 - 1 113 [-]: LT 0 R6 K11 ; if R6 >= 10 then PC := 120 114 [-]: JMP 120 115 [-]: LE 0 K4 R6 ; if 0 > R6 then PC := 120 116 [-]: JMP 120 117 [-]: MOVE R15 R10 ; R15 := R10 118 [-]: MOVE R16 R6 ; R16 := R6 119 [-]: CONCAT R10 R15 R16 ; R10 := R15 .. R16 120 [-]: FORLOOP R11 103 ; R11 += R13; if (R11 <?= R12 then begin PC := 103; R14 = R11 end 121 [-]: GETGLOBAL R11 K5 ; R11 := tonumber 122 [-]: MOVE R12 R10 ; R12 := R10 123 [-]: CALL R11 2 2 ; R11 := R11(R12) 124 [-]: NEWTABLE R12 3 0 ; R12 := {} 125 [-]: MOVE R13 R11 ; R13 := R11 126 [-]: MOVE R14 R5 ; R14 := R5 127 [-]: MOVE R15 R8 ; R15 := R8 128 [-]: SETLIST R12 3 1 ; R12[1,2,3] := R13,R14,R15 129 [-]: RETURN R12 2 ; return R12 130 [-]: RETURN R0 1 ; return
比如解密这段
BLTWCQPJVEDVSBIBYWLBABABABBAAABBBAABAAECHHFOJCZXREYZVPDZMF
求熟悉这个随机算法的朋友 同求CPP 感谢!
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
赞赏
他的文章
看原图
赞赏
雪币:
留言: