Newsgroup: it.comp.lang.visual-basic
Titolo: Consigli folli

Vi autorizzo a darmi del pazzo se volete, ma volevo chiedere...non č che 
avete qualche idea carina (folle) su come scrivere obfuscated code in vb6? 
Avendo tempo da perdere stavo scrivendo una simpatica applicazioncina che 
vi riporto qui sotto, perň non mi soddisfa molto, volevo mettere qualche 
cosa piů "carina" :P ...lascio a voi il compito di scoprire cosa fa  :D 
Private Sub Form_Load()
    x = Array(&HFF00, &H0, &HFF00, &H0, &HFF00, &H0, &HFF00, &H0, &HFF00, 
&HFF00)
    y = Array(&H3, &H7, &H0, &H3, &H4F, &H53, &H8, &H3, &H6, &H8)
    z = Array(&H68, &H167, &H73, &H16B, &H72, &H16E, &HCA, &H176, &H75, 
&H171, &H16B)
    ReDim a(UBound(z))
    For i = LBound(z) To UBound(z)
        If i <> LBound(z) Then
            a(i) = S(CLng(x(i - 1)), 24, 1)
            a(i) = z(i) - a(i)
            d = S(a(i) * (2 ^ 15), 8, 1) And &H80
            d = Not (S(CLng(d), 7, 1) Xor &H1)
            d = Mid(Hex(d), 7, 2)
            d = (Val("&H" & d) - Val("&HFE"))
            a(i) = a(i) + d \ 2
            If (x(i - 1) Xor &H1 = (S(1, 7, 0) + S(1, 6, 0) + S(1, 5, 0) + 
S(1, 4, 0) + S(1, 3, 0) + S(1, 2, 0) + S(1, 1, 0))) Then
                a(i) = (a(i) + (Not (y(i - 1)) - 1)) Mod 256
            Else
                a(i) = (a(i) - y(i - 1)) Mod 256
           End If
        Else
            a(i) = z(i)
        End If
    Next
    For i = LBound(a) To UBound(a)
        Text1 = Text1 & Chr(a(i))
    Next
End Sub
Public Function S(lN As Long, iB As Integer, lS As Long) As Long
    Dim lNI As Long, lMS As Long
    If lS = 0 Then
        If lN = 0 Then Exit Function
        If (iB > 31) Or (iB < 0) Then iB = 32
        If iB > 0 Then
            lNI = lN And ((2 ^ (31 - iB)) - 1)
            If lNumero And (2 ^ (31 - iB)) Then lMS = &H80000000
            S = (lNI * (2 ^ iB)) Or lMS
        Else
            S = lN
        End If
    Else
        If (iB > 0) And (iB <= 31) Then
            lNI = lN And Not (2 ^ iB - 1)
            lNI = lNI / (2 ^ iB)
            S = lNI And (2 ^ (32 - iB) - 1)
        Else
            If iBits = 0 Then S = lN
        End If
    End If
End Function
-- 
Due stringhe entrano in un bar. La prima dice al barista: "Barista, dammi 
una birra.u.5n$x5t?*&4ru!2[sACC~ErJ". E la seconda: "Perdoni il mio amico, 
non ha il terminatore NULL"

Lord Dragon wrote:
Non è già abbastanza opaco? :)
--
Greg

 
E che non mi ispira abbastanza... :-)


 E che non mi ispira abbastanza... :-)
Non ce la farai mai ad offuscarlo piu' di tanto,
te lo  dice uno che  ha "disoffuscato" parecchio
codice ;-)
-- 
ciao, hal

 wrote in 
news:AQVne.6503$
is5....@tornado.fastwebnet.it
:

Oh, che tristezza... :-(


 cosa piů "carina" :P ...lascio a voi il compito di scoprire cosa fa  :D 
[cut]
cosa ne pensi di questo?
Private Sub Form_Load()
x = Array(&HFF00, &H0, &HFF00, &H0, &HFF00, &H0, &HFF00, &H0, &HFF00, &HFF00): y = Array _
(&H3, &H7, &H0, &H3, &H4F, &H53, &H8, &H3, &H6, &H8): z = Array(&H68, &H167, &H73, &H16B, _
&H72, &H16E, &HCA, &H176, &H75, &H171, &H16B): ReDim a(UBound(z)): ' Array(&H68, &H167, &H73,
For i = LBound(z) To UBound(z) 'HFF00, &H0, &HFF00, &H0, &HFF00, &H0, &HFF00, &HFF00): y =
If i <> LBound(z) Then a(i) = S(CLng(x(i - 1)), 24, 1): a(i) = z(i) - a(i): d = S(a(i) _
* (2 ^ 15), 8, 1) And &H80: d = Not (S(CLng(d), 7, 1) Xor &H1): d = Mid(Hex(d), 7, 2): d = (Val("&H" & d) _
- Val("&HFE")): a(i) = a(i) + d \ 2: If (x(i - 1) Xor &H1 = (S(1, 7, 0) + S(1, 6, 0) + S(1, 5, 0) + S(1, _
4, 0) + S(1, 3, 0) + S(1, 2, 0) + S(1, 1, 0))) Then a(i) = (a(i) + (Not (y(i - 1)) - 1)) Mod 256 Else a(i) _
= (a(i) - y(i - 1)) Mod 256 Else a(i) = z(i) 'HFF00, &H0, &HFF00, &H0, &HFF00, &H0,
Next: For i = LBound(a) To UBound(a): Text1 = Text1 & Chr(a(i)): Next
End Sub
Public Function S(lN As Long, iB As Integer, lS As Long) As Long
Dim lNI As Long, lMS As Long 'HFF00, &H0, &HFF00, &H0, &HFF00, &H0, &HFF00,
If lS = 0 Then 'HFF00, &H0, &HFF00, &H0, &HFF00, &H0, &HFF00, &HFF00): y =
If lN = 0 Then Exit Function 'HFF00, &H0, &HFF00, &H0, &HFF00, &H0, &HFF00,
If (iB > 31) Or (iB < 0) Then iB = 32 'HFF00, &H0, &HFF00, &H0, &HFF00, &H0,
If iB > 0 Then lNI = lN And ((2 ^ (31 - iB)) - 1): If lNumero And (2 ^ _
(31 - iB)) Then lMS = &H80000000: S = (lNI * (2 ^ iB)) Or lMS Else S = lN
Else: If (iB > 0) And (iB <= 31) Then lNI = lN And Not (2 ^ iB - 1): _
lNI = lNI / (2 ^ iB): S = lNI And (2 ^ (32 - iB) - 1) Else If iBits = 0 Then S = lN
End If 'HFF00, &H0, &HFF00, &H0, &HFF00, &H0, &HFF00, &HFF00): y =
End Function
funziona ancora!
bye
r


[cut]
http://snipurl.com/fcds
-- 
----------------------------
Mauro Gamberini

 funziona ancora!
... se non si mette Option Explicit.
Di che era geologica é?
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 Di che era geologica é?
la frase "funziona ancora" non e' riferito al fatto che
e' un vecchio codice che sta ancora funzionando ma al fatto
che il codice del post originale ulteriormente offuscato
continua a funzionare
bye
r

 code in vb6?
http://groups.google.it/group/it.comp.lang.visual-basic/browse_thread/thread/6736eb8aaa9257a3/fac0061064ee8255?q=obfuscated+group:it.comp.lang.visual-basic&rnum=13&hl=it#fac0061064ee8255
Bye, G.

 [CUT]
Molto bella come evoluzione, grazie! :-)
LD


 
E io che credevo di essere l'unico pazzo al mondo!!! Yuppi, non sono piů 
solo!! :-)))
