|
SWiSH Forum Forum użytkowników programów SWiSH |
|
SWiSH Max - Ładowanie hakowanych swf.
Pavlik - Wto 03 Lip, 2012 16:13 Temat postu: Ładowanie hakowanych swf. Problem następujący:
Główny plik swf (strona internetowa) oraz 6 kopii jednej galerii swf (auto viewer http://www.simpleviewer.net/autoviewer/app/ ) ładowanych w trakcie trwania filmu w jednej z zakładek. Jako że nie można ładować plików html do klipu wewnątrz swf strony internetowej ładują się bezpośrednio swfy.
Ze względu na ograniczenia (6 kopii galerii musi mieć plik xml w tym samym katalogu o takiej samej nazwie (info tn obramowania i lokalizacji zdjęć) więc musiałem hakować linki w plikach swf każdej z 6 galerii do zmienionych indywidualnie wcześniej nazw xml'ów. SWF Investigator był nieoceniony. Dekompresja, zmiana nazwy i zapis z kompresją.
Każda galeria otwiera się poprawnie odpalana osobno jak i wewnątrz flasha w klipie z tym że w tym drugim tylko w jednej sesji. Nieważne która otworzę - wszystko jest OK aby za każdym razem odświeżyć stronkę. Gdy tego nie zrobię każda kolejno otworzona galeria otwiera zdjęcia z tej za pierwszym razem klikniętej.
Początkowo myślałem że jest problem z xml'ami które mają to do siebie że ciężko się odświeżają. Zmiana rozszerzenia wewnątrz pliku swf jak i nazwy pliku xml nie pomogła. Pomogła natomiast podmiana pliku na zupełnie inny swf (jakiś banner) oraz zastąpienie jednej z 6 galerii inną (simple viewer). Inne pliki się ładują a z klonami dalej problem.
Nie jestem wielkim specjalistą więc z początku myślałem że problemem może być wielkość plików ale to chyba nie tędy droga. Być może pliki swf mają jakieś swoje ID i główny flash wczytuje ponownie ten bo widzi że jest taki sam. Do połowy te 6 plików galerii ze zmodyfikowanymi linkami są takie same i okrutnym będzie szukać tego być może jednego bajta. Darmowa wersja jak i ta PRO nawet mieszane powodują ten sam problem.
Dodam tylko że znajomy chce mieć tą a nie inną galerie i ma ona otwierać się we flashu. W programie SWF Investigator nie jestem w stanie zmienić wersji flasha a nie ma udostępnionego pliku swi przez twórcę galerii bo możliwe że to by pomogło...
Dodam jeszcze że próbowałem dać zmienne get i post z dysku czy serwera ale nie przyniosło to rezultatów.
Tak wygląda czasówka wewnątrz kontenera:
Kod: | onFrame (39) {
stop();
}
onFrame (40) {
loader.loadMovie("kuchnia.swf");
}
onFrame (60) {
loader.loadMovie("laziena.swf");
}
onFrame (80) {
loader.loadMovie("pokojee.swf");
}
onFrame (100) {
loader.loadMovie("wnetrza.swf");
}
onFrame (120) {
loader.loadMovie("resztaa.swf");
}
onFrame (140) {
loader.loadMovie("ogrodyy.swf");
}
onFrame (59) {
stop();
}
onFrame (79) {
stop();
}
onFrame (99) {
stop();
}
onFrame (119) {
stop();
}
onFrame (139) {
stop();
}
onFrame (160) {
stop();
} |
a tak przycisk zamknij
Kod: | on (press) {
loader.unloadMovie();
} |
Czekam na odpowiedzi.
Z góry dziękuję bo problem zdaje się jest trudny.
bidon184 - Wto 03 Lip, 2012 18:35
znaczy z tego co ja widze(moze źle widze ) klipy ładowane sa i tak wszystkie naraz,moim skromnym zdaniem,należałoby rozdzielc sekwencje "loader" np w taki sposob zeby zrobic pusty klip,przeniesc go do nastepnego klipa,w nazwie instancji dac nazwe np loader 1 w as umiescic np
loader1.loadMovie(this._url.slice(0, this._url.lastIndexOf("/")) + "/kuchnia.swf");
stop ();
i tak z kazdym poszczgólnym klipem ładowania,w tedy na bank kazdy swf bedzie ładowany tylko w tedy gdy klikniesz w odpowiedni button akcji
Pavlik - Wto 03 Lip, 2012 19:11
Miałem też po kliknięciu (w niczym to nie pomagało) ale był problem z pojawianiem sie przycisku zamknij (bo niby kiedy miałby się pojawiać a w skryptach nie jestem zbyt dobry) dlatego zorganizowałem to w czasie klipu. Wszystkie na raz się nie ładują. Tylko te które są na osi czasu - reszta ma usuń.
W zalączniku zmodyfikowane pliki galerii + xml. Komuś się uda je zainicjować w jednej scenie by ładowały się - każdy ze swojego przycisku?
bidon184 - Sro 04 Lip, 2012 17:01
słuchaj ja to pobrałem ,ale to jest masakre,te twoje "hackowanie" to sorki ale to jest jeden wielki burdelik co to niby ma byc
gdzie nazwy w xml są inne ,posprzątaj w tym,a same ładowanie zrob tak jak napisałem wczesniej ,musi chodzić
eden - Sro 04 Lip, 2012 18:06
bidon184 nie zgodzę się z Tobą. Pavlik napisał że niema plików źródłowych, więc nie moża wygodnie wprowadzać żadnych wielkich zmian. O ile słowo 'hackowanie' to za dużo powiedziane, to wyraźnie widać że pozmieniał ścieżki xml w każdej z kopi galerii (kuchnia.xml, itd itd) poprzez rekompilacje jakimś tam narzędziem. Powodem dlaczego to nie działa jest konstrukcja samej galerii. Podczas pierwszego ładowania galeria tworzy sobie wszystkie potrzebne składniki (zmienne, tablice, konstruktory, obiekty oraz movieclipy) w różnych miejscach swf. Prawdopodobnie część na _root swfu część jako globalne zmienne oraz część pod adresem com.airtightinteractive.apps.viewers.autoViewer. Z tego powodu od ładowanie galerii z klipu "loader1" i załadowanie innego niewiele pomaga, ponieważ wszystkie zmienne już zostały zainicjowane, nie zostały usunięte i pamiętają swój stan. Nie jest to problem konstrukcji url czy cache. żeby to rozwiązać musiał byś wymusić ponowną inicjalizacje galerii przy ładowaniu. Znajdź adresy najważniejszych elementów po których skrypt galerii decyduje o tworzeniu jej na nowo, po ich skasowaniu powinno wszystko śmigać.
bidon184 - Sro 04 Lip, 2012 19:35
a ja sie z toba nie zgodze (mam nadzieje ze zostanie to odebrane jako dyskusja,a nie zdanie typu "mam racje i już"),ale to moje zdanie
Pavlik - Czw 05 Lip, 2012 07:22
Nazwy xml są inne w każdym pliku. Nie wiem jak patrzyłeś ale zdaje się że sam masz burdelik. W załączniku masz zrzut z ekranu z innego pliku. Dlatego dzikie nazwy jak pokojee.xml by nie ruszać bajtów których zresztą i tak nie mogłem usunąć w tym programie.
@eden - czy jesteś w stanie podpowiedzieć co konkretnie trzeba zmienić? Na razie galerie otwierają się na zewnątrz w nowym oknie.
eden - Czw 05 Lip, 2012 13:46
Tak jak pisałem wcześniej, kod ActionScript tej galerii jest współdzielony, dlatego opcje ustawione w jednym swf'ie galerii będą oddziaływały na inny. Oznacza to że wystarczy ci jeden plik galerii (np "kuchnia.swf") do załadowania różnych zdjęć. Wystarczy, że znajdziemy i zmienimy ścieżkę xml wewnątrz obiektów. Tak jak to zrobiłem w poniższym przykładzie:
galleryExploitbyEden.swf
Pavlik - Czw 05 Lip, 2012 16:24
Tys wielkim wojem!
Poradziłem sobie!
Nie sądziłem że w trakcie ładowania czegokolwiek można jeszcze coś po drodze zmienić z pliku ładowanego - niby nie otwieralnego.
Dziekuję!
W weekend wolna głowa
|
|