首页
社区
课程
招聘
[原创]cyjsvmp开源,带你了解js是如何转化为vmp
发表于: 2023-4-11 10:36 6903

[原创]cyjsvmp开源,带你了解js是如何转化为vmp

2023-4-11 10:36
6903

cyjsvmp开源代码详细的展示了js代码是如何一步一步转化为字节码,让你的代码得到保护

 

其中实现了多线程的执行,让算法还原难上加难,已经实现了es5语法的翻译

 

开源地址: https://github.com/2833844911/cyjsvmp

 

使用前要把js转es5 教程链接

 

es6转es5

 

main.js 正常调试版

 

jiamian.js 加密版 // 重新打乱指令集

 

jiajianbian.js 快速加密版

 

main_pro 升级版,带线程 // 防止反编译算法还原

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
// 线程版例子
var a = 0
var ad = 29
 
var f = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]
// “cbb_”开头的是特殊函数(特殊函数才可以异步)
function cbb_hu(e,b){
  for (var i =0; i < e.length; i++){
      for (var u=0;u < b % 10; u++){
          a = u;
      }
      if (ad + 1 === 1){
        ad = 29
      }
      cbb_prgnx()
      console.log(ad, e[i] +  (b % ad) *3, f[ad], ad)
 
      f[ad] =f[ad] +  e[i] +  (b % ad) *3
      cbb_prgunx()
      ad -= 1
  }
  return 90
}
 
function cbb_hu2(e,b){
  for (var i =0; i < e.length; i++){
 
      for (var u=0;u < b % 20; u++){
          a = u;
      }
 
      if (ad + 1 === 1){
        ad = 29
      }
      cbb_prgnx()
      console.log(ad, e[i] +  b % ad, f[ad], ad)
 
      f[ad] = f[ad] + e[i] +  b % ad
      cbb_prgunx()
      ad -= 1
  }
  return 90
}
function cbb_op(e,b){
  for (var i =0; i < e.length; i++){
      for (var u=0;u < b % 30; u++){
          a = u;
      }
      if (ad + 1 === 1){
        ad = 29
      }
      // 线程锁开启
      cbb_prgnx()
      console.log(29-ad, e[i] + ad + b, f[29 - ad], ad)
      f[29 - ad] = f[29 - ad] + e[i] + ad + b
      // 线程锁关闭
      cbb_prgunx()
      ad -= 1
  }
  return 0
}
 
function sign(){
  var mm_ = "2833844911"
  var mm2_ = "udiaudisaoduas"
  var code_ = "565767"
  var mm = mm_.split('')
  for (var i =0; i< mm.length; i++){
    mm[i] = mm[i].charCodeAt(0)
  }
  var mm2 = mm2_.split('')
  for (i =0; i< mm2.length; i++){
    mm2[i] = mm2[i].charCodeAt(0)
  }
  var code = code_.split('')
  for (i =0; i< code.length; i++){
    code[i] = code[i].charCodeAt(0)
  }
    debugger
    var s = cbb_op(mm, 30);
    console.log("dadasd",s)
    // 开始线程
  cbb_prg(cbb_op(mm, 30), cbb_hu(mm2, 6786), cbb_hu2(code, 76))
  var dt = ''
  for (i = 0 ; i<30; i++){
 
    dt += f[i]
  }
    console.log(f)
  var s = {"zhaohao": mm_,"mima":mm2_,"code":code_,"sign":dt}
 
  return s
}
if (window){
    window.sign = sign;
 
}else {
    global.sign = sign;
}
var tw = sign()
debugger
console.log(tw)
console.log(JSON.stringify(tw))

把上面代码使用main_pro.js进行加密
可在node和浏览器环境使用


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

最后于 2023-4-11 10:57 被陈不不编辑 ,原因:
收藏
免费 5
支持
分享
最新回复 (4)
雪    币: 21
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
2
牛逼
2023-4-11 10:49
0
雪    币: 2300
活跃值: (1870)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
牛逼
2023-4-12 01:38
0
雪    币: 3090
活跃值: (30881)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
感谢分享
2023-4-12 09:02
1
雪    币: 1671
活跃值: (215832)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
5
tql
2023-4-12 14:44
0
游客
登录 | 注册 方可回帖
返回
//