środa, 25 czerwca 2008

Hakowanie Adobe AIR

Czasami padają pytanie jak uruchamiać Adobe AIR na CD/DVD/USB nie naruszając warunków dystrybucji silnika opisane w ich FAQ.

Po pierwsze trzeba zrozumieć jak wygląda instalacja silnika Adobe AIR. Z strony Adobe pobiera się plik AdobeAIRInstaller.exe. Silnik Adobe AIR zawsze instaluje się w tym folderze:
C:\Program Files\Common files\Adobe AIR\Versions\1.0
z następującymi plikami:

Adobe AIR Application Installer.exe
Adobe AIR Application Installer.swf
Adobe AIR Updater.exe
Adobe AIR.dll
Adobe Root Certificate.cer
airappinstaller.exe
digest.s
NPSWF32.dll
setup.swf
template.exe
template.msi
Thawte Root Certificate.cer
WebKit.dll

Rdzeniem silnika są pliki: WebKit.dll, NPSWF32.dll, Adobe AIR.dll.
Ale po zainstalowaniu silnika można zauważyć, że pliki *.air mają charakterystyczną ikonką. Najważniejsze to jest to, że pliki AIR są archiwami typu zip.
Po rozpakowaniu można zauważyć, że mają one odpowiednią strukturę.

aplikacja.swf
mimetype
icons/
air_16.png
air_32.png
air_48.png
air_128.png
META-INF/
AIR/
application.xml
hash
publisherid
signatures.xml

Ale po uruchomieniu pliku *.air zaczyna się proces instalacji, który polega na tym że plik airappinstaller.exe rozpakowuje zawartość *.air do określonego katalogu, a następnie wstawia plik template.exe pod odpowiednia nazwą do katalogu w którym jest rozpakowana zawartość. Przy tej okazji wprowadza też wpisy do rejestru o zainstalowaniu tej aplikacji oraz skróty. Plik temaplate.msi jest tylko potrzebny, po to żeby zrobić deinstalator aplikacji (tylko nie wiem gdzie go wstawia w systemie). Plik template.exe jest wrapperem, który ma za zadanie załadować biblioteki silnika, zinterpretować plik application.xml oraz uruchomić stos TCP/IP danego systemu operacyjnego (np: do obsługi cookie).

Natomiast gdyby komuś zależało na uruchomieniu aplikacji AIR niezależnie od silnika to możne uruchomić aplikację AIR używając debuggera adl z AIR SDK w tej sytuacji można samu napisać plik wsadowy/skrypt/program do uruchomienia aplikacji AIR z adl.

Osadzanie aplikacji AIR wraz z plikami silnika AIR jest zabronione. Ale połączenie aplikacji AIR z zawartością AIR SDK nie jest zabronione i w tej sytuacji można pokusić się o napisanie archiwum wykonywalnego które jest archiwum plików AIR SDK z plikami aplikacji AIR. W razie czego warto napisać do Adobe prośbę o udzielenie licencji na dystrybucję silnika AIR wraz z aplikacją AIR na nośnikach.

Aplikacje AIR poza katalogiem instalacyjnym, używają też specjalnego katalogu w którym przechowywane są zaszyfrowane dane C:\Documents and Settings\root\Dane aplikacji\Adobe\AIR\nazwa_aplikacji_AIR\ Przeważnie są to pliki typu:
PrivateEncryptedData

Brak komentarzy: