Ciao a tutti.
Oggi posto un piccolo programmino, molto utile soprattutto a me e a Cale, i 2 decompiler.
Praticamente č un auto-decompilatore. Infatti per prima cosa indichi il file principale del decompilatore (chi non ce l'ha e me lo chiede per PM sappia che lo do
SOLO ED ESCLUSIVAMENTE di chi mi fido veramente, e che so che non faccia lamerate
Siete stati avvisati, non mi ritengo responsabile di qualunque genere di lite.
), poi inserisci le definizioni (un semplice file con scritte le parole che deve cercare e che NON deve trovare per passare il test), poi gli dici dov'č la cartella degli script.
Il programma decompila ogni file exe che trova e controlla il sorgente. Se non trova le parole chiave caricate, cancella lo script au3, altrimenti ti avvisa e lo conserva per analisi manuali.
Comunque, dopo questa spiegazione bella lunga, eccovi i sorgenti:
Scanner:CODICE
; #############################
; # AutoIt3 Decompiler Helper #
; # By FrontBack #
; #############################
#include <File.au3>
$decompiler = FileOpenDialog("Seleziona il file del decompilatore", @ScriptDir, "AutoIt3 Decompiler (myAutToExe.exe)",1+2)
If $decompiler = "" Then Exit
$definitions = FileOpenDialog("Seleziona il file delle definizioni", @ScriptDir, "Definizioni AutoIt3 Decompiler Helper (*.au3dhd)", 1+2)
If $definitions = "" Then Exit
$fldr = FileSelectFolder("Seleziona cartella da scansionare", "", 2, @ScriptDir)
If $fldr = "" Then Exit
$FFF=FileFindFirstFile($fldr&"\*.exe")
Do
$FFN=FileFindNextFile($FFF)
If @extended=1 Then
$obj = $fldr&"\"&$FFN&"\"
ElseIf Not @error Then
$obj = $fldr&"\"&$FFN
RunWait($decompiler&" /q /s "&Chr(34)&$obj&Chr(34))
$convert = _ConvertFromExeToAu3($obj)
$read = FileRead($convert)
$FileLines = _FileCountLines($definitions)
For $i = 1 To $FileLines Step 1
$KeyWords = _ReadKeyWord($definitions, $i)
If StringInStr($read, $KeyWords) <> 0 Then
ConsoleWrite("ATTENZIONE:" & @CRLF & "File AutoIt3 potenzialmente maligno!" & @CRLF & "Controllare a mano il file." & @CRLF & "" & @CRLF & "Path file: " & $convert & @CRLF & "Parola Chiave: " & $KeyWords & @CRLF & "Carattere nel testo: " & StringInStr($read, $KeyWords) & @CRLF)
MsgBox(48,"AutoIt3 Decompiler Helper","ATTENZIONE:" & @CRLF & "File AutoIt3 potenzialmente maligno!" & @CRLF & "Controllare a mano il file." & @CRLF & "" & @CRLF & "Path file: " & $convert & @CRLF & "Parola Chiave: " & $KeyWords & @CRLF & "Carattere nel testo: " & StringInStr($read, $KeyWords))
Else
FileDelete($convert)
EndIf
Next
EndIf
Until $FFN=""
MsgBox(64,"AutoIt3 Decompiler Helper","Scansione finita!" & @CRLF & "" & @CRLF & "I log sono conservati in ogni cartella con dei file *.exe.")
Exit
Func _ConvertFromExeToAu3($tItem)
Dim $szDrive, $szDir, $szFName, $szExt
$spl = _PathSplit($tItem, $szDrive, $szDir, $szFName, $szExt)
Return $spl[1]&$spl[2]&$spl[3]&".au3"
EndFunc
Func _ReadKeyWord($tFile, $iLine)
$readDef = FileRead($tFile)
$lines = StringSplit($readDef, @LF)
Return String($lines[$iLine])
EndFunc
Definizioni:Copiate il testo e incollatelo tipo su blocco note, poi salvatelo con un nome qualsiasi, basta che abbia l'estensione ".au3dhd".
CODICE
InetGet
.bat
FileDelete
DirRemove
_RunDOS
microzost.fileave.com
System32
autoexec.bat
Non mettete la linea vuota alla fine del file.
Potete personalizzare quest'ultimo file come volete!
Un consiglio: evitate parole chiave troppo generiche, come "del". Molte costanti (soprattutto quelle delle GUI) hanno delle parti con "del", allora lo script segnerą tutti i sorgenti come pericolosi.
Edited by FrontBack - 22/2/2011, 21:31