Private Function Obfus(str As String, Optional dec As Boolean = False) As String Dim charRand As New Random() Dim sb As New StringBuilder("Convert.ToString(") ' * / ^ Mod << >> 'Dim a As String = "" 'MsgBox(a) For Each c As Char In str ' Randomize & calcul du c dans le str Dim begin As Decimal = charRand.[Next](AscW(c) + 1, Integer.MaxValue) Dim subs As Decimal = (begin) - (AscW(c)) 'Randomize de la virgule Dim vir As Integer = charRand.[Next](AscW(c) + 1, Integer.MaxValue) 'Randomize du code junk & des valeurs absolues Dim junk As Integer = charRand.[Next](AscW(c) + 1, Integer.MaxValue) Dim vrr As Integer = (vir) - (AscW(c)) Dim sign As String() = {" * ", " / ", " ^ ", " Mod ", " << ", " >> "} Dim rsign As Integer = charRand.Next(0, 6) ' Randomize des fonctions de conversions Dim fconv As String() = {Nothing, "CInt("} Dim rfconv As Integer = charRand.Next(0, 2) Dim par As String = Nothing 'MsgBox(UBound(Split(sb.ToString(), "CInt(", -1, vbTextCompare))) If rfconv = 1 Then par = ")" End If ' Randomize du code junk Dim full_junk As String() = { "((" & vrr & " - Math.Abs(-" & vrr & "))" & sign(rsign) & junk & ")" & " - ", "((Math.Abs(-" & vrr & ") - " & vrr & ")" & sign(rsign) & junk & ")" & " - ", "(" & junk & sign(rsign) & "(Match.Abs(-" & vrr & ") - " & vrr & ")) - " } Dim rfull As Integer = charRand.Next(0, 3) ' ((1568023507 - Math.Abs(-1568023507)) / 419881670) - || (419881670 / (Math.Abs(-1568023507) - 1568023507)) - ' ((Math.Abs(-" & vrr & " || ' & "((" & vrr & " - Math.Abs(-" & vrr & "))" & sign(rsign) & junk & ")" & " - " & ' { Bêta } Calcul des parenthèses pour eviter les exceptions ' UBound(Split(sb.ToString(), "(", -1, vbTextCompare)) 'MsgBox(vresult) sb.Append("ChrW(" & fconv(rfconv) & "(" & (begin & "." & vir) & " - " & full_junk(0) & (subs & "." & vir) & ")" & par & ") & ") 'Else ' sb.Append("ChrW(" & begin & "-" & subs & ") & ") 'End If Next sb.Remove(sb.Length - 1, 1).Remove(sb.Length - 1, 1).Remove(sb.Length - 1, 1) sb.Append(")") Return sb.ToString() End Function