-
Notifications
You must be signed in to change notification settings - Fork 1
/
Execute.vb
150 lines (148 loc) · 6.55 KB
/
Execute.vb
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
Public Class Execute
Public Shared Sub CheckChanges(type As String, checkbox As CheckBox, textbox As TextBox,
drop As ComboBox, button As Button)
Select Case LCase(type)
Case "check"
If checkbox.CheckState = CheckState.Checked Then
textbox.Text = ""
textbox.Enabled = True
Else
textbox.Text = ""
textbox.Enabled = False
End If
Case "key"
If textbox.TextLength > 0 Then Tools.ButtonChange(button, True) Else Tools.ButtonChange(button, False)
Case "drop"
If drop.Text.Length > 0 Then Tools.ButtonChange(button, True) Else Tools.ButtonChange(button, False)
End Select
End Sub
Public Shared Sub LoadFile(type As String, textbox As TextBox)
Dim Desc As String = "", SelectedDir As String = "", Ext() As String = {""}, ExtGroup As String = "",
ExtDesc As String = "", SourceFile As String = "", NewFile As String = "",
SelectedFileName As String = "", CertInfo As String = vbNull
Select Case LCase(type)
Case "tool"
Desc = "Location of SignTool.exe"
SelectedDir = "C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\x64\"
Ext = {".exe"}
ExtDesc = "SignTool File"
SelectedFileName = "SignTool*"
Case "pfx"
Desc = "Location of the Coding Signing Certificate PFX File"
SelectedDir = My.Computer.FileSystem.CurrentDirectory
Ext = {".pfx"}
ExtDesc = "PFX Files"
Case "file"
Desc = "Location of File to be Signed"
SelectedDir = My.Computer.FileSystem.CurrentDirectory
Ext = {".exe", ".ocx", ".dll", ".cab"}
ExtDesc = "Signable Files"
End Select
For Each ExtName In Ext
ExtGroup &= "*" & ExtName & ", "
Next
ExtGroup = ExtGroup.Substring(0, ExtGroup.Length - 2)
ExtDesc &= $" ({ExtGroup})|{ExtGroup.Replace(",", ";")}"
Dim fd As New OpenFileDialog With {
.Title = Desc,
.InitialDirectory = SelectedDir,
.FileName = SelectedFileName,
.Filter = ExtDesc,
.FilterIndex = 1,
.RestoreDirectory = True,
.Multiselect = False
}
If fd.ShowDialog() = DialogResult.OK Then
SourceFile = fd.FileName
Dim ConfirmExt As String = LCase(SourceFile.Substring(SourceFile.Length - 4, 4))
Select Case LCase(type)
Case "tool"
Try
CertInfo =
System.Security.Cryptography.X509Certificates.X509Certificate.CreateFromSignedFile(SourceFile).ToString(True)
Catch ex As Exception
CertInfo = ""
End Try
If Not InStr(LCase(CertInfo), "microsoft corporation", CompareMethod.Text) = 0 Then
textbox.Text = SourceFile
Else
MsgBox("Please select the correct version of SignTool.exe and Try Again.")
textbox.Text = ""
End If
Case Else
If Not InStr(ExtGroup, ConfirmExt, CompareMethod.Text) = 0 Then
textbox.Text = SourceFile
Else
MsgBox($"Please select the correct file type ({ExtGroup}) and Try Again.")
End If
End Select
End If
End Sub
Public Shared Sub PFXPassword(textbox As TextBox, button As Button)
Select Case LCase(MainForm.PFXPassButton.Text)
Case "confirm"
button.Text = "Change"
Tools.ButtonChange(button, True)
textbox.ReadOnly = True
Case "change"
button.Text = "Confirm"
textbox.Text = ""
textbox.ReadOnly = False
End Select
End Sub
Public Shared Sub GoTime()
If NothingEmpty() = False Then Exit Sub
If MainForm.SaveCheck.CheckState = CheckState.Checked Then Settings.SettingsAction("save", MemoryBank.SettingsFile)
MemoryBank.KeyInMemory = ""
Dim TryAgainDearie As String = ""
If Not MainForm.PFXPassButton.Text = "Loaded" Then
TryAgainDearie = MainForm.PFXPassText.Text
Else
Dim TheDagger As String = MemoryBank.AllMagicComesWithAPrice, ep As String
MemoryBank.KeyInMemory = Tools.FindStartsWithInFile(MemoryBank.SettingsFile, "Key=").Replace("Key=", "")
Try
Dim wrapper As New ClarkTribeGames.Coder(TheDagger)
ep = Tools.CTGExtractor(MemoryBank.KeyInMemory)
TryAgainDearie = wrapper.DecryptData(ep)
Catch ex As Exception
Logger.Logger.WriteToLog(0, "GoTime-Decoder",
"Something went wrong with executing during decryption.", ex)
End Try
End If
Dim Args As String = $"sign /tr {Chr(34)}{MainForm.TimestampDrop.Text}{Chr(34)}" &
$" /td sha256 /fd sha256 /f {Chr(34)}{MainForm.PFXFileText.Text}{Chr(34)}" &
$" /p {TryAgainDearie} {Chr(34)}{MainForm.FileText.Text}{Chr(34)}"
Dim pHelp As New ProcessStartInfo With {
.FileName = MainForm.ToolText.Text,
.Arguments = Args,
.UseShellExecute = True,
.WindowStyle = ProcessWindowStyle.Normal
}
Dim proc As Process = Process.Start(pHelp)
End Sub
Public Shared Function NothingEmpty() As Boolean
Dim Message As New System.Text.StringBuilder, Counter As Integer = 0
If MainForm.ToolText.Text = "" Then
Message.AppendLine("Sign Tool Path is Missing!")
Counter += 1
End If
If MainForm.PFXFileText.Text = "" Then
Message.AppendLine("PFX File Path is Missing!")
Counter += 1
End If
If MainForm.PFXPassButton.Text = "Confirm" Then
Message.AppendLine("Please CONFIRM PFX Password!")
Counter += 1
End If
If MainForm.FileText.Text = "" Then
Message.AppendLine("File to Sign Path is Missing!")
Counter += 1
End If
If Counter > 0 Then
MsgBox($"Warning:{vbCrLf}{vbCrLf}{Message}", vbCritical + vbOKOnly)
Return False
Else
Return True
End If
End Function
End Class