Jump to content

Is it possible to hide members for a COM object?


 Share

Recommended Posts

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
Link to comment
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]
Link to comment
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

Link to comment
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
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...