首页
社区
课程
招聘
急!易语言的lua脚本反汇编问题
发表于: 2016-5-16 17:13 17961

急!易语言的lua脚本反汇编问题

2016-5-16 17:13
17961
lua脚本是易语言的 。头部是luaq的 应该是预编译了!用unluac反编译出来 部分中文乱码 ,请问有什么方法还原中文吗?



lua脚本源文件 a65K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6&6N6h3&6H3j5h3&6Q4x3X3g2U0L8W2)9J5c8X3y4e0g2Y4q4g2h3p5I4K9h3V1W2S2c8K6g2Q4x3U0k6F1j5Y4y4H3i4K6y4n7i4K6t1$3L8X3u0K6M7q4)9K6b7W2!0q4z5q4!0m8c8g2!0n7c8W2!0q4z5g2)9&6y4#2!0m8c8g2!0q4y4g2!0m8c8W2)9^5y4W2!0q4y4#2!0m8x3q4)9^5x3b7`.`. feb6
然后这是反编译出来的4aaK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6&6N6h3&6H3j5h3&6Q4x3X3g2U0L8W2)9J5c8X3y4e0g2Y4q4Z5M7f1u0Z5c8g2A6w2M7@1E0Q4x3U0k6F1j5Y4y4H3i4K6y4n7i4K6t1$3L8X3u0K6M7q4)9K6b7W2!0q4z5q4!0m8c8g2!0n7c8W2!0q4z5g2)9&6y4#2!0m8c8g2!0q4y4g2!0m8c8W2)9^5y4W2!0q4y4#2!0m8x3q4)9^5x3b7`.`. 3b78


求还原中文的方法

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
免费 0
支持
分享
最新回复 (19)
雪    币: 459
活跃值: (398)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
2
lua 脚本还分什么语言的?这明明是lua文件加密了,晕死
2016-5-16 17:39
0
雪    币: 4
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
易语言调用的 还原出来的函数也是易语言的。 luaq说明是预编译 不是加密
2016-5-16 17:48
0
雪    币: 248
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
还原了下,没乱码呀
2016-5-17 00:14
0
雪    币: 4
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
还在吗 昨天没看到 方便发下还原后的看下吗 我是用unluac还原的 中文函数都是乱码
2016-5-17 08:35
0
雪    币: 220
活跃值: (4078)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
6
°´Ðиñʽ»¯Îı¾ = function(Êý¾Ý, ÎÄ×Ö, ÿÐÐ×ÖÊý)
  if ÎÄ×Ö == nil then
    µ÷ÊÔÊä³ö("°´Ðиñʽ»¯Îı¾²ÎÊýÒì³£!Çë¼ì²éÎÄ×ÖÊÇ·ñ´´½¨!")
    return ""
  end

反出来的是这样~~
2016-5-17 09:34
0
雪    币: 4
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
是用什么工具? 虽然是乱码 但貌似跟我乱码的样子不一样

D2D_????["\200\161\202\243\177\234\215\248\177\234"] = function(self)
  return ???ó±ê×?±ê()
end
D2D_????["\200\161\176\180\188\252\176\180\207\194"] = function(self, ?ü??)
  return ??°??ü°???(?ü??)
end
D2D_????["\200\161\176\180\188\252\181\175\198\240"] = function(self, ?ü??)
  return ??°??ü????(?ü??)
end
2016-5-17 09:45
0
雪    币: 220
活跃值: (4078)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
8
[QUOTE=ytlckcaoke;1429628]是用什么工具? 虽然是乱码 但貌似跟我乱码的样子不一样

D2D_????["\200\161\202\243\177\234\215\248\177\234"] = function(self)
  return ???ó±ê×?±ê()
