Sign in to follow this  
Followers 0
4Eyes

Is it possible to hide members for a COM object?

4 posts in this topic

#1 ·  Posted (edited)

Folks,

This:

Local $objEmail = ObjCreate("CDO.Message")

    $objEmail.From = '"' & "?" & '" <' & "?" & '>'                          ; These methods ('From' 'to' 'subject' etc stick out like dogs balls in the obf code, but dunno what else I can do
    $objEmail.To = "?@?"

    $objEmail.Subject = $s_Subject
    $objEmail.Textbody = "?" & @CRLF

    $objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
    $objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "?"
    $objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25

    ; Authenticated SMTP
    $objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
    $objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "?"
    $objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "?"  ; This introduces another p/w but would only yield a hacker access to this email account.

    ;Update settings
    $objEmail.Configuration.Fields.Update

    ; Send the Message
    $objEmail.Send

when obfuscated becomes this:

Local $A3B30D64635 = ObjCreate($A2A30E65005)
$A3B30D64635.From = $A2630F60148 & $A024006214A & $A0E40162A1A & $A1440261939 & $A3A40361105
$A3B30D64635.To = $A2140466024
$A3B30D64635.Subject = $A12B8333B03
$A3B30D64635.Textbody = $A154056232F & Execute($A3840666128)
$A3B30D64635.Configuration.Fields.Item($A4440761F2F) = Number($A454086473F)
$A3B30D64635.Configuration.Fields.Item($A494096054C) = $A2440A6034E
$A3B30D64635.Configuration.Fields.Item($A4C40B61D3B) = Number($A5340C6161D)
$A3B30D64635.Configuration.Fields.Item($A4840D61E45) = Number($A2E40E63A56)
$A3B30D64635.Configuration.Fields.Item($A4740F64B11) = $A1C50062C2B
$A3B30D64635.Configuration.Fields.Item($A6150164A3C) = $A5F50262A12
$A3B30D64635.Configuration.Fields.Update
$A3B30D64635.Send

Is there some way to hide the com object members like From, To etc?

4Eyes

Edited by 4Eyes

Share this post


Link to post
Share on other sites



Hi 4Eyes,

I don't think so, because an obfuscated autoit script is - after all - still an autoit script.

So if you want to access methods or attrubutes of objects you need to name them correctly.

You might have a chance using Execute() ...


Regards,Hannes[spoiler]If you can't convince them, confuse them![/spoiler]

Share this post


Link to post
Share on other sites

The best thing you can do is encrypt or hash the information you want to hide. something like .To = Decrypt("dasdasdasfal;sdas;ld")

Share this post


Link to post
Share on other sites

Hannes123,

Guten Tag and g'day!

I'm sure there is no way around it, but there are clever (and sometimes devious) people here. I was hoping for something.

Juvigy,

I think you may have misunderstood what I was getting at, but thanks for the reply. Yes, I can encrypt or otherwise 'hide' the data, but I'm trying to obfuscate the methods associated with an object. For example, instead of:

$myObj.To = "me@home.com"

I'd like to have:

$myObj.Execute("something or other that the obfuscator won't choke on but is difficult to read")

or similar.

4Eyes

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0