Jump to content

AutoClean


NerdFencer
 Share

Recommended Posts

All fair points and taken on-board.

I left my system checking with your program last night and just have a few things to report:

1- It got stuck in a 'ChkDsk' & 'PageDefrag' loop and kept re-starting even though it had completed the scans. May be my system but not checked this out yet.

2- It appears to have de-activated Antivir on re-start.

3- Reset some of the 'Spyware Doctor' settings including turning off IntelliGuard

Have you considered an option 'tab' to list all the 'startup' items so that the user can disable specific or all startup items. It might also be an option to do this for non-default services also I do appreciate this could cause problems but as an 'All Else Failed' option it could help a lot of people?

Other than that, I see now that you already had the things I suggested already included.

Gingerbloke

Link to comment
Share on other sites

  • Replies 172
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

1- It got stuck in a 'ChkDsk' & 'PageDefrag' loop and kept re-starting even though it had completed the scans. May be my system but not checked this out yet.

This is strange... ill have to replicate this on another machine. This is the first I have seen of this bug. It may be caused by not checking for a previous instance of the boot-execute entry, a bug that I plan to eliminate next version.

2- It appears to have de-activated Antivir on re-start.

3- Reset some of the 'Spyware Doctor' settings including turning off IntelliGuard

This will be a result of disabling autoruns. If you send me the name of the Autorun entries and their corresponding, I can remove them from the list. I suggest using AutoRuns to gather that information.

Have you considered an option 'tab' to list all the 'startup' items so that the user can disable specific or all startup items. It might also be an option to do this for non-default services also I do appreciate this could cause problems but as an 'All Else Failed' option it could help a lot of people?

A custom include/exclude list for the startup and services entries is a good idea. I'll be sure to implement it soon.

Thanks for the feedback,

-Matt

_________[u]UDFs[/u]_________-Mouse UDF-Math UDF-Misc Constants-Uninstaller Shell

Link to comment
Share on other sites

Matt,

Would it make sense to split out the names and locations of the downloaded utility programs into the .ini file? AutoClean could read them from the .ini and download them if so requested. I'd also like to see a separate program that would allow us to just download the utility programs and perhaps build a .zip file containing all of them.

I suggest this because I'd like to use AutoClean as a utility run from a USB drive. I might be using it to clean up a PC that's either offline or the infestation has blocked downloads from some or all of the needed sites, or internet access totally. I'd like to be able to download the latest utilities periodically and update them on my USB drive so that I could just copy them to the PC I'm cleaning up.

It would also be nice to have a static link that always pointed to the latest version. (You may have this - I haven't checked!) The utility could download the latest version of AutoClean, as well as the latest versions of the utilities and get everything ready to copy to the USB drive.

Thanks,

Avian

A millihelen is the amount of beauty required to launch one ship.

Link to comment
Share on other sites

Using it from a USB drive on a computer without internet is already possible.

Instructions:

1. On a computer with internet access, open AutoClean

2. Click the "Update Files" button and wait

3. Close AutoClean and Remove the USB Drive

4. Insert into computer without internet and open AutoClean

5. Uncheck the "Force File Update" Checkbox in the "Options" tab

6. Run autoclean with any desired features

AutoClean includes dynamic links to the latest versions for all of the programs that it downloads.

You can use AutoClean an indefinite number of times without updating the files, but I recommend updating at least once a week.

Regards,

-Matt

Edited by NerdFencer

_________[u]UDFs[/u]_________-Mouse UDF-Math UDF-Misc Constants-Uninstaller Shell

Link to comment
Share on other sites

Updated to v1.8

You can use the new custom services setting by...

-Creating a [services] section in the settings.ini file

-Adding any services options in the following format...

ServiceName=state

where ServiceName is the system name for the service (not the display name)

and state is...

auto=Automatic

demand=Manual

disabled=Disabled

Case sensitive

Enjoy!

-Matt

_________[u]UDFs[/u]_________-Mouse UDF-Math UDF-Misc Constants-Uninstaller Shell

Link to comment
Share on other sites

Here is the Malwarebytes script I mentioned. It is VERY basic but it works here. We ran into two pieces of malware last week that Vipre didn't even see so that worried me. I thought it might be a good idea to add some additional tools. Just a thought.

Also, here is a reg file that fixes some issues with not being able to access the control panel and other locations. Could this be integrated?

Thanks again for a good tool.

--------

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\CLSID\{8FC0B734-A0E1-11D1-A7D3-0000F87571E3}]