end
D2D_????["\200\...[/QUOTE]

都是一样的,,也是中文没反过来
2016-5-17 10:04
0
雪    币: 4
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
是的,有其他方法吗
2016-5-17 10:23
0
雪    币: 47
活跃值: (178)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
10
你这个汉字都是乱码 有点像无这种字体样子
2016-5-17 11:36
0
雪    币: 248
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
1 [    7]: LOADBOOL  R0 0 0       ; R0 := false
  2 [    7]: SETGLOBAL R0 K0        ; __ZIP := R0
  3 [    8]: LOADK     R0 K2        ; R0 := "7.23"
  4 [    8]: SETGLOBAL R0 K1        ; __VER := R0
  5 [    9]: LOADBOOL  R0 1 0       ; R0 := true
  6 [    9]: SETGLOBAL R0 K3        ; __LOGO := R0
  7 [   16]: NEWTABLE  R0 0 0       ; R0 := {}
  8 [   60]: CLOSURE   R1 0         ; R1 := closure(Function #0,R1)
  9 [   60]: MOVE      R0 R0        ; R0 := R0
10 [   18]: SETGLOBAL R1 K4        ; class := R1
11 [   69]: GETGLOBAL R1 K4        ; R1 := class
12 [   69]: CALL      R1 1 2       ; R1 := R1()
13 [   69]: SETGLOBAL R1 K5        ; D2D_引擎 := R1
14 [   71]: GETGLOBAL R1 K5        ; R1 := D2D_引擎
15 [   80]: CLOSURE   R2 1         ; R2 := closure(Function #1)
16 [   71]: SETTABLE  R1 K6 R2     ; R1["初始化"] := R2
17 [   83]: GETGLOBAL R1 K5        ; R1 := D2D_引擎
2016-5-17 11:46
0
雪    币: 4
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
[QUOTE=紫夜星纱;1429662]1 [    7]: LOADBOOL  R0 0 0       ; R0 := false
  2 [    7]: SETGLOBAL R0 K0        ; __ZIP := R0
  3 [    8]: LOADK     R0 K2        ; R0 := "7.23"...[/QUOTE]

请问这是如何得到的? 这可以 得到全部的函数吗
2016-5-17 14:04
0
雪    币: 4
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
[QUOTE=紫夜星纱;1429662]1 [    7]: LOADBOOL  R0 0 0       ; R0 := false
  2 [    7]: SETGLOBAL R0 K0        ; __ZIP := R0
  3 [    8]: LOADK     R0 K2        ; R0 := "7.23"...[/QUOTE]

你这是 luadec 生成的汇编代码啊 luadec对付这个会崩溃 不会得到全部的汇编

; This file has been disassembled using luadec 2.0 standard by sztupy (1f4K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8X3I4#2j5h3c8W2j5K6f1I4i4K6u0W2L8s2g2S2k6X3!0J5k6$3g2Q4x3X3g2F1k6i4c8Q4x3U0V1`.
; Command line was: -dis lua5.luac

; Name:            
; Defined at line: 0
; #Upvalues:       0
; #Parameters:     0
; Is_vararg:       2
; Max Stack Size:  11

  1 [-]: LOADBOOL  R0 0 0       ; R0 := false
  2 [-]: SETGLOBAL R0 K0        ; __ZIP := R0
  3 [-]: LOADK     R0 K2        ; R0 := "7.23"
  4 [-]: SETGLOBAL R0 K1        ; __VER := R0
  5 [-]: LOADBOOL  R0 1 0       ; R0 := true
  6 [-]: SETGLOBAL R0 K3        ; __LOGO := R0
  7 [-]: NEWTABLE  R0 0 0       ; R0 := {}
  8 [-]: CLOSURE   R1 0         ; R1 := closure(Function #1)
  9 [-]: MOVE      R0 R0        ; R0 := R0
10 [-]: SETGLOBAL R1 K4        ; class := R1
11 [-]: GETGLOBAL R1 K4        ; R1 := class
12 [-]: CALL      R1 1 2       ; R1 := R1()
13 [-]: SETGLOBAL R1 K5        ; D2D_引擎 := R1
14 [-]: GETGLOBAL R1 K5        ; R1 := D2D_引擎
15 [-]: CLOSURE   R2 1         ; R2 := closure(Function #2)
16 [-]: SETTABLE  R1 K6 R2     ; R1["\179\245\202\188\187\175"] := R2
17 [-]: GETGLOBAL R1 K5        ; R1 := D2D_引擎
18 [-]: CLOSURE   R2 2         ; R2 := closure(Function #3)
19 [-]: SETTABLE  R1 K7 R2     ; R1["\200\161\215\238\186\243\214\161\202\177\188\228"] := R2
20 [-]: GETGLOBAL R1 K5        ; R1 := D2D_引擎
21 [-]: CLOSURE   R2 3         ; R2 := closure(Function #4)
22 [-]: SETTABLE  R1 K8 R2     ; R1["\200\161\212\203\208\208\202\177\188\228"] := R2
23 [-]: GETGLOBAL R1 K5        ; R1 := D2D_引擎
24 [-]: CLOSURE   R2 4         ; R2 := closure(Function #5)
25 [-]: SETTABLE  R1 K9 R2     ; R1["\200\161\202\243\177\234\215\248\177\234"] := R2
26 [-]: GETGLOBAL R1 K5        ; R1 := D2D_引擎
27 [-]: CLOSURE   R2 5         ; R2 := closure(Function #6)
28 [-]: SETTABLE  R1 K10 R2    ; R1["\200\161\176\180\188\252\176\180\207\194"] := R2
29 [-]: GETGLOBAL R1 K5        ; R1 := D2D_引擎
30 [-]: CLOSURE   R2 6         ; R2 := closure(Function #7)
31 [-]: SETTABLE  R1 K11 R2    ; R1["\200\161\176\180\188\252\181\175\198\240"] := R2
32 [-]: GETGLOBAL R1 K5        ; R1 := D2D_引擎
33 [-]: CLOSURE   R2 7         ; R2 := closure(Function #8)
34 [-]: SETTABLE  R1 K12 R2    ; R1["\200\161\176\180\188\252\202\194\188\254"] := R2
35 [-]: GETGLOBAL R1 K5        ; R1 := D2D_引擎
2016-5-18 08:46
0
雪    币: 4
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
不会吧 结合luadec 和 unluac 可以还原部分
如果luadec不崩溃 的话 就可以还原全部了
2016-5-18 18:06
0
雪    币: 248
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
luadec 会崩溃,是有个BUG,自己修复下BUG
2016-5-18 19:24
0
雪    币: 4
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
可否传一份修复bug的上来?因为我用最新版的luadec2.02版 作者也说修复了崩溃bug 但是也没解决崩溃问题
2016-5-18 20:01
0
雪    币: 4
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
大神 能发我一份吗?万分感谢
2016-5-19 09:38
0
雪    币: 238
活跃值: (410)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18


这样?

加参数 -nf 一个一个函数的来...
例如:
luadec.exe" -nf 1  "R:\lua5-1016.lua"
luadec.exe" -nf 2  "R:\lua5-1016.lua"
....

另外并没有发现乱码问题
上传的附件:
2016-5-19 17:11
0
雪    币: 4
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
我目前也是用这种方法 然后结合 ChunkSpy 看 ,由于代码有6w行呢 还没完全弄好 谢谢!
2016-5-22 08:59
0
雪    币: 4
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
我想问下 非函数的部分 全局变量跟 调用函数的地方该怎么看?另外 我用luadec -nf 并不能像你这样 看到函数名啊?
上传的附件:
2016-5-22 09:02
0
游客
登录 | 注册 方可回帖
返回