Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > AutoIt
You last visited: Today at 20:56

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[Tutorial] AutoIt Scripts Deobfuscaten

Discussion on [Tutorial] AutoIt Scripts Deobfuscaten within the AutoIt forum part of the Coders Den category.

Reply
 
Old 08/03/2012, 00:44   #16
 
Shadow992's Avatar
 
elite*gold: 77
Join Date: May 2008
Posts: 5,430
Received Thanks: 5,878
Mein erster Post seit langem mal wieder und ich mach mich gleich unbeliebt bei der Moderation dieser Section, aber ich hoffe die (ehemaligen) Kollegen können drüber hinwegsehen.

@Tutorial
Was genau bringt das jetzt?
Ich stell mir gerade vor wie du das bei einem 500 Zeilen langen Skript machst, welches der Obfuscator wohl auf rund 2000-4000 erweitert. Willst du da wirklich alle Zeilen per Hand eingeben? Na dann wünsche ich dir dabei viel Spaß und vor allem viel Kaffee.

Und selbst wenn man die BinaryToStrings durch die richtigen Befehle ersetzt hat, bleiben immer noch die Variablen und wenn man rund 200 verschiedene Texte hat und die entsprechenden Variablen auch noch per Hand einfügen muss, wird wohl jeder die Maus gegen die Wand werfen und sich eine sinnvollere Beschäftigung suchen.
Vorausgesetzt das geschützte Skript ists nichts außergewöhnliches.

Das Tutorial erscheint mir also irgendwie sinnlos und hilft wirklich nur den Skript-Kiddies, die dann aber wiederum nichts mit dem entstandenen Code anfangen können, weil sie nicht einmal wussten wie man Deobfuscated.

Das ganze per Programm zu deobfuscaten fände ich hingegen interessanter und soweit ich weiß (ich war schon lange nicht mehr aktiv aber meine Google-Arbeit hat keine Ergebnisse gebracht), gibt es einen derartigen Deobfucator noch nicht.
Shadow992 is offline  
Thanks
1 User
Old 12/24/2012, 03:41   #17
 
Crack-wtf's Avatar
 
elite*gold: 0
Join Date: Feb 2012
Posts: 1,400
Received Thanks: 2,939
Quote:
Originally Posted by Shadow992 View Post
Mein erster Post seit langem mal wieder und ich mach mich gleich unbeliebt bei der Moderation dieser Section, aber ich hoffe die (ehemaligen) Kollegen können drüber hinwegsehen.

@Tutorial
Was genau bringt das jetzt?
Ich stell mir gerade vor wie du das bei einem 500 Zeilen langen Skript machst, welches der Obfuscator wohl auf rund 2000-4000 erweitert. Willst du da wirklich alle Zeilen per Hand eingeben? Na dann wünsche ich dir dabei viel Spaß und vor allem viel Kaffee.

Und selbst wenn man die BinaryToStrings durch die richtigen Befehle ersetzt hat, bleiben immer noch die Variablen und wenn man rund 200 verschiedene Texte hat und die entsprechenden Variablen auch noch per Hand einfügen muss, wird wohl jeder die Maus gegen die Wand werfen und sich eine sinnvollere Beschäftigung suchen.
Vorausgesetzt das geschützte Skript ists nichts außergewöhnliches.

Das Tutorial erscheint mir also irgendwie sinnlos und hilft wirklich nur den Skript-Kiddies, die dann aber wiederum nichts mit dem entstandenen Code anfangen können, weil sie nicht einmal wussten wie man Deobfuscated.

Das ganze per Programm zu deobfuscaten fände ich hingegen interessanter und soweit ich weiß (ich war schon lange nicht mehr aktiv aber meine Google-Arbeit hat keine Ergebnisse gebracht), gibt es einen derartigen Deobfucator noch nicht.
Sorry für den Push ^^

Habe diese Deobfuscation's Methode schon seit langem gepostet, ist also nichts neues, und jedem erfahrenem User bekannt.

Meiner Meinung nach wirklich nur ein Schrei nach beachtung.

PHP Code:
#include <File.au3>