@="Group Policy"

[HKEY_CLASSES_ROOT\CLSID\{8FC0B734-A0E1-11D1-A7D3-0000F87571E3}\InProcServer32]

@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\

00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,47,00,50,00,\

45,00,64,00,69,00,74,00,2e,00,64,00,6c,00,6c,00,00,00

"ThreadingModel"="Apartment"

--------

;MalwareBytes Portable

;Registers necessary DLL files

Run ( "regsvr32.exe .\vbalsgrid6.ocx /s" )

Run ( "regsvr32.exe .\ssubtmr6.dll /s" )

Run ( "regsvr32.exe .\mbamext.dll /s" )

;Copies necessary files to necessary locations

FileCopy( ".\mbam.sys", "C:\WINDOWS\system32\drivers\" )

If FileExists("C:\Windows\SysWOW64\drivers\") Then

FileCopy( "mbamswissarmy.sys", "C:\Windows\SysWOW64\drivers\" )

Else

FileCopy( "mbamswissarmy.sys", "C:\WINDOWS\system32\drivers\" )

EndIf

;Runs Malwarebytes - does a quick scan

Run ( ".\mbam.exe /quickscanterminate" )

WinWait("Malwarebytes' Anti-Malware", "scan completed successfully")

If Not WinActive("Malwarebytes' Anti-Malware", "scan completed successfully") Then WinActivate("Malwarebytes' Anti-Malware", "scan completed successfully")

WinWaitActive("Malwarebytes' Anti-Malware", "scan completed successfully")

Send ("{ENTER}")

;See the results of the scan

WinWait("Malwarebytes' Anti-Malware", "Show Results")

If Not WinActive("Malwarebytes' Anti-Malware", "Show Results") Then WinActivate("Malwarebytes' Anti-Malware", "Show Results")

WinWaitActive("Malwarebytes' Anti-Malware", "Show Results")

Send ("{ENTER}")

WinWait("Malwarebytes' Anti-Malware", "Remove Selected")

If Not WinActive("Malwarebytes' Anti-Malware", "Remove Selected") Then WinActivate("Malwarebytes' Anti-Malware", "Remove Selected")

WinWaitActive("Malwarebytes' Anti-Malware", "Remove Selected")

Send ("{TAB}")

Send ("{TAB}")

Send ("{TAB}")

Send ("{TAB}")

Send ("{ENTER}")

;Clean Successful, restart computer

WinWait("Malwarebytes' Anti-Malware", "selected items removed")

If Not WinActive("Malwarebytes' Anti-Malware", "selected items removed") Then WinActivate("Malwarebytes' Anti-Malware", "selected items removed")

WinWaitActive("Malwarebytes' Anti-Malware", "selected items removed")

Send ("{RIGHT}")

Send ("{ENTER}")

;Exit malwareBytes

WinWait("Malwarebytes' Anti-Malware", "Perform quick scan")

If Not WinActive("Malwarebytes' Anti-Malware", "Perform quick scan") Then WinActivate("Malwarebytes' Anti-Malware", "Perform quick scan")

WinWaitActive("Malwarebytes' Anti-Malware", "Perform quick scan")

Send ("{TAB}")

Send ("{ENTER}")

;~ ;Cleans up

If FileExists( "C:\WINDOWS\system32\drivers\mbam.sys" ) Then

FileDelete( "C:\WINDOWS\system32\drivers\mbam.sys" )

EndIf

If FileExists( "C:\Windows\SysWOW64\drivers\mbamswissarmy.sys" ) Then

FileDelete( "C:\Windows\SysWOW64\drivers\mbamswissarmy.sys" )

EndIf

If FileExists( "C:\WINDOWS\system32\drivers\mbamswissarmy.sys" ) Then

FileDelete( "C:\WINDOWS\system32\drivers\mbamswissarmy.sys" )

EndIf

Link to comment
Share on other sites

Here is the Malwarebytes script I mentioned. It is VERY basic but it works here. We ran into two pieces of malware last week that Vipre didn't even see so that worried me. I thought it might be a good idea to add some additional tools. Just a thought.

Also, here is a reg file that fixes some issues with not being able to access the control panel and other locations. Could this be integrated?

Thanks again for a good tool.

Thanks for the idea for the control panel access idea. I'll be fleshing out that concept soon. There are more things that can be done to fix it than what is there, ill integrate more of that stuff into a WinFixes Option.

For MalwareBytes, I am working on a non-gui automation of it that should be in either next version, or the one after.

I have completed a non-gui automated scan feature that will be in the next version.

Thanks,

-Matt

Edit: completion status

Edited by NerdFencer

_________[u]UDFs[/u]_________-Mouse UDF-Math UDF-Misc Constants-Uninstaller Shell

Link to comment
Share on other sites

I really like your scipt.... but it did cause lots of problems with my domain connectivity and firewall settings.... at least that is what I have found so far.

After running Autoclean, I could not RDC to that PC and I still can not connect to a shared folder or c drive root.

I am also experiencing lots of errors in the Application portion of Event Viewer associated with network login as a result of autoclean.

Link to comment
Share on other sites

I really like your scipt.... but it did cause lots of problems with my domain connectivity and firewall settings.... at least that is what I have found so far.

After running Autoclean, I could not RDC to that PC and I still can not connect to a shared folder or c drive root.

I am also experiencing lots of errors in the Application portion of Event Viewer associated with network login as a result of autoclean.

The documentation specifically says not to use it on computers connected to a domain. It is known to be able to cause issues with them. (specifically the performance options)

I believe that that it is the Services Option, but have not had a chance to determine if any other opfions affect domain users.

I'm glad that your domain issue was resolved,

-Matt

Edited by NerdFencer

_________[u]UDFs[/u]_________-Mouse UDF-Math UDF-Misc Constants-Uninstaller Shell

Link to comment
Share on other sites

G'day NerdFencer

Just ran into something that maybe a good addition to your program for those of us that don't live in the US.

Setting the correct region. WHY? I hear you ask... ;)

WinXP defaults to English (US) and I'm continually setting it to "Eglish (Australia)" an machines I haven't seen before and ocastionally on machines that I have set the correct region but the computer has reset to US.

So setting the correct (user setable) region would be a help.

Thanks

John Morrison

Link to comment
Share on other sites

Interesting Idea John... I'm thinking a time zone setting with that as well

You will be happy to note that I have added ERUNT and NTREGOPT to the arsenal in v1.9

At Long last, I have released v1.9

Among other things, it includes the first of several upgrades that I will implement toward the goal of mass-usability (to make it better for repair-store use)

A couple of things that I plan on adding toward this end...

* Optional Customer based logging (Not just date and time)

* Restore Point name Customization

* Optional Customer based Registry backup (backup to the external drive on a customer basis, not to their computer)

* Cleaner temp file storage arrangement

Edit: clarity

Edited by NerdFencer

_________[u]UDFs[/u]_________-Mouse UDF-Math UDF-Misc Constants-Uninstaller Shell

Link to comment
Share on other sites

Interesting Idea John... I'm thinking a time zone setting with that as well

You will be happy to note that I have added ERUNT and NTREGOPT to the arsenal in v1.9

;) Thanks

At Long last, I have released v1.9

Among other things, it includes the first of several upgrades that I will implement toward the goal of mass-usability (to make it better for repair-store use)

Sounds GREAT!!!

A couple of things that I plan on adding toward this end...

* Optional Customer based logging (Not just date and time)

* Restore Point name Customization

* Optional Customer based Registry backup (backup to the external drive on a customer basis, not to their computer)

* Cleaner temp file storage arrangement

Any details on the "Optional Customer based logging"?

Are you going to store their name/computer ID/etc in the log?

I'm thinking if work is done on-site, I could add another script that emails/transfers the file back to the office for records or further investigation.

As usuall lookign good :evil:

John

Link to comment
Share on other sites

Anyone else run into problems with v1.9 ... specifically Malwarebytes downloading properly? I was able to make it work by changing the download site to one of my own.

Any advantages to setting up the logging in XML format ... to possible push the data to a webpage?

Link to comment
Share on other sites

Anyone else run into problems with v1.9 ... specifically Malwarebytes downloading properly? I was able to make it work by changing the download site to one of my own.

Any advantages to setting up the logging in XML format ... to possible push the data to a webpage?

Yes, I just checked the download link for malwarebytes, and it is now broken. What link are you using that works?

So far as the log goes, I don't plan on doing anything fancy.

_________[u]UDFs[/u]_________-Mouse UDF-Math UDF-Misc Constants-Uninstaller Shell

Link to comment
Share on other sites

What about the option of running HijackThis?

Thanks,

Avian

Unfortunately, HijackThis does not automatically determine threats, it only enumerates things that it does not know and allow the user to select them.

I have been incorporating smart versions of things that HijackThis offers, but its HijackThis support is not yet complete...

Things removable in AutoClean and HijackThis

* Autoruns

* Services

* Search Hooks

Things removable in HijackThis but not AutoClean

* Default web-pages (will check in a later version... not sure what it will be checked against yet though...)

* Context Menu Items (almost always used by useful programs, but broken items may be checked in the future)

* WinsockLSP (not fixing winsock in this manor. It is more dangerous and less effective than methods used in WinFixes.)

_________[u]UDFs[/u]_________-Mouse UDF-Math UDF-Misc Constants-Uninstaller Shell

Link to comment
Share on other sites

Any details on the "Optional Customer based logging"?

Are you going to store their name/computer ID/etc in the log?

I'm thinking if work is done on-site, I could add another script that emails/transfers the file back to the office for records or further investigation.

As usuall lookign good ;)

John

I honestly haven't figued out exactly what I want to do with this yet.

Ill get back to you on this.

_________[u]UDFs[/u]_________-Mouse UDF-Math UDF-Misc Constants-Uninstaller Shell

Link to comment
Share on other sites

Just tried the latest version 1.9 and I'm getting errors.

P:\Autoit\AutoClean v1.9 SRC\Src\Util.au3(48,22) : ERROR: undefined macro.
    While @InetGetActive
    ~~~~~~~~~~~~~~~~~~~~^
P:\Autoit\AutoClean v1.9 SRC\Src\Util.au3(49,49) : ERROR: undefined macro.
        GUICtrlSetData($progress,100*@InetGetBytesRead/
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
P:\Autoit\AutoClean v1.9 SRC\Src\Util.au3(50,50) : ERROR: undefined macro.
        GUICtrlSetData($state,Int(100*@InetGetBytesRead/
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
P:\Autoit\AutoClean v1.9 SRC\Src\Util.au3(50,88) : ERROR: undefined macro.
        GUICtrlSetData($state,Int(100*@InetGetBytesRead/$size)&"% - "&Round(@InetGetBytesRead/
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^

Did some research and it's a change made in the most recent version of AutoIT 3.3.2.0 :-(

From the help file.

InetGet("abort"), @InetGetActive and @InetGetBytesRead are now deprecated. The following list shows the new functions used to access the old behavior: 
InetGet("abort") - Calling the new InetClose() function with a handle returned from InetGet() will abort a download. 
@InetGetActive - Calling the new InetGetInfo() function with no parameters returns a count of active downloads. 
@InetGetBytesRead - Calling the new InetGetInfo() function with a handle returned from InetGet()will return the bytes read (and more) for a download.

I made some changes to the DownloadFile function and it appears to work ok now. Only minimal testing done (Updated programs works)

Func DownloadFile($name, $outfile, $url, $silent = False)
    If FileExists($outfile) Then
        If $ForceFileUpdate == False Then
            Return
        EndIf
        FileDelete($outfile)
    EndIf
    If FileExists($outfile) == 1 And FileDelete($outfile) == 0 Then
        If $silent == False Then
            MsgBox(0, "Error Downloading " & $name, $name & " Failed to download because the output file could not be accessed.", 5000)
        EndIf
        Return SetError(1, 1, False)
    EndIf
    GUICtrlSetData($step, $name & " - Initializing Download...")
    GUICtrlSetData($state, "")
    Local $size = InetGetSize($url)
    Local $InetHandle = InetGet($url, $outfile, 1, 1)
    GUICtrlSetData($step, $name & " - Downloading...")
    Local $msg
    While Not InetGetInfo($InetHandle, 2)
        GUICtrlSetData($progress, 100 * InetGetInfo($InetHandle, 1) / $size)
        GUICtrlSetData($state, Int(100 * InetGetInfo($InetHandle, 1) / $size) & "% - " & Round(InetGetInfo($InetHandle, 1) / (1024 ^ 2), 1) & "/" & Round($size / (1024 ^ 2), 1) & " MB")
        $msg = GUIGetMsg(1)
        If $msg[1] == $gui And $msg[0] == -3 Then
            If MsgBox(4, "Abort Download", "Are you sure you want to cancel the download of " & $name) == 6 Then
                InetGet("abort")
                FileDelete($outfile)
                Return SetError(1, 2, False)
            EndIf
        EndIf
        Sleep(50)
    WEnd
    Return SetError(0, 0, True)
EndFunc   ;==>DownloadFile

Thanks - Hope you have a great Christmas

John Morrison

aka

Storm-E

Edited by storme
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...