-
Notifications
You must be signed in to change notification settings - Fork 1
/
Установка-удаление AntiHidden.vbs
266 lines (243 loc) · 12 KB
/
Установка-удаление AntiHidden.vbs
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
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
Option Explicit
Dim AppName, oShell, oFSO, oShellApp, AppData, StartPath, InstFolder, curPath
AppName = "AntiHidden"
Set oShell = CreateObject("WScript.Shell")
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oShellApp = CreateObject("Shell.Application")
AppData = oShell.SpecialFolders("AppData")
StartPath = oShell.SpecialFolders("AllUsersPrograms") & "\" & AppName
'Ïàïêà óñòàíîâêè
InstFolder = oFSO.BuildPath(AppData, AppName)
curPath = oFSO.GetParentFolderName(WScript.ScriptFullname)
call Elevate()
'Äåèíñòàëëÿöèÿ
if strcomp(curPath, StartPath, 1) = 0 or oFSO.FileExists(InstFolder & "\_service_stop.cmd") then
if msgbox("Âû óâåðåíû, ÷òî õîòèòå óäàëèòü " & AppName & " ?", vbYesNo, AppName) = vbYes then
call Uninstall()
else
WScript.Quit
end if
end if
'Ïðîâåðêà, ÷òî çàïóùåí íå èç àðõèâà
if not oFSO.FolderExists(curPath & "\bin") then
WScript.Echo "Ñíà÷àëà íóæíî ðàñïàêîâàòü âñå ôàéëû èç àðõèâà."
WScript.Quit
end if
if msgbox ("Ïðèâåòñòâóþ !" & vbCrLf & vbCrLf & _
"Äëÿ óñòàíîâêè AntiHidden Âàì íåîáõîäèìî ñîãëàñèòüñÿ ñ óñëîâèÿìè ëèöåíçèîííîãî ñîãëàøåíèÿ ê ïðîãðàììå USBDLM îò Uwe Sieber:" & vbcrlf & _
"Ïðîãðàììà ìîæåò èñïîëüçîâàòüñÿ òîëüêî äëÿ ëè÷íûõ íåêîììåð÷åñêèõ èëè îáðàçîâàòåëüíûõ öåëåé." & vbcrlf & vbcrlf & _
"ÄÀ - ß ñîãëàñåí ñ óñëîâèÿìè." & vbcrlf & _
"ÍÅÒ - ïåðåéòè ê ÷òåíèþ óñëîâèé ïëàòíîãî èñïîëüçîâàíèÿ.",vbYesNo,AppName) = vbNo then
oShell.Run "cmd.exe /c start """" """ & "http://www.uwe-sieber.de/usbdlm_e.html" & """"
WScript.Quit
end if
'Ñîçäàþ ïàïêó äëÿ óñòàíîâêè ïðèëîæåíèÿ
if not oFSO.FolderExists(InstFolder) then oFSO.CreateFolder InstFolder
'Ñîçäàþ ïàïêó â ìåíþ "ÏÓÑÊ"
if not oFSO.FolderExists(StartPath) then oFSO.CreateFolder StartPath
'Êîïèðóþ ôàéëû ïðèëîæåíèÿ
on error resume next
Dim oFile
For each oFile in oFSO.GetFolder(curPath & "\bin").Files
oFile.Copy InstFolder & "\" & oFile.Name, true
Next
oFSO.CopyFile WScript.ScriptFullname, InstFolder & "\" & oFSO.GetFileName(WScript.ScriptFullname), true
on error goto 0
'Óñòàíîâêà ñëóæáû
oShell.Run "cmd.exe /c """ & InstFolder & "\_service_register.cmd""", 1, true
with oShell.CreateShortcut(StartPath & "\Ïðèîñòàíîâèòü ïðîãðàììó.lnk")
.Description = AppName
.TargetPath = InstFolder & "\_service_stop.cmd"
.WorkingDirectory = InstFolder
.WindowStyle = 1 'normal
.Save
end with
with oShell.CreateShortcut(StartPath & "\Âîçîáíîâèòü ðàáîòó ïðîãðàììû.lnk")
.Description = AppName
.TargetPath = InstFolder & "\_service_start.cmd"
.WorkingDirectory = InstFolder
.WindowStyle = 1 'normal
.Save
end with
with oShell.CreateShortcut(StartPath & "\Óäàëèòü AntiHidden.lnk")
.Description = AppName
.TargetPath = InstFolder & "\" & oFSO.GetFileName(WScript.ScriptFullname)
.WorkingDirectory = InstFolder
.WindowStyle = 1 'normal
.Save
end with
with oShell.CreateShortcut(StartPath & "\(Íå) îòêðûâàòü ïðîâîäíèê ïîñëå ëå÷åíèÿ.lnk")
.Description = AppName
.TargetPath = InstFolder & "\" & "Íå îòêðûâàòü ïðîâîäíèê ïîñëå ëå÷åíèÿ ôëåøêè.cmd"
.WorkingDirectory = InstFolder
.WindowStyle = 1 'normal
.Save
end with
oShell.Run "cmd.exe /c ""<NUL set /p=>""" & WScript.ScriptFullname & """:Zone.Identifier:$DATA""", 0, false
oShell.Run "cmd.exe /c ""<NUL set /p=>""" & InstFolder & "\_service_stop.cmd" & """:Zone.Identifier:$DATA""", 0, false
oShell.Run "cmd.exe /c ""<NUL set /p=>""" & InstFolder & "\_service_start.cmd" & """:Zone.Identifier:$DATA""", 0, false
oShell.Run "cmd.exe /c ""<NUL set /p=>""" & InstFolder & "\" & oFSO.GetFileName(WScript.ScriptFullname) & """:Zone.Identifier:$DATA""", 0, false
oShell.Run "cmd.exe /c ""<NUL set /p=>""" & InstFolder & "\" & "Íå îòêðûâàòü ïðîâîäíèê ïîñëå ëå÷åíèÿ ôëåøêè.cmd" & """:Zone.Identifier:$DATA""", 0, false
if Msgbox ("Õîòèòå îòêëþ÷èòü àâòîçàïóñê íà âñåõ ñúåìíûõ íàêîïèòåëÿõ, êðîìå CD-ROM ?", vbYesNo, AppName) = vbYes then
DisableAutoRun
end if
MsgBox "Óñòàíîâêà AntiHidden çàâåðøåíà." & vbCrLf & vbCrLf & "Ëå÷åíèå áóäåò àâòîìàòè÷åñêè çàïóñêàòüñÿ êàæäûé ðàç ïðè ïîäêëþ÷åíèè USB-íàêîïèòåëÿ.", , AppName
Sub DisableAutoRun()
oShell.RegWrite "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Explorer\NoDriveTypeAutoRun",221,"REG_DWORD"
End Sub
Sub Uninstall()
oShell.CurrentDirectory = oFSO.GetDriveName(WScript.ScriptFullname)
on error resume next
'Óäàëåíèå ñëóæáû
oShell.Run "cmd.exe /c """ & InstFolder & "\_service_deregister.cmd""", 1, true
if oFSO.FolderExists(StartPath) then oFSO.DeleteFolder StartPath, true
if oFSO.FolderExists(InstFolder) then oFSO.DeleteFolder InstFolder, true
if err.Number <> 0 then
msgbox "Óäàëèòå ñàìîñòîÿòåëüíî ïàïêó: " & InstFolder
oShell.Run "explorer.exe " & """" & InstFolder & """"
else
msgbox "Óäàëåíèå çàâåðøåíî.",,AppName
end if
WScript.Quit
End Sub
Function GetWindowsVersion() '"NT" èëè "Vista" core
dim ver
ver = oShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\CurrentVersion")
if left(ver, 2) = "5." then GetWindowsVersion = "NT" else GetWindowsVersion = "Vista"
End Function
Sub Elevate()
if GetWindowsVersion() = "NT" then exit sub
Const DQ = """"
if WScript.Arguments.Count = 0 then
oShellApp.ShellExecute WScript.FullName, DQ & WScript.ScriptFullName & DQ & " " & DQ & "Admin" & DQ, "", "runas", 1
WScript.Quit
end if
End Sub
'' SIG '' Begin signature block
'' SIG '' MIIQIgYJKoZIhvcNAQcCoIIQEzCCEA8CAQExCzAJBgUr
'' SIG '' DgMCGgUAMGcGCisGAQQBgjcCAQSgWTBXMDIGCisGAQQB
'' SIG '' gjcCAR4wJAIBAQQQTvApFpkntU2P5azhDxfrqwIBAAIB
'' SIG '' AAIBAAIBAAIBADAhMAkGBSsOAwIaBQAEFJwNIrkV0FDH
'' SIG '' M4s+4h09846XsqZWoIICDDCCAggwggF1oAMCAQICEPTb
'' SIG '' 3W6cNZGsSlw56VqCU28wCQYFKw4DAh0FADAYMRYwFAYD
'' SIG '' VQQDEw1BbGV4IERyYWdva2FzMB4XDTE0MDYzMDIwNTk0
'' SIG '' MloXDTM5MTIzMTIzNTk1OVowGDEWMBQGA1UEAxMNQWxl
'' SIG '' eCBEcmFnb2thczCBnzANBgkqhkiG9w0BAQEFAAOBjQAw
'' SIG '' gYkCgYEA0ZF2vv2gn+17UGx/QNKdOdEKeCjk/cz0zjFv
'' SIG '' qb59WEg9CP975lku7nklgPOKw3w/O4vfSjurwYW9Yh9c
'' SIG '' Ldef6UVN0NBooVRtZ3H8LAk5s/6h3/bOGhbHQxV4EakA
'' SIG '' h84zkK4eBr3wR1lOT9RC2+zruwGlG1KJPHkZE5ex+yyU
'' SIG '' KAcCAwEAAaNbMFkwDAYDVR0TAQH/BAIwADBJBgNVHQEE
'' SIG '' QjBAgBAg3Mm7xHMuIoLCqkkoBotCoRowGDEWMBQGA1UE
'' SIG '' AxMNQWxleCBEcmFnb2thc4IQ9Nvdbpw1kaxKXDnpWoJT
'' SIG '' bzAJBgUrDgMCHQUAA4GBAF7S7++1pq0cQKeHkD2wCbbR
'' SIG '' nfrOA6F26AT6Ol0UHXbvHl92M+UzuNrkT+57LH0kG9eu
'' SIG '' UlDbrP4kytNQ7FtL8o/IS5tvORwuTsrs4AGrzfpKm2KH
'' SIG '' y0EIMGJbIW3OoHHpiVqZK2eEW5HuSqaE+xTs05vfgBho
'' SIG '' TugVef8DA2tnrOgpMYINgjCCDX4CAQEwLDAYMRYwFAYD
'' SIG '' VQQDEw1BbGV4IERyYWdva2FzAhD0291unDWRrEpcOela
'' SIG '' glNvMAkGBSsOAwIaBQCgUjAQBgorBgEEAYI3AgEMMQIw
'' SIG '' ADAZBgkqhkiG9w0BCQMxDAYKKwYBBAGCNwIBBDAjBgkq
'' SIG '' hkiG9w0BCQQxFgQUoZQ2Zp0jyQ97O66Q9PqjoBnbQA0w
'' SIG '' DQYJKoZIhvcNAQEBBQAEgYC+uJ3daofPkce4ZaHauJZ9
'' SIG '' a06uWUrMA2zOe+C6SYlb3pSz1vw2Wdi8adi2q6xIrR9R
'' SIG '' WScANEYtqhAPSpA/LTfmZ/NdYp5j9gwPt6r+vqhv7yIc
'' SIG '' 6PoPawl70UmFJ33xU70fGef66KlQfCFVb82DuqGGVze5
'' SIG '' yVkEtgfMvBuDXtj0oqGCDFgwggxUBgorBgEEAYI3AwMB
'' SIG '' MYIMRDCCDEAGCSqGSIb3DQEHAqCCDDEwggwtAgEDMQsw
'' SIG '' CQYFKw4DAhoFADCBzQYLKoZIhvcNAQkQAQSggb0Egbow
'' SIG '' gbcCAQEGCSsGAQQBoDICAjAhMAkGBSsOAwIaBQAEFB7t
'' SIG '' 7Tf82asEFLm/YP0I6ByCgQkvAhReiZO+XcdP9LImu4XN
'' SIG '' UZ2yMWbZTBgPMjAxNjA4MzEyMTMwMTlaoF2kWzBZMQsw
'' SIG '' CQYDVQQGEwJTRzEfMB0GA1UEChMWR01PIEdsb2JhbFNp
'' SIG '' Z24gUHRlIEx0ZDEpMCcGA1UEAxMgR2xvYmFsU2lnbiBU
'' SIG '' U0EgZm9yIFN0YW5kYXJkIC0gRzKgggi0MIIEmDCCA4Cg
'' SIG '' AwIBAgISESG0VTUeuxqyT5fvB/4qswuKMA0GCSqGSIb3
'' SIG '' DQEBBQUAMFIxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBH
'' SIG '' bG9iYWxTaWduIG52LXNhMSgwJgYDVQQDEx9HbG9iYWxT
'' SIG '' aWduIFRpbWVzdGFtcGluZyBDQSAtIEcyMB4XDTE2MDUy
'' SIG '' NDAwMDAwMFoXDTI3MDYyNDAwMDAwMFowWTELMAkGA1UE
'' SIG '' BhMCU0cxHzAdBgNVBAoTFkdNTyBHbG9iYWxTaWduIFB0
'' SIG '' ZSBMdGQxKTAnBgNVBAMTIEdsb2JhbFNpZ24gVFNBIGZv
'' SIG '' ciBTdGFuZGFyZCAtIEcyMIIBIjANBgkqhkiG9w0BAQEF
'' SIG '' AAOCAQ8AMIIBCgKCAQEApLbCTEUO4rBsJZ6Cd3QPTcR5
'' SIG '' oedNN1N4NG+GyrukMrQtwSqqY/v1a/+4KVmJET/bejo4
'' SIG '' wo4pgSPUMw0gpeQUMWSM/qhs5RI/2JyYlp6Fvd7vhsAa
'' SIG '' vsvTjbVS5yXaLQJxciT3rN5jxGs55jT0Qske6yz1FEyZ
'' SIG '' eH3bz/SKo4haoeQ4ebo/iT4R2Y5S7s4nmeDsWKgeshT4
'' SIG '' aLpvLQDUkglAGtkC5pwlWtC403LfDmyp/fWd3aCDG3qB
'' SIG '' mEBQ8WC2MGslldu63IHe+o+Mw1iyDy71sJg3Ac4KHffx
'' SIG '' vKubQK10j3CUJZ8LyrT/zjWXAHvZWoFpwtrJoXW6Hs7E
'' SIG '' FzUbscvLTQIDAQABo4IBXzCCAVswDgYDVR0PAQH/BAQD
'' SIG '' AgeAMEwGA1UdIARFMEMwQQYJKwYBBAGgMgEeMDQwMgYI
'' SIG '' KwYBBQUHAgEWJmh0dHBzOi8vd3d3Lmdsb2JhbHNpZ24u
'' SIG '' Y29tL3JlcG9zaXRvcnkvMAkGA1UdEwQCMAAwFgYDVR0l
'' SIG '' AQH/BAwwCgYIKwYBBQUHAwgwQgYDVR0fBDswOTA3oDWg
'' SIG '' M4YxaHR0cDovL2NybC5nbG9iYWxzaWduLmNvbS9ncy9n
'' SIG '' c3RpbWVzdGFtcGluZ2cyLmNybDBUBggrBgEFBQcBAQRI
'' SIG '' MEYwRAYIKwYBBQUHMAKGOGh0dHA6Ly9zZWN1cmUuZ2xv
'' SIG '' YmFsc2lnbi5jb20vY2FjZXJ0L2dzdGltZXN0YW1waW5n
'' SIG '' ZzIuY3J0MB0GA1UdDgQWBBRPNUG1+UqSzkgpUEsDLLN3
'' SIG '' +ipAtDAfBgNVHSMEGDAWgBRG2D7/3OO+/4Pm9IWbsN1q
'' SIG '' 1hSpwTANBgkqhkiG9w0BAQUFAAOCAQEALqbwOoR3hYhm
'' SIG '' JxL69i1Nf79Tp0qr2Sl5GZ22+R3ibc8s1rhqkHGqqwYe
'' SIG '' 4Kzveo+azeznOaJM6UTVCNTbXvd8j4sB/AZ/YXTII9Xx
'' SIG '' 6NDsnYKUDIfGntpbdwlYQMo/FxIZWLmbaiMY+rIsa4Ga
'' SIG '' uV8ppZkLvHboq4Fs/O+31I5hJGhRnEIv3puiLMFd3ioi
'' SIG '' e5F+WOjVI0NzPBIOBRcUW28qIoJzUX9tr9GLOZQnbKCS
'' SIG '' lJkSS8nEcRuMh3f3EZdZy4AFs8swOD5mQ9VZANkFDbxZ
'' SIG '' fVD9piH0mQwhFwE7/0acLPYt1Gv8VXo4aHSIJWpZ/eSt
'' SIG '' FQ4vmt0GeXRl9g8Q8mEWYTCCBBQwggL8oAMCAQICCwQA
'' SIG '' AAAAAS9O4VLXMA0GCSqGSIb3DQEBBQUAMFcxCzAJBgNV
'' SIG '' BAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNh
'' SIG '' MRAwDgYDVQQLEwdSb290IENBMRswGQYDVQQDExJHbG9i
'' SIG '' YWxTaWduIFJvb3QgQ0EwHhcNMTEwNDEzMTAwMDAwWhcN
'' SIG '' MjgwMTI4MTIwMDAwWjBSMQswCQYDVQQGEwJCRTEZMBcG
'' SIG '' A1UEChMQR2xvYmFsU2lnbiBudi1zYTEoMCYGA1UEAxMf
'' SIG '' R2xvYmFsU2lnbiBUaW1lc3RhbXBpbmcgQ0EgLSBHMjCC
'' SIG '' ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJTv
'' SIG '' Zfi1V5+gUw00BusJH7dHGGrL8Fvk/yelNNH3iRq/nrHN
'' SIG '' EkFuZtSBoIWLZFpGL5mgjXex4rxc3SLXamfQu+jKdN6L
'' SIG '' Tw2wUuWQW+tHDvHnn5wLkGU+F5YwRXJtOaEXNsq5oIwb
'' SIG '' TwgZ9oExrWEWpGLmtECew/z7lfb7tS6VgZjg78Xr2AJZ
'' SIG '' eHf3quNSa1CRKcX8982TZdJgYSLyBvsy3RZR+g79ijDw
'' SIG '' Fwmnu/MErquQ52zfeqn078RiJ19vmW04dKoRi9rfxxRM
'' SIG '' 6YWy7MJ9SiaP51a6puDPklOAdPQD7GiyYLyEIACDG6Hu
'' SIG '' tHQFwSmOYtBHsfrwU8wY+S47+XB+tCUCAwEAAaOB5TCB
'' SIG '' 4jAOBgNVHQ8BAf8EBAMCAQYwEgYDVR0TAQH/BAgwBgEB
'' SIG '' /wIBADAdBgNVHQ4EFgQURtg+/9zjvv+D5vSFm7DdatYU
'' SIG '' qcEwRwYDVR0gBEAwPjA8BgRVHSAAMDQwMgYIKwYBBQUH
'' SIG '' AgEWJmh0dHBzOi8vd3d3Lmdsb2JhbHNpZ24uY29tL3Jl
'' SIG '' cG9zaXRvcnkvMDMGA1UdHwQsMCowKKAmoCSGImh0dHA6
'' SIG '' Ly9jcmwuZ2xvYmFsc2lnbi5uZXQvcm9vdC5jcmwwHwYD
'' SIG '' VR0jBBgwFoAUYHtmGkUNl8qJUC99BM00qP/8/UswDQYJ
'' SIG '' KoZIhvcNAQEFBQADggEBAE5eVpAeRrTZSTHzuxc5KBvC
'' SIG '' Ft39QdwJBQSbb7KimtaZLkCZAFW16j+lIHbThjTUF8xV
'' SIG '' OseC7u+ourzYBp8VUN/NFntSOgLXGRr9r/B4XOBLxRjf
'' SIG '' OiQe2qy4qVgEAgcw27ASXv4xvvAESPTwcPg6XlaDzz37
'' SIG '' Dbz0xe2XnbnU26UnhOM4m4unNYZEIKQ7baRqC6GD/Sjr
'' SIG '' 2u8o9syIXfsKOwCr4CHr4i81bA+ONEWX66L3mTM1fsua
'' SIG '' irtFTec/n8LZivplsm7HfmX/6JLhLDGi97AnNkiPJm87
'' SIG '' 7k12H3nD5X+WNbwtDswBsI5//1GAgKeS1LNERmSMh08W
'' SIG '' YwcxS2Ow3/MxggKRMIICjQIBATBoMFIxCzAJBgNVBAYT
'' SIG '' AkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMSgw
'' SIG '' JgYDVQQDEx9HbG9iYWxTaWduIFRpbWVzdGFtcGluZyBD
'' SIG '' QSAtIEcyAhIRIbRVNR67GrJPl+8H/iqzC4owCQYFKw4D
'' SIG '' AhoFAKCB/zAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQ
'' SIG '' AQQwHAYJKoZIhvcNAQkFMQ8XDTE2MDgzMTIxMzAxOVow
'' SIG '' IwYJKoZIhvcNAQkEMRYEFJDs/MxPY6ThqgUA6jDVxcYz
'' SIG '' on6DMIGdBgsqhkiG9w0BCRACDDGBjTCBijCBhzCBhAQU
'' SIG '' g/3hunb+9VKRtQ1oYZBtqkW1jLUwbDBWpFQwUjELMAkG
'' SIG '' A1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYt
'' SIG '' c2ExKDAmBgNVBAMTH0dsb2JhbFNpZ24gVGltZXN0YW1w
'' SIG '' aW5nIENBIC0gRzICEhEhtFU1Hrsask+X7wf+KrMLijAN
'' SIG '' BgkqhkiG9w0BAQEFAASCAQAisg/uSEWHoeO/j6AgTRml
'' SIG '' u0QWdxuSgQC4ig55dFZYZ99BHkEBDLH/YcZWQxYO1cnc
'' SIG '' 7/s0YNYVvjTZP9C7IPWS85RoVLxYTXFOVstSPQqy+lzb
'' SIG '' JeMjTCuBGmE+KgZx1QzR1NUYS98tdnYuPOnLUCflwlh1
'' SIG '' /8kNVoMbwEgzv4Xx/VCJI8dqrkZ0XUwQYTpnOeQ60ufo
'' SIG '' 8G9wZ0J1ruVDgYaewJPU8TNPZ/GvQcAy+8PuutcqbRQT
'' SIG '' f24qcpLVAwG0c91q3GuqSvXrpfNj6Mu+Ex3MagMFkq3A
'' SIG '' 65ORKjAtF5sZ/2L3ZMBfWZL/098yDJ+SJT8lUi7I1uqW
'' SIG '' wWUYV4zsLhwA
'' SIG '' End signature block