Shadows Obfuscator (mit Sourcecode)

02/12/2012 20:55 GameCrime#151
Wenn ich alles Obfuscate also ohne Fileinstall ... Dann wird meine .exe später als Keylogger erkannt . Bin ich der einzige hier mit dem Problem ? Muss ich halt mal nicht so staark packen und welche packmethode wäre am besten ?

Mfg
02/12/2012 21:05 jacky919#152
Beim "obfuscaten" wird dein Programm nicht gepackt. Das Skript wird lediglich so verändert und verschlüsselt, dass es für den normalen Menschen schwer bis garnicht lesbar ist oder keinen Sinn ergibt.
02/12/2012 21:13 GameCrime#153
Das meine ich ja damit sry :P
Aber hat jemand auch das Problem und was wäre die beste "obfuscate" Art ?
04/11/2012 04:14 Achat#154
Nützliches Programm. Bei AutoIt muss man eigentlich immer obfuscaten, da es Decompiler gibt. Bei der _WinHTTP.au3 geht dein AutoIt und der C++ Obfuscator nicht. Der in AutoIt integrierte Obfuscator funktioniert dort allerdings auch nicht. Außerdem wird FileInstall zu Execute(Binarytostring(...)) - die Dateien wurden bei mir nicht mehr eingebunden.
Quote:
Originally Posted by Shadow992 View Post
FileInstall darf nicht obfuscated werden, da sonst AutoIt die Pfade nicht kennt, also einfach FileInstall nachträglich ins Skript einfügen.
Ich schreibe jetzt meinen eigenen Obfuscator :D ... - da deiner ja schon länger public ist, ist er nicht mehr so sicher.
Von wo hast du die Hash Funktionen? Sind die schneller als _Crypt_HashData()?
04/20/2012 20:39 Shadow992#155
Quote:
Originally Posted by Achat View Post
Nützliches Programm. Bei AutoIt muss man eigentlich immer obfuscaten, da es Decompiler gibt. Bei der _WinHTTP.au3 geht dein AutoIt und der C++ Obfuscator nicht. Der in AutoIt integrierte Obfuscator funktioniert dort allerdings auch nicht. Außerdem wird FileInstall zu Execute(Binarytostring(...)) - die Dateien wurden bei mir nicht mehr eingebunden.


Ich schreibe jetzt meinen eigenen Obfuscator :D ... - da deiner ja schon länger public ist, ist er nicht mehr so sicher.
Von wo hast du die Hash Funktionen? Sind die schneller als _Crypt_HashData()?
Die Hashfunktionen sind 100% schneller, denn sie sind in reinem ASM geschrieben. Woher ich die habe steht dabei (im Source).
06/11/2012 16:06 Lawliet#156
So aus gegebenem Anlass habe ich mir auch eine Funktion geschrieben, welche die Includes einbindet (Auch die Includes in den Includes usw.).

Ich hab mir Shadows nicht so genaus angeschaut, aber sie scheint mir doch ziemlich langsam ;) Evl. weil seine mit _ReplaceStringinFile() arbeitet und meine Nur mit Strings & FileWrite.

Wer sie haben will, kann sie sich einbauen ;)

Code:
Func _IncludesEinbinden($file)
	if not $File then Return SetError(1, 0, 0)
	Local $written = "", $Include = ""
	While StringRegExp($file, '(?i)#include <.*', 0) Or StringRegExp($file, '(?i)#include ".*', 0)
		$Include = _GetIncludes($file, 1)
		$split = StringSplit($Include, "|")
		If Not StringInStr($written, $split[2]) Then
			$file = StringReplace($file, StringTrimRight($split[1], 1), FileRead(RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\AutoIt v3\AutoIt", "InstallDir") & "\Include\" & StringStripWS($split[2], 8)), 1)
			$written &= $split[2]
		Else
			$file = StringReplace($file, StringTrimRight($split[1], 1), "")
		EndIf
	WEnd
	Return $file
EndFunc

Func _GetIncludes($file)
		$includes = StringRegExp($file, '(?i)#include <.*', 3)
		$aIncludeName = StringRegExp($file, '(?i)#include <(.*)', 3)
		If IsArray($includes) And IsArray($aIncludeName) Then
			$includes[0] &= " | " & StringTrimRight($aIncludeName[0], 2)
			Return $includes[0]
		EndIf
		$includes = StringRegExp($file, '(?i)#include ".*', 3)
		$aIncludeName = StringRegExp($file, '(?i)#include "(.*)', 3)
		If IsArray($includes) And IsArray($aIncludeName) Then
			$includes[0] &= " | " & StringTrimRight($aIncludeName[0], 2)
			Return $includes[0]
		EndIf
		Return
endfunc
Sie braucht für 12 Includes und 28 "unterincludes" (Includes in Include) um die 5 Sekunden.
06/11/2012 16:11 Freddy​#157
Ah cool, danke. Jezt habe ich auch endlich verstanden was du gemeint hast :>
06/11/2012 16:14 Lawliet#158
Jo, der zweite Parameter war eig überflüssig^^
Aufrufen kann man sie z.B. so:
FileWrite(@DesktopDir & "\test.au3", _IncludesEinbinden(Fileread(@desktopdir & "\test.au3"))
09/02/2012 12:36 zen90#159
Whoa, sehr gute Arbeit.
09/24/2012 12:43 Achat#160
[Only registered and activated users can see links. Click Here To Register...]

:(

Woran könnte das liegen?

MfG
09/25/2012 21:53 FichteFoll#161
Quote:
Originally Posted by Achat View Post
[Only registered and activated users can see links. Click Here To Register...]

:(

Woran könnte das liegen?

MfG
Da du unweigerlich eine Quelldatei mit diesem Programm verschleiern willst, welche du hoffentlich vorher geschrieben hast, gehe ich mal kurzerhand davon aus, dass du selbst auf die Idee kommen könntest, dass mal als Programmierer mit den in deinem Screenshot dargestellten Informationen nichts anfangen kann.
09/25/2012 22:55 Achat#162
:o Sorry, habe den Pfad falsch eingegeben...

Irgendwie funktioniert die Console bei mir nicht.

Source.au3: (ConsoleWrite funktioniert)


Source-Obfuscated.au3 (ConsoleWrite funktioniert nicht)

MfG
09/26/2012 00:38 Shadow992#163
#Updated Obfuscator mit C++

@Achat
Dein Problem sollte jetzt auch behoben sein.
09/26/2012 14:54 Achat#164
Danke für das schnelle Update. [Only registered and activated users can see links. Click Here To Register...]

An was lag der Fehler denn?

Es funktioniert jetzt :)

MfG
10/08/2012 10:20 spymare#165
Obfuscator with C + + v1.0.5.zip does not work, can't extract the file, the rar archive seems broken