jsobfu 0.4.1 → 0.4.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/lib/jsobfu/obfuscator.rb +2 -1
- data/lib/jsobfu/scope.rb +10 -4
- data/lib/jsobfu/utils.rb +1 -1
- data/lib/jsobfu/version.rb +3 -0
- metadata +93 -13
- metadata.gz.sig +1 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 550f2de308e84c1e85fc9f6a8f5d18534d43acf5
|
4
|
+
data.tar.gz: a7dc9acd17fd65bb7a16416aa05eca4b37de8eec
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 386cb2e03ff53a8539b6688e5028b4fd4ac2df389032fe7ea295fa883c1e58a1616f3f14be5c70346f2f2a6afd14aec0d491d7ca0a72e8db7290ed5d9e3b700a
|
7
|
+
data.tar.gz: 7906a8236b78ee34819c87e4d5c54911e94fe85e2d7c30e7a2c1b8b5e06b14042287caa1eadbec7e25d54c54ba8b7410ead8eaf0c3cfd8d1a48e7149a1eed7f7
|
checksums.yaml.gz.sig
ADDED
Binary file
|
data.tar.gz.sig
ADDED
Binary file
|
data/lib/jsobfu/obfuscator.rb
CHANGED
data/lib/jsobfu/scope.rb
CHANGED
@@ -24,13 +24,16 @@ class JSObfu::Scope < Hash
|
|
24
24
|
parent opener event frameElement Error TypeError setTimeout setInterval
|
25
25
|
top arguments Array Date
|
26
26
|
)
|
27
|
-
|
27
|
+
|
28
28
|
# @return [JSObfu::Scope] parent that spawned this scope
|
29
29
|
attr_accessor :parent
|
30
30
|
|
31
31
|
# @return [Hash] mapping old var names to random ones
|
32
32
|
attr_accessor :renames
|
33
33
|
|
34
|
+
# @return [Number] the 0-indexed depth of the scope stack
|
35
|
+
attr_accessor :depth
|
36
|
+
|
34
37
|
# @param [Hash] opts the options hash
|
35
38
|
# @option opts [Rex::Exploitation::JSObfu::Scope] :parent an optional parent scope,
|
36
39
|
# sometimes necessary to prevent needless var shadowing
|
@@ -41,6 +44,7 @@ class JSObfu::Scope < Hash
|
|
41
44
|
@char_set = opts[:first_char_set] || @first_char_set + [*'0'..'9']
|
42
45
|
@min_len = opts[:min_len] || 1
|
43
46
|
@renames = {}
|
47
|
+
@depth = -1
|
44
48
|
end
|
45
49
|
|
46
50
|
# Generates a unique, "safe" random variable
|
@@ -60,7 +64,6 @@ class JSObfu::Scope < Hash
|
|
60
64
|
len += 1
|
61
65
|
end
|
62
66
|
end
|
63
|
-
|
64
67
|
# Re-maps your +var_name+ to a unique, random
|
65
68
|
# names in the current scope
|
66
69
|
#
|
@@ -122,6 +125,7 @@ class JSObfu::Scope < Hash
|
|
122
125
|
# empties current scope, and returns. Essentially an in-place
|
123
126
|
# push operation
|
124
127
|
def push!
|
128
|
+
@depth += 1
|
125
129
|
replacement = dup
|
126
130
|
replacement.parent = @parent
|
127
131
|
replacement.renames = @renames
|
@@ -131,8 +135,10 @@ class JSObfu::Scope < Hash
|
|
131
135
|
end
|
132
136
|
|
133
137
|
# "Consumes" the parent and replaces self with it
|
134
|
-
def pop!
|
135
|
-
|
138
|
+
def pop!(opts={})
|
139
|
+
retain = opts.fetch(:retain, false)
|
140
|
+
@depth -= 1
|
141
|
+
clear unless retain
|
136
142
|
if @parent
|
137
143
|
merge! @parent
|
138
144
|
@renames = @parent.renames
|
data/lib/jsobfu/utils.rb
CHANGED
metadata
CHANGED
@@ -1,44 +1,124 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jsobfu
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James Lee
|
8
8
|
- Joe Vennix
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
|
-
cert_chain:
|
12
|
-
|
11
|
+
cert_chain:
|
12
|
+
- |
|
13
|
+
-----BEGIN CERTIFICATE-----
|
14
|
+
MIIDXzCCAkegAwIBAgILBAAAAAABIVhTCKIwDQYJKoZIhvcNAQELBQAwTDEgMB4G
|
15
|
+
A1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjMxEzARBgNVBAoTCkdsb2JhbFNp
|
16
|
+
Z24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMDkwMzE4MTAwMDAwWhcNMjkwMzE4
|
17
|
+
MTAwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSMzETMBEG
|
18
|
+
A1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjCCASIwDQYJKoZI
|
19
|
+
hvcNAQEBBQADggEPADCCAQoCggEBAMwldpB5BngiFvXAg7aEyiie/QV2EcWtiHL8
|
20
|
+
RgJDx7KKnQRfJMsuS+FggkbhUqsMgUdwbN1k0ev1LKMPgj0MK66X17YUhhB5uzsT
|
21
|
+
gHeMCOFJ0mpiLx9e+pZo34knlTifBtc+ycsmWQ1z3rDI6SYOgxXG71uL0gRgykmm
|
22
|
+
KPZpO/bLyCiR5Z2KYVc3rHQU3HTgOu5yLy6c+9C7v/U9AOEGM+iCK65TpjoWc4zd
|
23
|
+
QQ4gOsC0p6Hpsk+QLjJg6VfLuQSSaGjlOCZgdbKfd/+RFO+uIEn8rUAVSNECMWEZ
|
24
|
+
XriX7613t2Saer9fwRPvm2L7DWzgVGkWqQPabumDk3F2xmmFghcCAwEAAaNCMEAw
|
25
|
+
DgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFI/wS3+o
|
26
|
+
LkUkrk1Q+mOai97i3Ru8MA0GCSqGSIb3DQEBCwUAA4IBAQBLQNvAUKr+yAzv95ZU
|
27
|
+
RUm7lgAJQayzE4aGKAczymvmdLm6AC2upArT9fHxD4q/c2dKg8dEe3jgr25sbwMp
|
28
|
+
jjM5RcOO5LlXbKr8EpbsU8Yt5CRsuZRj+9xTaGdWPoO4zzUhw8lo/s7awlOqzJCK
|
29
|
+
6fBdRoyV3XpYKBovHd7NADdBj+1EbddTKJd+82cEHhXXipa0095MJ6RMG3NzdvQX
|
30
|
+
mcIfeg7jLQitChws/zyrVQ4PkX4268NXSb7hLi18YIvDQVETI53O9zJrlAGomecs
|
31
|
+
Mx86OyXShkDOOyyGeMlhLxS67ttVb9+E7gUJTb0o2HLO02JQZR7rkpeDMdmztcpH
|
32
|
+
WD9f
|
33
|
+
-----END CERTIFICATE-----
|
34
|
+
- |
|
35
|
+
-----BEGIN CERTIFICATE-----
|
36
|
+
MIIElDCCA3ygAwIBAgIOSBtqBybS6D8mAtSCWs0wDQYJKoZIhvcNAQELBQAwTDEg
|
37
|
+
MB4GA1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjMxEzARBgNVBAoTCkdsb2Jh
|
38
|
+
bFNpZ24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMTYwNjE1MDAwMDAwWhcNMjQw
|
39
|
+
NjE1MDAwMDAwWjBaMQswCQYDVQQGEwJCRTEZMBcGA1UEChMQR2xvYmFsU2lnbiBu
|
40
|
+
di1zYTEwMC4GA1UEAxMnR2xvYmFsU2lnbiBDb2RlU2lnbmluZyBDQSAtIFNIQTI1
|
41
|
+
NiAtIEczMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAjYVVI6kfU6/J
|
42
|
+
7TbCKbVu2PlC9SGLh/BDoS/AP5fjGEfUlk6Iq8Zj6bZJFYXx2Zt7G/3YSsxtToZA
|
43
|
+
F817ukcotdYUQAyG7h5LM/MsVe4hjNq2wf6wTjquUZ+lFOMQ5pPK+vldsZCH7/g1
|
44
|
+
LfyiXCbuexWLH9nDoZc1QbMw/XITrZGXOs5ynQYKdTwfmOPLGC+MnwhKkQrZ2TXZ
|
45
|
+
g5J2Yl7fg67k1gFOzPM8cGFYNx8U42qgr2v02dJsLBkwXaBvUt/RnMngDdl1EWWW
|
46
|
+
2UO0p5A5rkccVMuxlW4l3o7xEhzw127nFE2zGmXWhEpX7gSvYjjFEJtDjlK4Prau
|
47
|
+
niyX/4507wIDAQABo4IBZDCCAWAwDgYDVR0PAQH/BAQDAgEGMB0GA1UdJQQWMBQG
|
48
|
+
CCsGAQUFBwMDBggrBgEFBQcDCTASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdDgQW
|
49
|
+
BBQPOueslJF0LZYCc4OtnC5JPxmqVDAfBgNVHSMEGDAWgBSP8Et/qC5FJK5NUPpj
|
50
|
+
move4t0bvDA+BggrBgEFBQcBAQQyMDAwLgYIKwYBBQUHMAGGImh0dHA6Ly9vY3Nw
|
51
|
+
Mi5nbG9iYWxzaWduLmNvbS9yb290cjMwNgYDVR0fBC8wLTAroCmgJ4YlaHR0cDov
|
52
|
+
L2NybC5nbG9iYWxzaWduLmNvbS9yb290LXIzLmNybDBjBgNVHSAEXDBaMAsGCSsG
|
53
|
+
AQQBoDIBMjAIBgZngQwBBAEwQQYJKwYBBAGgMgFfMDQwMgYIKwYBBQUHAgEWJmh0
|
54
|
+
dHBzOi8vd3d3Lmdsb2JhbHNpZ24uY29tL3JlcG9zaXRvcnkvMA0GCSqGSIb3DQEB
|
55
|
+
CwUAA4IBAQAVhCgM7aHDGYLbYydB18xjfda8zzabz9JdTAKLWBoWCHqxmJl/2DOK
|
56
|
+
XJ5iCprqkMLFYwQL6IdYBgAHglnDqJQy2eAUTaDVI+DH3brwaeJKRWUtTUmQeGYy
|
57
|
+
DrBowLCIsI7tXAb4XBBIPyNzujtThFKAzfCzFcgRCosFeEZZCNS+t/9L9ZxqTJx2
|
58
|
+
ohGFRYzUN+5Q3eEzNKmhHzoL8VZEim+zM9CxjtEMYAfuMsLwJG+/r/uBAXZnxKPo
|
59
|
+
4KvcM1Uo42dHPOtqpN+U6fSmwIHRUphRptYCtzzqSu/QumXSN4NTS35nfIxA9gcc
|
60
|
+
sK8EBtz4bEaIcpzrTp3DsLlUo7lOl8oU
|
61
|
+
-----END CERTIFICATE-----
|
62
|
+
- |
|
63
|
+
-----BEGIN CERTIFICATE-----
|
64
|
+
MIIE5jCCA86gAwIBAgIMKDuO03uv6RWXR1uAMA0GCSqGSIb3DQEBCwUAMFoxCzAJ
|
65
|
+
BgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMTAwLgYDVQQDEydH
|
66
|
+
bG9iYWxTaWduIENvZGVTaWduaW5nIENBIC0gU0hBMjU2IC0gRzMwHhcNMTYwOTEz
|
67
|
+
MTgxMDIyWhcNMTkxMTExMTUxNTM4WjBgMQswCQYDVQQGEwJVUzEWMBQGA1UECBMN
|
68
|
+
TWFzc2FjaHVzZXR0czEPMA0GA1UEBxMGQm9zdG9uMRMwEQYDVQQKEwpSYXBpZDcg
|
69
|
+
TExDMRMwEQYDVQQDEwpSYXBpZDcgTExDMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
|
70
|
+
MIIBCgKCAQEAl0HeC0FzN1BJ4nQkxsBng3peS9Bdi9rpSGx+g0Ximd+M/7twmund
|
71
|
+
bzn2JPbNK/Gp/rq/SytrNSLcUzcbH/0z5Ltyw1/jQsGtRBrns0NZSRXqupQDW5R6
|
72
|
+
HFpaIAl3OdsesmIQc/fm0uhh8dkfHVo7UsZO/TeCPoy0uHXTI6aFBPzMMsdz+gf3
|
73
|
+
cCCLsnNKQh/T2Q/jwBs3NTPoyza/pPZcvGogKcWCeNihTO5Rn1Fc71sMHSjQsDtn
|
74
|
+
1fWGKYGi0qjvZ4lpGM9IFZMTbySKHbPLhhHnBOoV7avGemdky3AEsUeiT+6DY0P1
|
75
|
+
IydBy24uVNhGATglME1ttlT4Eme/to0M6wIDAQABo4IBpDCCAaAwDgYDVR0PAQH/
|
76
|
+
BAQDAgeAMIGUBggrBgEFBQcBAQSBhzCBhDBIBggrBgEFBQcwAoY8aHR0cDovL3Nl
|
77
|
+
Y3VyZS5nbG9iYWxzaWduLmNvbS9jYWNlcnQvZ3Njb2Rlc2lnbnNoYTJnM29jc3Au
|
78
|
+
Y3J0MDgGCCsGAQUFBzABhixodHRwOi8vb2NzcDIuZ2xvYmFsc2lnbi5jb20vZ3Nj
|
79
|
+
b2Rlc2lnbnNoYTJnMzBWBgNVHSAETzBNMEEGCSsGAQQBoDIBMjA0MDIGCCsGAQUF
|
80
|
+
BwIBFiZodHRwczovL3d3dy5nbG9iYWxzaWduLmNvbS9yZXBvc2l0b3J5LzAIBgZn
|
81
|
+
gQwBBAEwCQYDVR0TBAIwADA/BgNVHR8EODA2MDSgMqAwhi5odHRwOi8vY3JsLmds
|
82
|
+
b2JhbHNpZ24uY29tL2dzY29kZXNpZ25zaGEyZzMuY3JsMBMGA1UdJQQMMAoGCCsG
|
83
|
+
AQUFBwMDMB0GA1UdDgQWBBSm8RBpBC/cK9VmxzO2+RWnacN8CTAfBgNVHSMEGDAW
|
84
|
+
gBQPOueslJF0LZYCc4OtnC5JPxmqVDANBgkqhkiG9w0BAQsFAAOCAQEANVO3uYQl
|
85
|
+
h8iicbaXE3odrL+kXXmeeNgt4BD3x7GKAVIVixtwBS6pvrshjc1LN0tm3ruiv8oy
|
86
|
+
cq4FiEmVUXZejSRvVVtABeWdZWo+lJ8NxCBUEYYmnMrjgFIbGiEbBsg7PGtyeQsA
|
87
|
+
5Wbg7Lx889mS1tKfQBcPif8EjpTiXNfMiywmpaMYmvm+yQgzrRLDbjz6JV0Rc5Ga
|
88
|
+
WChka+LTPnMtsWJuFM8ka8icMeS28/nAGERdewxWvz+DeAPMORdTJ7aqb6+Y9xuz
|
89
|
+
G+Hmcg1v810agasPdoydE0RTVZgEOOMoQ07qu7JFXVWZ9ZQpHT7qJATWL/b2csFG
|
90
|
+
8mVuTXnyJOKRJA==
|
91
|
+
-----END CERTIFICATE-----
|
92
|
+
date: 2017-01-18 00:00:00.000000000 Z
|
13
93
|
dependencies:
|
14
94
|
- !ruby/object:Gem::Dependency
|
15
95
|
name: rkelly-remix
|
16
96
|
requirement: !ruby/object:Gem::Requirement
|
17
97
|
requirements:
|
18
|
-
- -
|
98
|
+
- - ">="
|
19
99
|
- !ruby/object:Gem::Version
|
20
|
-
version: 0
|
100
|
+
version: '0'
|
21
101
|
type: :runtime
|
22
102
|
prerelease: false
|
23
103
|
version_requirements: !ruby/object:Gem::Requirement
|
24
104
|
requirements:
|
25
|
-
- -
|
105
|
+
- - ">="
|
26
106
|
- !ruby/object:Gem::Version
|
27
|
-
version: 0
|
107
|
+
version: '0'
|
28
108
|
- !ruby/object:Gem::Dependency
|
29
109
|
name: rspec
|
30
110
|
requirement: !ruby/object:Gem::Requirement
|
31
111
|
requirements:
|
32
|
-
- - "
|
112
|
+
- - ">="
|
33
113
|
- !ruby/object:Gem::Version
|
34
|
-
version: '
|
114
|
+
version: '0'
|
35
115
|
type: :development
|
36
116
|
prerelease: false
|
37
117
|
version_requirements: !ruby/object:Gem::Requirement
|
38
118
|
requirements:
|
39
|
-
- - "
|
119
|
+
- - ">="
|
40
120
|
- !ruby/object:Gem::Version
|
41
|
-
version: '
|
121
|
+
version: '0'
|
42
122
|
- !ruby/object:Gem::Dependency
|
43
123
|
name: simplecov
|
44
124
|
requirement: !ruby/object:Gem::Requirement
|
@@ -110,6 +190,7 @@ files:
|
|
110
190
|
- lib/jsobfu/obfuscator.rb
|
111
191
|
- lib/jsobfu/scope.rb
|
112
192
|
- lib/jsobfu/utils.rb
|
193
|
+
- lib/jsobfu/version.rb
|
113
194
|
- samples/basic.rb
|
114
195
|
- spec/integration_spec.rb
|
115
196
|
- spec/jsobfu/disable_spec.rb
|
@@ -133,7 +214,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
133
214
|
requirements:
|
134
215
|
- - ">="
|
135
216
|
- !ruby/object:Gem::Version
|
136
|
-
version:
|
217
|
+
version: 2.0.0
|
137
218
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
138
219
|
requirements:
|
139
220
|
- - ">="
|
@@ -146,4 +227,3 @@ signing_key:
|
|
146
227
|
specification_version: 4
|
147
228
|
summary: A Javascript code obfuscator
|
148
229
|
test_files: []
|
149
|
-
has_rdoc:
|
metadata.gz.sig
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
F� ����������y�|��6��-
|