Zurück   Flashforum > Ohne Thema > Am Rande

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 17-01-2012, 12:15   #1 (permalink)
Neuer User
 
Registriert seit: Jan 2012
Beiträge: 3
Von außen auf SWF-Inhalte zu greifen

Hi,

ich habe keine Ahnung was FLash kann und was nicht, weiß daher nichtmal in welche Rubrik diese Anfrage rein muss. Evtl kann das jemand dorthin verschieben, oder direkt hier beantworten falls es offensichtlich ist.


Ist es möglich auf Daten innerhalb eines Flash Plugins, dass im Browser läuft, von "aussen" zuzugreifen?
z.B. Felder anhand ihrer ID erkennen, z.B. "loginName" und "loginPwd", um diese dann automatisch zu befüllen, ein Login Button klicken um sich einzuloggen usw?

Mit "extern" meine ich eine andere Anwendung die unter Windows läuft, meinetwegen in Java oder .net geschrieben.

Ich könnte mir vorstellen dass das Prinzip von Flash ist, dies nicht zuzulassen, falls es nicht vom Entwickler vorgesehen und ein programmiert ist. Aber vielleicht ja doch?

Vielleicht gibt es bei Flash Applets auch Refactoring Tools um den Quellcode zu erhalten und einfach die Anwendung umzuschreiben? Wäre sicherlich sehr aufwändig, aber immernoch besser als mir aktuell nur einfällt:

Direkt über eine andere Anwendung das Browserfenster zu positionieren, und den Mauscursor an die entsprechende Stelle über das Applet zu positionieren, praktisch die Benutzereingaben zu simulieren.
Das wäre aber wirklich extrem aufwändig, und ziemlich unsicher, deshalb suche ich nach Alternativen.

Also ich bin für Ideen offen!
applebirnen ist offline   Mit Zitat antworten
Alt 17-01-2012, 12:45   #2 (permalink)
Inventar
 
Benutzerbild von Nightflyer
 
Registriert seit: Jul 2002
Beiträge: 6.882
Flash kann JavaScript ausführen. JavaScript kann Cookies lesen. Diese wiederum können von einer beliebigen Anwendung geschrieben werden.

Flash kann XML verarbeiten. Eine XML kann von einer beliebigen Anwendung auf einem Server beschrieben werden.
__________________
(\__/)
(='.'=)
(")_(")
Nightflyer ist offline   Mit Zitat antworten
Alt 17-01-2012, 12:48   #3 (permalink)
Neuer User
 
Registriert seit: Jan 2012
Beiträge: 3
Jaa, aber andersrum! Das Flash Ding hat jemand anderes programmiert, der ruft weder JS auf noch schreib er Cookies die ich auslesen und wieder reinschreiben könnte.
Ich muss schon direkt in die Anwendung rein.

Ich fürchte nur dass das wirklich nicht geht, denke gerade an Onlinespiele, wenn es einfach wäre Variablen auszulesen usw. könnte man sich ja prima Automatismen schreiben und spielen lassen... und ich wäre schon Pokermillionär

Geändert von applebirnen (17-01-2012 um 12:50 Uhr)
applebirnen ist offline   Mit Zitat antworten
Alt 17-01-2012, 13:21   #4 (permalink)
Inventar
 
Benutzerbild von Nightflyer
 
Registriert seit: Jul 2002
Beiträge: 6.882
Nein da hast du recht, andersrum geht natürlich nicht einfach so.

Was du machen kannst ist tatsächlich ein Bot der Tastatur- und Mausbewegungen aufzeichnet und dann automatisch wiedergibt
myAutoItBot
__________________
(\__/)
(='.'=)
(")_(")
Nightflyer ist offline   Mit Zitat antworten
Alt 17-01-2012, 13:42   #5 (permalink)
Flash-Designer
 
Benutzerbild von Martin Kraft
 
Registriert seit: May 2006
Ort: Wiesbaden
Beiträge: 6.162
Zunächstmal willkommen im FlashForum!
Zitat:
Zitat von applebirnen Beitrag anzeigen
ich habe keine Ahnung was FLash kann und was nicht, weiß daher nichtmal in welche Rubrik diese Anfrage rein muss. Evtl kann das jemand dorthin verschieben...
Ich hab's mal in den Bereich »Am Rande« verschoben und mit einem sinnvollen Titel versehen

Zitat:
Zitat von applebirnen Beitrag anzeigen
Ist es möglich auf Daten innerhalb eines Flash Plugins, dass im Browser läuft, von "aussen" zuzugreifen?
Jein!
  • Grundsätzlich sind bei einer SWF von außen (z.B. mit JS) nur die Schnittstellen ansprechbar, die (mittels ExternalInterface) intern bereitgestellt wurden.

  • Es gibt jedoch auch diverse Addons (z.B. FlashFireBug oder FlashBug), mit denen man auch zur Laufzeit in eine SWF reinschauen kann. Diese greifen jedoch entweder über den FlashPlayer-Debugger auf SWFs zu, bei denen das Debugging nicht deaktiviert wurde, und/oder setzen auf einem Decompiler auf.

  • Man könnte die gewünschte SWF auch in eine eigene hineinzuladen, und mit dieser dann auf deren Inhalte zuzugreifen. Neben dem Problem, die SWF innerhalb einer anderen zum Laufen zu bekommen (Pfade, Sicherheitseinstellungen, Schnittstellen), müssen die beiden SWFs dafür dieselbe AVM-Version verwenden (also beide AS1/2 oder AS3 sein) und in der selben Sicherheits-Sandbox laufen (was bei eim Local/Remote-Szenario nicht der Fall ist).

