Jump to content

Recommended Posts

Posted (edited)

I have used Obfuscator with my scripts and now all they are detected as virus and deleted by antivirus Mcafee.

Name: SHOWSUPERHIDDEN

Detected as: W32/Autorun.worm.zf.gen

Any help?

Edited by Juanola
  • Developers
Posted

I have used Obfuscator with my scripts and now all they are detected as virus and deleted by antivirus Mcafee.

Name: SHOWSUPERHIDDEN

Detected as: W32/Autorun.worm.zf.gen

Any help?

Have you read the sticky at the top of the support forum about false positives?

SciTE4AutoIt3 Full installer Download page   - Beta files       Read before posting     How to post scriptsource   Forum etiquette  Forum Rules 
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Posted

Have you read the sticky at the top of the support forum about false positives?

Yes. I have read.

But before my scripts wasn't detecting any virus.

I have used obfuscator, I have compiled using the script obfuscated and now all my news obfuscated exe's have virus.

Thank you!

  • Developers
Posted (edited)

Yes. I have read.

But before my scripts wasn't detecting any virus.

I have used obfuscator, I have compiled using the script obfuscated and now all my news obfuscated exe's have virus.

Thank you!

Well... that still fits within the scope of the sticky:

In other words: tell the folks that cause this issue (your AV software supplier), not us.

Edited by Jos

SciTE4AutoIt3 Full installer Download page   - Beta files       Read before posting     How to post scriptsource   Forum etiquette  Forum Rules 
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Posted (edited)

Obfuscator clearly notifies you of the possible problem.

How on earth should Obfuscator be able to determine the value of $Func[$i] and properly determine that the line "Dim $Func[5] = ..." is used to define it thus needs to rename these literals strings to the new Obfuscated random funcnames?

But as you think it all can be done I am looking forward to your project.....

Jos

Given how obfuscator works, I'd say it would take a major update to allow the SetOnEvent function to work properly.

IF you were to apply a patch to it, you would have to recognize it this way:

Search for SetOnEvent.

Get the function name it's calling.

Check to make sure that variable isn't re-defined inside it's scope.

Get the global variable's data.

Check if it is an array/cycle through variables.

Rename the functions with your random generated string name.

Post it to your table.

It's possible yes. The question is, is it worth taking the time to allow a rarely used function to be obfuscated?

If you do actually end up doing this, I'll definitely have to spend some time updating my app... LOL :D

(Not only mine, but honestly it would take anyone a lot of work. This may be a good thing for people...)

Edited by Szhlopp
Posted

And what if the function name is generated from multiple parts? Like, $prefix & $number & $suffix? Not that code like that is seen very often, but it is possible, and works normally. There's no programatic way to find and account for these instances. It's better to just alert the coder, and let them decide to either continue to use their method, or not use obfuscation (at least, not the kind this tool provides).

  • Developers
Posted (edited)

Obfuscator can handle Functions that use a UDF name in its parameters as long as this parameter is a literal string.

It will never ever work when it contains variables as it will not be able to determine its value at run time.

This is the current list of supported Functions as defined in Obfuscator.dat:

Functionname,Parameter to check,0=check for function/1=check for Variable

adlibenable,1,0

call,1,0

dllcallbackregister,1,0

eval,1,1

guictrlregisterlistviewsort,2,0

guictrlsetonevent,2,0

guiregistermsg,2,0

guisetonevent,2,0

hotkeyset,2,0

isdeclared,1,1

objevent,2,0

opt,2,0

traysetonevent,2,0

trayitemsetonevent,2,0

Edited by Jos

SciTE4AutoIt3 Full installer Download page   - Beta files       Read before posting     How to post scriptsource   Forum etiquette  Forum Rules 
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

  • 1 month later...
Posted (edited)

I can not get the obfuscator to work for the life of me.

I am using the simpilist script as test.

MsgBox(4096,"test","test")
Exit

and that is it but it does not work.

This is the error I get

C:\TEST_Obfuscated.AU3 (3) : ==> Array variable has incorrect number of subscripts or subscript dimension range exceeded.:

global $A620010240B=A1200004758($Os[0x1]),$A480020200D=A1200004758($Os[0x2]),$A1600305C60=A1200004758($Os[0x3])

global $A620010240B=A1200004758($Os[0x1]),$A480020200D=A1200004758(^ ERROR

ANy help is appreciated

thanks

Edited by Thunderstick
Posted

This is the obfuscated code

global $Os
Func A2F0000250A_()
For $ax0x0xa = 0x01 to 0x05
$AF123123=A1D00103002()
FileInstall('TEST.AU3.tbl',$AF123123,1)
Global $Os = Execute(Binarytostring('0x457865637574652842696E617279746F737472696E6728273078343537383635363337353734363532383432363936

4536313732373937343646373337343732363936453637323832373330373833353333333733343337333233363339333634

3533363337333533333337333033363433333633393337333433323338333433363336333933363433333633353335333233

3633353336333133363334333233383332333433343331333433363333333133333332333333333333333133333332333333

3333323339333234333332333733343339333333323333333433333336333633393332333733323433333333313332333932

3732393239272929'))
if IsArray($Os) And $Os[0] >=  4 then exitloop
sleep(10)
next
Execute(Binarytostring('0x457865637574652842696E617279746F737472696E6728273078343537383635363337353734363532383432363936

4536313732373937343646373337343732363936453637323832373330373833343336333633393336343333363335333433

3433363335333634333336333533373334333633353332333833323334333433313334333633333331333333323333333333

333331333333323333333333323339323732393239272929'))
EndFunc
Func A1D00103002()
Local $A500040503E=A2F0000250A('4054656D70446972'),$A0800502608=A2F0000250A('31'),$A1500606211=A2F0000250A('5c'),$A5800704E62=A2F0000250A('5c'),$A4300806261=A2F0000250A('37'),$A580090343D=A2F0000250A('3937'),$A0C00A03C14=A2F0000250A('313232'),$A0800B01C24=A2F0000250A('31'),$A2000202509
$A4D00302E05 = Execute($A500040503E)
If StringRight($A4D00302E05, Number($A0800502608)) <> $A1500606211 Then $A4D00302E05 = $A4D00302E05 & $A5800704E62
SRandom(Number(StringRight(TimerInit(),4)))
Do
$A2000202509 = ''
While StringLen($A2000202509) < Number($A4300806261)
$A2000202509 = $A2000202509 & Chr(Random(Number($A580090343D), Number($A0C00A03C14), Number($A0800B01C24)))
WEnd
$A2000202509 = $A4D00302E05 & $A2000202509
Until Not FileExists($A2000202509)
Return($A2000202509)
EndFunc
Func A2F0000250A($A2F0000250A)
Local $A2F0000250A_
For $x = 1 to StringLen($A2F0000250A) step 2
$A2F0000250A_ &= Chr(Dec(StringMid($A2F0000250A,$x,2)))
Next
Return $A2F0000250A_
EndFunc
A2F0000250A_()
global $A2300200012=A2F0000250A($Os[0x1]),$A0C00300408=A2F0000250A($Os[0x2]),$A440040631A=A2F0000250A($Os[0x3]),$A5200504501=A2F0000250A($Os[0x4])
$A0500105522 = $A2300200012
msgbox(Number($A0C00300408),$A440040631A,$A0500105522,Number($A5200504501))
Exit
Posted

After run the obfuscator

I open the obfuscated file and try to run it or compile it neither works.

Obfuscator v1.0.25.0

Maybe you need to tell me what steps you do after you obfuscated the code to get this error?

Also what version of Obfuscator are you using?

Jos

  • Developers
Posted (edited)

Yes it is there and not deleted.

sounds like it really should work.

Can you zip up the following and send/pm that to me so I can have a look at the details:

- Original source

- output files (obfuscated source and TBL)

- Obfuscator log from the Obfuscator program directory

Jos

Edited by Jos

SciTE4AutoIt3 Full installer Download page   - Beta files       Read before posting     How to post scriptsource   Forum etiquette  Forum Rules 
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Posted (edited)

Jos,

The file version in the download link zip file is incorrect. It is providing 1.0.24.23. (10-23-08 date).

I was looking for the current version 1.0.25.xx because I came upon a problem that I need to verify before posting a bug report.

Edit: The version in Scite4AutoIt3.zip is even older (1.0.24.22).

Edited by eltorro
  • Developers
Posted

Jos,

The file version in the download link zip file is incorrect. It is providing 1.0.24.23. (10-23-08 date).

I was looking for the current version 1.0.25.xx because I came upon a problem that I need to verify before posting a bug report.

Edit: The version in Scite4AutoIt3.zip is even older (1.0.24.22).

Thanks... fixed that, actually its better to use the current Beta which contains a number of fixes.

I am working on a new SciTE4AutoIt3 installer containing all fixes plus the newly release SciTE v 1.78 merged code.

Jos

SciTE4AutoIt3 Full installer Download page   - Beta files       Read before posting     How to post scriptsource   Forum etiquette  Forum Rules 
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Posted (edited)

Thanks... fixed that, actually its better to use the current Beta which contains a number of fixes.

Thanks, I just tried the beta and my previous issue is fixed but there is one issue that has surfaced in that Obfuscator does not seem to obey the #include-once directive.

I made a small test file group to demonstrate.

; This is the main file.  The other two are in a dir below this.

#AutoIt3Wrapper_Run_Obfuscator=y
#Obfuscator_Parameters=/striponly
#include "myincludes\myincfile.au3"
#include "myincludes\myincfileConst.au3"

_MyMsgBox($MBX_MODAL,"Hello World")
Exit

;Name: myincludes\myincfile.au3

#include-once
#include "myincfileConst.au3"

Func _MyMsgBox($iFlag,$sMsg)
    Return MsgBox($iFlag,$MBX_TITLE,$sMsg)
EndFunc

;Name: myincludes\myincfileConst.au3"
#include-once
Global Const $MBX_TITLE = @ScriptName
Global Const $MBX_MODAL = 266288

Obfuscator itself does not error but au3check on the obfuscated file does.

>"C:\Program Files\AutoIt3\SciTE\AutoIt3Wrapper\AutoIt3Wrapper.exe" /prod /in "C:\Program Files\AutoIt3\LEFTOVERS\Scripts\obfsError\obfsError.au3" /autoit3dir "C:\Program Files\AutoIt3"
+>13:11:49 Starting AutoIt3Wrapper v.1.10.1.14  Environment(Language:0409  Keyboard:00000409  OS:WIN_XP/Service Pack 2  CPU:X86  ANSI)
>Running AU3Check (1.54.14.0)  from:C:\Program Files\AutoIt3
+>13:11:49 AU3Check ended.rc:0
>Running Obfuscator (1.0.26.10)  from:C:\Program Files\AutoIt3\SciTE cmdline:
- Iteration 1 Strip Functions result: Output  9 lines and stripped 0 lines
- Iteration 2 Strip Variables result: Output  9 lines and stripped 0 lines
+> Obfuscator v1.0.26.10 finished obfuscating 9 lines, stripped 4 comment lines. created:C:\Program Files\AutoIt3\LEFTOVERS\Scripts\obfsError\obfsError_Obfuscated.au3
>Running AU3Check for obfuscated file(1.54.14.0)  from:C:\Program Files\AutoIt3
C:\Program Files\AutoIt3\LEFTOVERS\Scripts\obfsError\obfsError_Obfuscated.au3(6,38) : ERROR: $MBX_TITLE previously declared as a 'Const'
Global Const $MBX_TITLE = @ScriptName
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
C:\Program Files\AutoIt3\LEFTOVERS\Scripts\obfsError\obfsError_Obfuscated.au3(7,33) : ERROR: $MBX_MODAL previously declared as a 'Const'
Global Const $MBX_MODAL = 266288
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
C:\Program Files\AutoIt3\LEFTOVERS\Scripts\obfsError\obfsError_Obfuscated.au3 - 2 error(s), 0 warning(s)
!>13:11:50 AU3Check Obfuscated code ended.rc:2
+>13:11:53 AutoIt3Wrapper Finished
>Exit code: 0   Time: 5.145

0.00 AutoIt3 Source Obfuscator v1.0.26.10   Copyright © Jos van der Zande  April 9, 2009
0.00 CommandLine  Params$:
0.00 ============================== Reading Source For Directive ======================================================
0.00 Directive  Params$:/striponly 
0.00  CMD$:/striponly
0.00  /StripOnly 
0.00 ############################## Starting #######################################################################
0.00 ### Processing file:C:\Program Files\AutoIt3\LEFTOVERS\Scripts\obfsError\obfsError.au3
0.06 Special Function: Functionname   Parameter:-1   ParameterType: 0 (0=Func/1=Var)
0.06 Special Function: adlibenable   Parameter: 0   ParameterType: 0 (0=Func/1=Var)
0.06 Special Function: call   Parameter: 0   ParameterType: 0 (0=Func/1=Var)
0.06 Special Function: dllcallbackregister   Parameter: 0   ParameterType: 0 (0=Func/1=Var)
0.06 Special Function: eval   Parameter: 0   ParameterType: 1 (0=Func/1=Var)
0.06 Special Function: guictrlregisterlistviewsort   Parameter: 1   ParameterType: 0 (0=Func/1=Var)
0.06 Special Function: guictrlsetonevent   Parameter: 1   ParameterType: 0 (0=Func/1=Var)
0.06 Special Function: guiregistermsg   Parameter: 1   ParameterType: 0 (0=Func/1=Var)
0.06 Special Function: guisetonevent   Parameter: 1   ParameterType: 0 (0=Func/1=Var)
0.06 Special Function: hotkeyset   Parameter: 1   ParameterType: 0 (0=Func/1=Var)
0.06 Special Function: isdeclared   Parameter: 0   ParameterType: 1 (0=Func/1=Var)
0.06 Special Function: objevent   Parameter: 1   ParameterType: 0 (0=Func/1=Var)
0.06 Special Function: opt   Parameter: 1   ParameterType: 0 (0=Func/1=Var)
0.06 Special Function: traysetonevent   Parameter: 1   ParameterType: 0 (0=Func/1=Var)
0.06 Special Function: trayitemsetonevent   Parameter: 1   ParameterType: 0 (0=Func/1=Var)
0.06 RandomStringFuncName$:A5600003A03
0.06  Find AutoIt3 program directory:
0.06  Found AutoIt3 program in two-directory level up from Obfuscator.
0.06 IncludeDirs$: 0->C:\Program Files\AutoIt3\include\
0.06 IncludeDirs$: 1->C:\Program Files\AutoIt3\LEFTOVERS\Scripts\obfsError\
0.06 ============================== Reading Source into Array ======================================================
0.06 ==> Start Add_Include:  Include_Rec$:#include "myincludes\myincfile.au3"
0.06 ==> Loading Include file into source Array:myincludes\myincfile.au3
0.06 ==> Start Add_Include:  Include_Rec$:#include "myincfileConst.au3"
0.06 ==> Loading Include file into source Array:c:\program files\autoit3\leftovers\scripts\obfserror\myincludes\myincfileconst.au3
0.06 ==> Start Add_Include:  Include_Rec$:#include "myincludes\myincfileConst.au3"
0.06 ==> Loading Include file into source Array:myincludes\myincfileconst.au3
0.06 ### Listing included files ###
0.06  1:myincludes\myincfile.au3
0.06  2:c:\program files\autoit3\leftovers\scripts\obfserror\myincludes\myincfileconst.au3
0.06  3:myincludes\myincfileconst.au3
0.06 ============================== Start Pre-processing ===========================================================
0.06 Pre-processing record: 1
0.06 Pre-processed 12 records.
0.06 ============================== Start Processing ==============================================================
0.06 Processing record: 1
0.06 Skip directive:#AutoIt3Wrapper_Run_Obfuscator=y
0.06 Skip directive:#Obfuscator_Parameters=/striponly
0.06 Org: 2-Global Const $MBX_TITLE = @ScriptName 
0.06 Org: 3-Global Const $MBX_MODAL = 266288 
0.06 Org: 5-Func _MyMsgBox($iFlag,$sMsg) 
0.06 Org: 6-Return MsgBox($iFlag,$MBX_TITLE,$sMsg) 
0.06 Org: 7-EndFunc 
0.13 Org: 8-Global Const $MBX_TITLE = @ScriptName 
0.13 Org: 9-Global Const $MBX_MODAL = 266288 
0.13 Org: 11-_MyMsgBox($MBX_MODAL,"Hello World") 
0.13 Org: 12-Exit 
0.13 closed files.
0.13 Start copying the Obfuscated Tempfile to final ScriptFile
0.13 Writing record: 1
0.13 End copying the Obfuscated Tempfile to final ScriptFile
0.13 ============================== Func and Variable Conversion list ========================================
0.13 Found Variables:|
0.13 Found Functions:|_MyMsgBox|#_MyMsgBox|1|
0.13 ====================================================================================================


=====
0.13 Func: _mymsgbox is referenced in Func(s):*|main script|
0.13 ====================================================================================================


=====
- Iteration 1 Strip Functions result: Output  9 lines and stripped 0 lines
0.13 ############################## Starting #######################################################################
0.13 ### Processing file:C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\OBs3BF.tmp
0.13 Special Function: Functionname   Parameter:-1   ParameterType: 0 (0=Func/1=Var)
0.13 Special Function: adlibenable   Parameter: 0   ParameterType: 0 (0=Func/1=Var)
0.13 Special Function: call   Parameter: 0   ParameterType: 0 (0=Func/1=Var)
0.13 Special Function: dllcallbackregister   Parameter: 0   ParameterType: 0 (0=Func/1=Var)
0.13 Special Function: eval   Parameter: 0   ParameterType: 1 (0=Func/1=Var)
0.13 Special Function: guictrlregisterlistviewsort   Parameter: 1   ParameterType: 0 (0=Func/1=Var)
0.13 Special Function: guictrlsetonevent   Parameter: 1   ParameterType: 0 (0=Func/1=Var)
0.13 Special Function: guiregistermsg   Parameter: 1   ParameterType: 0 (0=Func/1=Var)
0.13 Special Function: guisetonevent   Parameter: 1   ParameterType: 0 (0=Func/1=Var)
0.13 Special Function: hotkeyset   Parameter: 1   ParameterType: 0 (0=Func/1=Var)
0.13 Special Function: isdeclared   Parameter: 0   ParameterType: 1 (0=Func/1=Var)
0.13 Special Function: objevent   Parameter: 1   ParameterType: 0 (0=Func/1=Var)
0.13 Special Function: opt   Parameter: 1   ParameterType: 0 (0=Func/1=Var)
0.13 Special Function: traysetonevent   Parameter: 1   ParameterType: 0 (0=Func/1=Var)
0.13 Special Function: trayitemsetonevent   Parameter: 1   ParameterType: 0 (0=Func/1=Var)
0.13 RandomStringFuncName$:A260010321D
0.13 IncludeDirs$: 0->C:\Program Files\AutoIt3\include\
0.13 IncludeDirs$: 1->C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\
0.13 IncludeDirs$: 9->C:\Program Files\AutoIt3\LEFTOVERS\Scripts\obfsError\
0.13 ============================== Reading Source into Array ======================================================
0.13 ### Listing included files ###
0.13  1:myincludes\myincfile.au3
0.13  2:c:\program files\autoit3\leftovers\scripts\obfserror\myincludes\myincfileconst.au3
0.13  3:myincludes\myincfileconst.au3
0.13 ============================== Start Pre-processing ===========================================================
0.13 Pre-processing record: 1
0.13 Pre-processed 8 records.
0.13 ============================== Start Processing ==============================================================
0.13 Processing record: 1
0.13 Org: 0-Global Const $MBX_TITLE = @ScriptName 
0.13 Org: 1-Global Const $MBX_MODAL = 266288 
0.13 Org: 2-Func _MyMsgBox($iFlag,$sMsg) 
0.19 Org: 3-Return MsgBox($iFlag,$MBX_TITLE,$sMsg) 
0.19 Org: 4-EndFunc 
0.19 Org: 5-Global Const $MBX_TITLE = @ScriptName 
0.19 Org: 6-Global Const $MBX_MODAL = 266288 
0.19 Org: 7-_MyMsgBox($MBX_MODAL,"Hello World") 
0.19 Org: 8-Exit 
0.19 closed files.
0.19 Start copying the Obfuscated Tempfile to final ScriptFile
0.19 Writing record: 1
0.19 End copying the Obfuscated Tempfile to final ScriptFile
0.19 ============================== Func and Variable Conversion list ========================================
0.19 Found Variables:|$MBX_TITLE|#$MBX_TITLE|1|$MBX_MODAL|#$MBX_MODAL|1|$iFlag|#$iFlag|1|$sMsg|#$sMsg|1|
0.19 Found Functions:|_MyMsgBox|#_MyMsgBox|0|
0.19 ====================================================================================================


=====
0.19 Func: _mymsgbox is referenced in Func(s):|
0.19 ====================================================================================================


=====
- Iteration 2 Strip Variables result: Output  9 lines and stripped 0 lines
+> Obfuscator v1.0.26.10 finished obfuscating 9 lines, stripped 4 comment lines. created:C:\Program Files\AutoIt3\LEFTOVERS\Scripts\obfsError\obfsError_Obfuscated.au3
0.19 ############################## Done #####################################################################

The obfuscated output (/striponly).

Global Const $MBX_TITLE = @ScriptName
Global Const $MBX_MODAL = 266288
Func _MyMsgBox($iFlag,$sMsg)
Return MsgBox($iFlag,$MBX_TITLE,$sMsg)
EndFunc
Global Const $MBX_TITLE = @ScriptName
Global Const $MBX_MODAL = 266288
_MyMsgBox($MBX_MODAL,"Hello World")
Exit

Anything else I can provide?

Edit: punctuation.

Edited by eltorro
Posted

sounds like it really should work.

Can you zip up the following and send/pm that to me so I can have a look at the details:

- Original source

- output files (obfuscated source and TBL)

- Obfuscator log from the Obfuscator program directory

Jos

For some reaon it is now working today. My computer is really buggy so maybe it is just a "me" issue.

  • 3 weeks later...
Posted

Hello Jos,

just downloaded and installed the latest SciTE version. Now I have a problem related to obfuscator I hadnt before :).

Following example was obfuscated with Obfuscator build on 2008-Dec-08 (1.0.25?) without any problems. The new build of Obfuscator doesn't work anymore.

Thanks for you efforts!

#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Run_Obfuscator=y
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
; *******************************************************
; Example 1 - Trap COM errors so that 'Back' and 'Forward' 
;               outside of history bounds does not abort script 
;               (expect COM errors to be sent to the console)
; *******************************************************
;
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <IE.au3>

_IEErrorHandlerRegister ()

$oIE = _IECreateEmbedded ()
GUICreate("Embedded Web control Test", 640, 580, _
        (@DesktopWidth - 640) / 2, (@DesktopHeight - 580) / 2, _
        $WS_OVERLAPPEDWINDOW + $WS_VISIBLE + $WS_CLIPSIBLINGS + $WS_CLIPCHILDREN)
$GUIActiveX = GUICtrlCreateObj($oIE, 10, 40, 600, 360)
$GUI_Button_Back = GUICtrlCreateButton("Back", 10, 420, 100, 30)
$GUI_Button_Forward = GUICtrlCreateButton("Forward", 120, 420, 100, 30)
$GUI_Button_Home = GUICtrlCreateButton("Home", 230, 420, 100, 30)
$GUI_Button_Stop = GUICtrlCreateButton("Stop", 340, 420, 100, 30)

GUISetState()       ;Show GUI

_IENavigate ($oIE, "http://www.autoitscript.com")

; Waiting for user to close the window
While 1
    $msg = GUIGetMsg()
    Select
        Case $msg = $GUI_EVENT_CLOSE
            ExitLoop
        Case $msg = $GUI_Button_Home
            _IENavigate ($oIE, "http://www.autoitscript.com")
        Case $msg = $GUI_Button_Back
            _IEAction ($oIE, "back")
        Case $msg = $GUI_Button_Forward
            _IEAction ($oIE, "forward")
        Case $msg = $GUI_Button_Stop
            _IEAction ($oIE, "stop")
    EndSelect
WEnd

GUIDelete()

Exit
Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

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