$CurrentClip ClipGet()
$Final ""
$file FileOpenDialog("Select an Autoit Script", @ScriptDir """Autoit Script (*.au3)"4)
$ofile FileOpen($file0)

For 
$i 1 to _FileCountLines($file)+1
    ToolTip
($i,0,0)
    If 
StringInStr(FileReadLine($ofile,$i), "Execute(BinaryToString("Then
        Execute
(StringReplace (FileReadLine($ofile,$i), "Execute(BinaryToString(""Clipput(BinaryToString("1))
        
        If 
StringLeft(ClipGet(),2) = "0x" Then
            $Final 
&= BinaryToString(ClipGet()) & @CRLF
        
Else
            
$Final &= ClipGet() & @CRLF
        
EndIf
    Else
        
$Final &= FileReadLine($ofile,$i) & @CRLF
    
EndIf
Next
ClipPut
($CurrentClip)
FileWrite("test.au3",$Final
In 5 Minuten geschrieben.
Sollte funktionieren.
Crack-wtf is offline  
Thanks
1 User
Old 12/24/2012, 13:41   #18
 
elite*gold: 0
Join Date: Dec 2012
Posts: 110
Received Thanks: 43
Ich weiß nicht, ob es geht, aber ich empfehle lieber dieses Script:
Code:
#include <File.au3>

$CurrentClip = ClipGet()
$Final = ""
$file = FileOpenDialog("Select an Autoit Script", @ScriptDir & "", "Autoit Script (*.au3)", 1 + 4)
$ofile = FileOpen($file, 0)

For $i = 1 to _FileCountLines($file)+1
    ToolTip($i,0,0)
    If StringInStr(FileReadLine($ofile,$i), "Execute(BinaryToString(") Then
        Execute(StringReplace (FileReadLine($ofile,$i), "Execute(BinaryToString(", "Clipput(BinaryToString(", 1))

        If StringLeft(ClipGet(),2) = "0x" Then
            $Final &= BinaryToString(ClipGet()) & @CRLF
        Else
            $Final &= ClipGet() & @CRLF
        EndIf
    Else
        $Final &= FileReadLine($ofile,$i) & @CRLF
    EndIf
Next
ClipPut($CurrentClip)
FileWrite(StringReplace($file, ".au3", "_deobfuscated.au3"), $Final)
Da es den alten Dateinamen behält, mit einem "_deobfuscated" dahinter xD
DasRequi is offline  
Old 12/24/2012, 15:49   #19
 
Shadow992's Avatar
 
elite*gold: 77
Join Date: May 2008
Posts: 5,430
Received Thanks: 5,878
Quote:
Originally Posted by Crack-wtf View Post
Sorry für den Push ^^

Habe diese Deobfuscation's Methode schon seit langem gepostet, ist also nichts neues, und jedem erfahrenem User bekannt.

Meiner Meinung nach wirklich nur ein Schrei nach beachtung.

PHP Code:
#include <File.au3>

$CurrentClip ClipGet()
$Final ""
$file FileOpenDialog("Select an Autoit Script", @ScriptDir """Autoit Script (*.au3)"4)
$ofile FileOpen($file0)

For 
$i 1 to _FileCountLines($file)+1
    ToolTip
($i,0,0)
    If 
StringInStr(FileReadLine($ofile,$i), "Execute(BinaryToString("Then
        Execute
(StringReplace (FileReadLine($ofile,$i), "Execute(BinaryToString(""Clipput(BinaryToString("1))
        
        If 
StringLeft(ClipGet(),2) = "0x" Then
            $Final 
&= BinaryToString(ClipGet()) & @CRLF
        
Else
            
$Final &= ClipGet() & @CRLF
        
EndIf
    Else
        
$Final &= FileReadLine($ofile,$i) & @CRLF
    
EndIf
Next
ClipPut
($CurrentClip)
FileWrite("test.au3",$Final
In 5 Minuten geschrieben.
Sollte funktionieren.
Quote:
Originally Posted by DasRequi View Post
Ich weiß nicht, ob es geht, aber ich empfehle lieber dieses Script:
Code:
#include <File.au3>

$CurrentClip = ClipGet()
$Final = ""
$file = FileOpenDialog("Select an Autoit Script", @ScriptDir & "", "Autoit Script (*.au3)", 1 + 4)
$ofile = FileOpen($file, 0)

For $i = 1 to _FileCountLines($file)+1
    ToolTip($i,0,0)
    If StringInStr(FileReadLine($ofile,$i), "Execute(BinaryToString(") Then
        Execute(StringReplace (FileReadLine($ofile,$i), "Execute(BinaryToString(", "Clipput(BinaryToString(", 1))

        If StringLeft(ClipGet(),2) = "0x" Then
            $Final &= BinaryToString(ClipGet()) & @CRLF
        Else
            $Final &= ClipGet() & @CRLF
        EndIf
    Else
        $Final &= FileReadLine($ofile,$i) & @CRLF
    EndIf
Next
ClipPut($CurrentClip)
FileWrite(StringReplace($file, ".au3", "_deobfuscated.au3"), $Final)
Da es den alten Dateinamen behält, mit einem "_deobfuscated" dahinter xD
Das funktioniert aber bei der C++ Version vom Obfuscator nicht (mehr).

Edit:
Und ob das bei der AutoIt-Version funktioniert frag ich mich auch.

Edit2:
Etwas derartiges dürfte noch nie bei meinen Obfuscatoren funktioniert haben, denn beide Versionen von meinen Obfuscatoren setzen auf selbsterstellte Funktionen, um eben ein derartiges deobfuscaten von Außen zu verhindern. Man müsste schon das ursprüngliche Skript ausführen und dort dann Zeile für Zeile kopieren, aber auf diese Art und Weise von Außen sollte das nicht möglich sein.
Ihr dürft mich aber gerne vom Gegenteil überzeugen.
Shadow992 is offline  
Old 12/26/2012, 21:37   #20
 
Crack-wtf's Avatar
 
elite*gold: 0
Join Date: Feb 2012
Posts: 1,400
Received Thanks: 2,939
Naja manuell ist dein C++ Deobfuscator auch kein Problem.
Bei kleinen sources schreibt er den Source direkt nur mit Execute rein, und bei größeren in ein Array.

Aber Automatisch fällt mir auf anhieb keine möglichkeit ein :Q
Crack-wtf is offline  
Old 12/26/2012, 22:17   #21
 
Shadow992's Avatar
 
elite*gold: 77
Join Date: May 2008
Posts: 5,430
Received Thanks: 5,878
Quote:
Originally Posted by Crack-wtf View Post
Naja manuell ist dein C++ Deobfuscator auch kein Problem.
Bei kleinen sources schreibt er den Source direkt nur mit Execute rein, und bei größeren in ein Array.

Aber Automatisch fällt mir auf anhieb keine möglichkeit ein :Q
Wobei es selbst manuell ein paar Problemchen beim C++ Obfuscator gibt.
Shadow992 is offline  
Old 12/27/2012, 06:55   #22
 
Crack-wtf's Avatar
 
elite*gold: 0
Join Date: Feb 2012
Posts: 1,400
Received Thanks: 2,939
Meinst du die ganzen Random Funktionen?
Nah wenn man weiß was das Script machen soll kann man sich da vorran tasten.
Außerdem werden deine Fake Funktionen nich gecallt also kann man das gleich erkennen.
Crack-wtf is offline  
Old 12/29/2012, 16:44   #23
 
elite*gold: LOCKED
Join Date: Sep 2012
Posts: 1,599
Received Thanks: 255
Ich würde sagen 90% aller user hier kapieren nicht mal den Anfang mich eingeschlossen mach ein ordendliches video tut oder beschreibe jeden kleinen Teil den man machen muss!

#vote 4 close!
*-Elsword_Hacker-* is offline  
Old 12/29/2012, 17:17   #24
 
-STORM-'s Avatar
 
elite*gold: 124
Join Date: Dec 2009
Posts: 2,114
Received Thanks: 3,142
Du willst, dass ein Thread geschlossen wird, weil du ihn nicht verstehst?
Das ist halt kein Anfänger Tutorial.
Wer es nicht versteht, kann nachher mit dem deobfuscateten Source auch recht wenig anfangen, da ändert ein Videotutorial nichts dran.
-STORM- is offline  
Thanks
1 User
Old 12/29/2012, 21:17   #25
 
Shadow992's Avatar
 
elite*gold: 77
Join Date: May 2008
Posts: 5,430
Received Thanks: 5,878
Quote:
Originally Posted by Crack-wtf View Post
Meinst du die ganzen Random Funktionen?
Nah wenn man weiß was das Script machen soll kann man sich da vorran tasten.
Außerdem werden deine Fake Funktionen nich gecallt also kann man das gleich erkennen.
Das mein ich gar nicht.
Sondern eher die Funktionen, die auf Grund von dem Execute nicht ausgeführt werden, wenn sie aber ohne Execute im Skript stehen problemlos ausgeführt werden.

Wenn man weiß wie sind diese natürlich sehr leicht zu enttarnen.
Aber bitte vergesst nicht die Tatsache, dass ein derartiges Tutorial für Anfänger gedacht sein muss.
Von daher denke ich, ist das ganze Anfängern gegenüber relativ sicher.
Shadow992 is offline  
Thanks
2 Users
Reply

Tags
autoit, deobfuscaten, entschlüsseln, k1ramox


Similar Threads Similar Threads
Programm deobfuscaten
04/19/2012 - General Coding - 2 Replies
Hallo, Ich möchte ein Programm welches mit Cryptos deobfuscatet wurde entpacken(Anwendung in C# geschrieben) und dann in meinem Visual Studio öffnen. Weiß jemand wie es geht?



All times are GMT +1. The time now is 20:56.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.