Vielleicht beschreibst Du uns einfach mal, was Du genau vorhast und weshlab es nicht möglich ist, in der gewünschen SWF entsprechende Schnittstellen einzurichten...?!
__________________
Viele Grüße // Martin

Martin Kraft // Interaktionsdesign

Hilfreiche Websites:
// Hilfe zur Adobe Flash Plattform
// ActionScript 2 Referenz
// ActionScript 3 Referenz
// ActionScript 3 Arbeitshandbuch
// weitere Flash Ressourcen

Bitte keine Flashfragen per PM oder Profilnachricht! Dafür ist das Forum da!

Geändert von Martin Kraft (17-01-2012 um 13:44 Uhr)
Martin Kraft ist offline   Mit Zitat antworten
Alt 17-01-2012, 13:46   #6 (permalink)
Keine Panik
 
Registriert seit: Apr 2010
Ort: Düsseldorf (im ernst)
Beiträge: 1.868
du willst also Daten in eine laufende SWF von außen injezieren; ohne dass die Anwendung das ursprünglich vorgesehen hat.

Moralisch führt das in eine "gefährliche" richtung; sprich das hacken einer fremden Anwendung.
Technisch sollte es möglich sein; schlieslich läuft das ganze auf deinem Computer, und in letzter Konsequenz kannst du dort alles manipulieren.

Ich frage mich, was genau du da vorhast, evtl gibt es da eine einfachere/bessere Lösung;

Ich hab da eine Idee wie man das evtl umsetzen könnte, ist aber noch nicht spruchreif.

Zitat:
Ich fürchte nur dass das wirklich nicht geht, denke gerade an Onlinespiele, wenn es einfach wäre Variablen auszulesen usw. könnte man sich ja prima Automatismen schreiben und spielen lassen... und ich wäre schon Pokermillionär
deshalb wird jedes Spiel, das auf Sicherheit an dieser Stelle wert legt, die Steuerlogik auf dem Server haben, und nicht in der swf.
Sprich Client sendet an den Server "das hab ich vor/das hab ich gemacht", der Server überprüft es, und meldet dann an den Client zurück was sache ist, bspw den tatsächlichen Spiel-/Punktestand, ob der Schuss den Gegner getroffen hat, und wiviel Schaden er angerichtet hat, etc.
Und der Server hat immer recht!
__________________
greetz Thomas

plz RTFM & Coding Conventions
thomas_E ist offline   Mit Zitat antworten
Alt 17-01-2012, 14:34   #7 (permalink)
Neuer User
 
Registriert seit: Jan 2012
Beiträge: 3
So wie thomas_E es formuliert ist es schon korrekt.

Ich versuche in eine fremde Applikation einzudringen über Wege die nicht vom Programmierer vorgesehen sind, deshalb entfallen Schnittstellen und Debugger usw.

Das eindringen beschränkt sich zwar auf das auslesen und einfügen von Text und drücken von Buttons, also keine anderen als die "vorgesehenen" Tätigkeiten mit der Applikation, allerdings bin ich hier vermutlich schon in einer rechtlichen Grauzone.

Ich sag euch noch worum es geht, bitte aber darum von weiteren Lösungsideen in dieser Richtung abzusehen um den Forenbetreiber nicht in Schwierigkeiten zu bringen.

Ich logge mich täglich (händisch) in mein Online Banking ein (Flash Applet).
Dann klicke ich zuerst aufs Girokonto, Umsätze anzeigen, Meldung wegklicken, als CSV herunterladen. Das mache ich mehrfach, also noch aufs Tagesgeld, dann noch Tagesgeld bei einer anderen Bank, usw.
Lese dann die heruntergeladenen CSVs ein, und fülle die Daten in mein Auswertungsprogramm.

Ich möchte nicht die üblichen Programme verwenden da meine Auswertungssoftware sehr speziell ist, da ist noch ein Warenwirtschaftssystem dran für ein Nebengewerbe, ich hab eigene Auswerttungen mit hübnschen Balken usw. - kurz: die normalen Bankprogramme (Lexware, Starmoney usw.) reichen mir nicht.
Und die normalen Schnittstellen um direkt an die Bank zu gehen sind mir zu aufwändig. Die bank API ist hunderte Seiten lang und vermutlich scheitere ich schon beim Schlüsselaustausch mit SSL und dem anschliessenden Handshake.
Es bietet sich also an einfach über den Browser zu gehen. Name, Pwd, Login, und drin

Ich werde es - eigenverantwortlich - wohl so lösen dass ich eine Recordersoftware verwende, die meine Aktionen aufzeichnet und wieder abspielt, um die ganzen Mausklicks zu automatisieren.
Leider werde ich das öfter anpassen müssen, denn natürlich können - von der Browserposition über Fenstergröße bis zu Layern in der Applikation selbst, die aus- und eingeklappt, und verschoben werden können, sich sämtliche Feldpositionen ändern.

Das ist sehr schade, aber ich fürchte eine andere Lösung gibts nicht dafür, jedenfalls nicht ohne tatsächlich zum Thema Hacking zu kommen.

Geändert von applebirnen (17-01-2012 um 14:39 Uhr)
applebirnen ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Flash CS3] Zahnräder greifen nicht richtig ineinander knuddelt Flash Einsteiger 4 18-11-2009 16:14
AS3 Movie Clip Instanz greifen Joe_ID ActionScript 3 3 23-02-2009 19:01
Skalierung soll nur auf sichtbaren Bereich greifen RhettButler ActionScript 2 3 09-04-2008 13:09
mehrere benutzer greifen auf eine flv-datei zu... reality Flash MX 2004 0 24-03-2004 17:34
effektiv Inhalte von außen einbinden Ginchilla Flash MX 2004 3 05-02-2004 15:54


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:14 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele