Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 11
  1. #1
    Tron
    Registriert seit
    29.05.2007
    Beiträge
    894

    Standard VB6 Code zur Laufzeit ausführen [+Beispiel] [+Neue Methode zum Fudden]

    Habe eine Methode gefunden durch das microsoft Script control VBS code zur Laufzeit auszuführen.


    Das heißt wir können einen Code als String in unserer Stub haben und den Code dann zur Laufzeit kompilieren [=wir können den string verschlüsseln = kein AV wird den code je detecten]


    ein beispiel zur ermittlung vom aktuellem ExePfad :
    - Als erstes müsst ihr das Steuerelement Microsoft Script Control in das Projekt einbinden
    - Dann legt ihr es auf die Form1 und nennt es "s"


    Dann fügt ihr diesen Code in die Form ein :
    Code:
    Private Sub Form_Load()
    Call GetAppFileName
    End Sub
    
    Public Sub GetAppFileName()
    Form1.s.AddObject "App", App, False
    Form1.s.AddObject "Form1", Form1, True
    sTest = "Form1.Caption = App.Path & ""\"" & App.Exename & "".exe"""
    Form1.s.AddCode sTest
    End Sub
    Dieser Code gibt der Form1 die Caption mit dem Pfad zur ausgeführten exe Datei.


    Die Strings hier kann man verschlüsseln, d.h. kaum möglich zu detecten und sehr unique jedesmal.
    zB könnte ein verschlüsseltes so aussehen (decrypt funktion nicht eingefügt nur als beispiel)
    Code:
    Public Sub GetAppFileName()
    Form1.s.AddObject "NDE3MDcw", App, False
    Form1.s.AddObject "NDY2ZjcyNmQzMQ==", Form1, True
    sTest = "Rm9ybTEuQ2FwdGlvbiA9IEFwcC5QYXRoICYgIiJcIiIgJiBBcHAuRXhlbmFtZSAmICIiLmV4ZSIi"
    Form1.s.AddCode sTest
    GetAppFileName = Form1.Caption
    End Sub
    kann kein vbs darum kann ich keine weiteren Beispiele zeigen aber finde es sehr interessant.



    Habe auch ein Tut darüber gefunden wer mehr wissen will:
    vb@rchiv · Workshops · MS ScriptControl - Code zur Laufzeit kompilieren





    hf,
    Tix
    Geändert von Tix (27.07.2010 um 15:47 Uhr)

  2. #2
    Anfänger
    Registriert seit
    10.07.2008
    Beiträge
    25

    Standard

    Ansatz klingt durchaus interessant, mal sehen was sich daraus machen lässt vielleicht mal ein POC schreiben?
    Biete:

  3. #3
    Chloë Grace Moretz Avatar von ocz
    Registriert seit
    29.05.2010
    Beiträge
    384

    Standard

    lol, fuck this.
    Geändert von ocz (06.11.2011 um 01:01 Uhr) Grund: fuck this

  4. Folgende Benutzer haben sich für diesen Beitrag bedankt:

    blackberry (27.07.2010), IRET (27.07.2010)

  5. #4
    Tron
    Registriert seit
    29.05.2007
    Beiträge
    894

    Standard

    natürlich wird Vbs kompiliert sobald es ausgeführt wird

  6. #5
    Chloë Grace Moretz Avatar von ocz
    Registriert seit
    29.05.2010
    Beiträge
    384

    Standard

    lol, fuck this.
    Geändert von ocz (06.11.2011 um 01:01 Uhr) Grund: fuck this

  7. Folgende Benutzer haben sich für diesen Beitrag bedankt:

    $_staX (27.07.2010), blackberry (27.07.2010), inout (27.07.2010), l0dsb (27.07.2010), neitec (27.07.2010)

  8. #6
    Duck and Cover Avatar von $_staX
    Registriert seit
    27.07.2008
    Beiträge
    294

    Standard

    Scriptsprachen werden interpretiert, was bedeutet, dass der Quellcode zur Laufzeit analysiert wird...

    @Opcodez: lol

    First you duck and then you cover!
    #

  9. #7
    OpCodeKiddy Avatar von EBFE
    Registriert seit
    30.03.2009
    Beiträge
    442

    Standard

    Absoulut OT, aber muss auch mal sein:
    1) Die Überschrift besagt "VB6 Code zur Laufzeit ausführen [+Beispiel] [+Neue Methode zum Fudden]" und das hier ist auch der Fall. Der VBS Code wird zur Laufzeit ausgeführt. Interessant wäre natürlich, was dabei intern passiert.

    2)
    Zitat Zitat von Tix
    den Code dann zur Laufzeit kompilieren
    das ist auch absolut korrekt.
    ich zitiere mal die Wikipedia:
    Kompilierung – Wikipedia
    Dabei wird das in einer Quellsprache geschriebene Programm in ein semantisch äquivalentes Programm in der Zielsprache übersetzt.
    ...
    Es kann aber auch je nach Compiler beispielsweise eine Ausgabe in einer anderen Programmiersprache erzeugt werden, die dann weiterverarbeitet wird.
    Compiler – Wikipedia
    Ein Compiler (auch Übersetzer oder Kompilierer genannt) ist ein Computerprogramm, das ein in einer Quellsprache geschriebenes Programm – genannt Quellprogramm – in ein semantisch äquivalentes Programm einer Zielsprache (Zielprogramm) umwandelt. Üblicherweise handelt es sich dabei um die Übersetzung eines von einem Programmierer in einer Programmiersprache geschriebenen Quelltextes in Assemblersprache, Bytecode oder Maschinensprache. Das Übersetzen eines Quellprogramms in ein Zielprogramm durch einen Compiler wird auch als Kompilierung bezeichnet.
    Wer kein Wikipedia mag, darf nach "Compiler uni folien" googeln:
    http://proglang.informatik.uni-freib...9ws/slides.pdf
    What is a compiler?
    a program that translates an executable program in one language into
    an executable program in another language
    we expect the program produced by the compiler to be better, in some
    way, than the original
    D.h es muss nicht gleich Maschinencode sein(bzw Zielsprache Assembly), sondern auch mal ein AST-Baum oder Bytecode. Im übrigen gibt es schon lange kaum reine Interpreter (sofern man von größeren Projekten redet) - so gut wie alle "Interpreter" übersetzen den Quellcode mindestens in einen AST-Baum, öfters in Bytecode. Sogar die alten Basic Versionen haben afaik den Code geparst, von aktuellen JavaScript, Perl, Python, VBS Umsetzungen ganz zu schweigen (FF hat sogar einen Just in Time compiler für JS )

    Fazit: wer meckert, sollte nicht mit Steinen werfen (oder so ähnlich )
    Geändert von EBFE (27.07.2010 um 15:38 Uhr)
    TrueCrypt/RAR/Zip Passwort vergessen und das Bruten dauert ewig? Oder brauchst du fein abgestimmte Wortlisten? Hilf dir selbst mit WLML - Word List Markup Language
    Gib Stoned/Mebroot/Sinowal und anderen Bootkits keine Chance: Anti Bootkit v 0.8.5

  10. Folgende Benutzer haben sich für diesen Beitrag bedankt:

    BlackCobra (27.07.2010), hl2.exe (27.07.2010), mr. unnamed (27.07.2010), sn0w (27.07.2010)

  11. #8
    Chloë Grace Moretz Avatar von ocz
    Registriert seit
    29.05.2010
    Beiträge
    384

    Standard

    lol, fuck this.
    Geändert von ocz (06.11.2011 um 01:01 Uhr) Grund: fuck this

  12. Folgende Benutzer haben sich für diesen Beitrag bedankt:

    $_staX (27.07.2010)

  13. #9
    I'm in ur VM. Avatar von l0dsb
    Registriert seit
    23.07.2007
    Beiträge
    1.038

    Standard

    Ich bin mir nicht sicher, ob die Umwandlung in einen Syntaxbaum als komplette Kompilierung anzusehen ist - man entschuldige hierbei mein fehlendes Universitätsjargon.

    Aber erfüllen Syntaxbäume die Kriterien für eine komplette Sprache, sind sie nicht eher ein Teil des Parsing-Vorgangs? Compiler-Interessierte, bitte um Aufklärung.

    Dass reine Interpreter nicht mehr wirklich vorzufinden (geschweige denn sinnvoll sind, im Bezug auf Geschwindigkeit, Optimierungen, ...) sind, ist nicht weiter verwunderlich. Kompilierung und anschließende Interpretierung eines Quellcodes auf Interpretierung zu beschränken, halte ich für "umgangssprachlich" tragbar - wenn auch nicht gänzlich korrekt.
    I can haz RCE?

  14. Folgende Benutzer haben sich für diesen Beitrag bedankt:

    $_staX (27.07.2010), ocz (27.07.2010)

  15. #10
    OpCodeKiddy Avatar von EBFE
    Registriert seit
    30.03.2009
    Beiträge
    442

    Standard

    Zitat Zitat von OpCodez Beitrag anzeigen
    Das mag zwar nicht mit obenstehenden Aussagen kollidieren, aber so wie du dein zitat auslegst, würde das bedeuten, dass jeder Interpreter gleichzeitig ein Compiler ist.
    Wenn du weiter in dem von dir zitierten Artikel liest, steht da auch dass der Übergang fließend ist . Auch sogenanntes "compiliertes" C++ wird zur Laufzeit "analysiert" und damit quasi interpretiert (sobald man Vererbung/Überschreiben der Methoden/Polymorphie einsetzt, wird in der "compilierten" Datei eine Tabelle mit Methoden<=>Klassen angelegt und bei jedem Methodenaufruf erstmals ermittelt, was aufgerufen werden soll.
    Object Programming Lecture 2: Method Lookup
    (foleien 4 bis 7)
    Sicherlich findet irgendwo innerhalb des Interpretation-Prozesses eine kompilation (im o.g. Sinne) statt, aber irgendwie muss man Compiler und Interpreter ja auch mit wenigen Wörtern unterscheiden können.
    das wäre aber kein Grund, den Threadersteller anzumeckern

    PS:
    Aber erfüllen Syntaxbäume die Kriterien für eine komplette Sprache, sind sie nicht eher ein Teil des Parsing-Vorgangs? Compiler-Interessierte, bitte um Aufklärung
    Theoretisch: ja. Imho kann man die Abstracten Syntax Bäume durchaus als eigene Sprache ansehen:


    Und wenn man "Programmiersprache" über Turing-Vollständigkeit definiert, erfüllen ASTs die Anforderung sowieso .
    TrueCrypt/RAR/Zip Passwort vergessen und das Bruten dauert ewig? Oder brauchst du fein abgestimmte Wortlisten? Hilf dir selbst mit WLML - Word List Markup Language
    Gib Stoned/Mebroot/Sinowal und anderen Bootkits keine Chance: Anti Bootkit v 0.8.5

  16. Folgende Benutzer haben sich für diesen Beitrag bedankt:

    inmate (30.07.2010)

Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. VB.NET - Textboxinhalt als Code ausführen
    Von Housecat im Forum .NET Sprachen - Techniken
    Antworten: 18
    Letzter Beitrag: 29.07.2010, 21:44
  2. Code mit jeder Dateiendung ausführen!
    Von activebeta im Forum Video-Tutorials
    Antworten: 22
    Letzter Beitrag: 05.10.2008, 10:34
  3. [BB-Code]Automatisch ausführen[/Link]-geht das?
    Von Technoskull im Forum Sonstige Programmiersprachen
    Antworten: 2
    Letzter Beitrag: 12.08.2008, 15:52

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •