saturno
(saturno)
5 Marzec 2015 17:01
#1
Witam.
Jest sobie taka darmowa gra: Christmas Eve Crisis:
https://www.interactionstudios.com/platformselect.php?demo=CEC
Gra ma osobne wersje dla Linuksa i Windows.
W sumie nic dziwnego gdyby nie to że wśród procesów gry (wersja na Linuksa) pojawia się: game.exe
I to byłbym nawet w stanie przełknąć bo może coś musi uruchomić się przez wine.
Z tym że przeprowadziłem eksperyment na systemie Live-CD gdzie nie było zainstalowane wine.
Gra się normalnie uruchomiła, a wśród uruchomionych procesów pojawia się: game.exe.
Jak to możliwe że plik .exe uruchamiany jest bez użycia wine?
Pozdrawiam.
saturno
Jusko
(Jusko)
5 Marzec 2015 17:21
#2
Być może gra opakowana jest we wrapper (przykładowo jak Wiedźmin 2 czy System Shock 2).
roobal
(roobal)
5 Marzec 2015 17:24
#3
Tak samo jest z Teamviewer. Wine jest zaimplementowane w samej aplikacji. Nie musisz mieć zainstalowanego Wine, aby uruchomić aplkację. Sama aplikacja jest zintegrowana z Wine.
saturno
(saturno)
5 Marzec 2015 19:03
#4
@ roobal sam się zastanawiałem czy nie jest to zrobione w stylu Teamviewer lub Picasa jednak to nie możliwe żeby użyte tu było wine bo:
za mały rozmiar pliku instalatora
brak jakichkolwiek procesów wine
brak zapisów w licencji o użyciu wine
Przychodzi mi do głowy jeszcze że może ten plik ma tylko taką nazwę:
$ exiftool game.exe
ExifTool Version Number : 9.74
File Name : game.exe
Directory : .
File Size : 2.8 MB
File Modification Date/Time : 2014:02:19 12:22:30+01:00
File Access Date/Time : 2015:03:05 13:21:38+01:00
File Inode Change Date/Time : 2015:03:05 13:21:38+01:00
File Permissions : rwxr-xr-x
File Type : ELF executable
MIME Type : application/octet-stream
CPU Architecture : 32 bit
CPU Byte Order : Little endian
Object File Type : Executable file
CPU Type : i386
https://www.virustotal.com/pl/file/110014d89d4646ccb8d8d5c216ffa219595aa2db152758eac773105f0bdd4ff7/analysis/1425581006/
Inna sprawa to że w instalatorze zawarty jest plik: launcher i być może w nim jest odpowiedź (przedstawiłbym tu jego zawartość ale nie wiem czy nie łamałoby to licencji programu).
dragonn
(dragonn)
6 Marzec 2015 11:46
#5
Może po prostu to taka sobie nazwa pliku? Bez problemu możesz sobie na Linuksie nazwać binarkę z exe i ją odpalić i tak będzie widoczna w procesach.
EDIT
Sprawdź tak:
file ~/Pobieranie/winbox.exe
/home/dragonn/Pobieranie/winbox.exe: PE32 executable (GUI) Intel 80386 (stripped to external PDB), for MS Windows
file /usr/bin/cat
/usr/bin/cat: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=ff3ac31cb08289ca12976491bf7875480261a613, stripped
saturno
(saturno)
6 Marzec 2015 14:24
#6
$ file ~/Pliki/ChristmasEveCrisisInstaller110/game/game.exe
/home/tom/Pliki/ChristmasEveCrisisInstaller110/game/game.exe: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.15, BuildID[sha1]=d86c7b1fdf45dbc2123f856bca7b770693d989b2, stripped
$ wine ~/Pliki/ChristmasEveCrisisInstaller110/game/game.exe
wine: Zły format EXE dla J:\Pliki\ChristmasEveCrisisInstaller110\game\game.ex
e.
$ ldd ~/Pliki/ChristmasEveCrisisInstaller110/game/game.exe
linux-gate.so.1 (0xf77da000)
libSDL-1.2.so.0 => /usr/lib/i386-linux-gnu/libSDL-1.2.so.0 (0xf7704000)
libGL.so.1 => /usr/lib/i386-linux-gnu/libGL.so.1 (0xf7659000)
libm.so.6 => /lib/i386-linux-gnu/i686/cmov/libm.so.6 (0xf7612000)
libc.so.6 => /lib/i386-linux-gnu/i686/cmov/libc.so.6 (0xf7468000)
/lib/ld-linux.so.2 (0xf77dd000)
libpthread.so.0 => /lib/i386-linux-gnu/i686/cmov/libpthread.so.0 (0xf744c000)
libasound.so.2 => /usr/lib/i386-linux-gnu/libasound.so.2 (0xf7344000)
libdl.so.2 => /lib/i386-linux-gnu/i686/cmov/libdl.so.2 (0xf733f000)
libpulse-simple.so.0 => /usr/lib/i386-linux-gnu/libpulse-simple.so.0 (0xf7338000)
libpulse.so.0 => /usr/lib/i386-linux-gnu/libpulse.so.0 (0xf72e0000)
libX11.so.6 => /usr/lib/i386-linux-gnu/libX11.so.6 (0xf718e000)
libXext.so.6 => /usr/lib/i386-linux-gnu/libXext.so.6 (0xf7179000)
libdirectfb-1.2.so.9 => /usr/lib/i386-linux-gnu/libdirectfb-1.2.so.9 (0xf70eb000)
libfusion-1.2.so.9 => /usr/lib/i386-linux-gnu/libfusion-1.2.so.9 (0xf70df000)
libdirect-1.2.so.9 => /usr/lib/i386-linux-gnu/libdirect-1.2.so.9 (0xf70c6000)
libcaca.so.0 => /usr/lib/i386-linux-gnu/libcaca.so.0 (0xf6ffa000)
libexpat.so.1 => /lib/i386-linux-gnu/libexpat.so.1 (0xf6fd1000)
libglapi.so.0 => /usr/lib/i386-linux-gnu/libglapi.so.0 (0xf6fb8000)
libXdamage.so.1 => /usr/lib/i386-linux-gnu/libXdamage.so.1 (0xf6fb3000)
libXfixes.so.3 => /usr/lib/i386-linux-gnu/libXfixes.so.3 (0xf6fac000)
libX11-xcb.so.1 => /usr/lib/i386-linux-gnu/libX11-xcb.so.1 (0xf6fa9000)
libxcb-glx.so.0 => /usr/lib/i386-linux-gnu/libxcb-glx.so.0 (0xf6f8f000)
libxcb-dri2.so.0 => /usr/lib/i386-linux-gnu/libxcb-dri2.so.0 (0xf6f89000)
libxcb-dri3.so.0 => /usr/lib/i386-linux-gnu/libxcb-dri3.so.0 (0xf6f84000)
libxcb-present.so.0 => /usr/lib/i386-linux-gnu/libxcb-present.so.0 (0xf6f80000)
libxcb-sync.so.1 => /usr/lib/i386-linux-gnu/libxcb-sync.so.1 (0xf6f79000)
libxcb.so.1 => /usr/lib/i386-linux-gnu/libxcb.so.1 (0xf6f53000)
libxshmfence.so.1 => /usr/lib/i386-linux-gnu/libxshmfence.so.1 (0xf6f50000)
libXxf86vm.so.1 => /usr/lib/i386-linux-gnu/libXxf86vm.so.1 (0xf6f48000)
libdrm.so.2 => /usr/lib/i386-linux-gnu/libdrm.so.2 (0xf6f39000)
librt.so.1 => /lib/i386-linux-gnu/i686/cmov/librt.so.1 (0xf6f30000)
libpulsecommon-5.0.so => /usr/lib/i386-linux-gnu/pulseaudio/libpulsecommon-5.0.so (0xf6eae000)
libcap.so.2 => /lib/i386-linux-gnu/libcap.so.2 (0xf6ea7000)
libjson-c.so.2 => /lib/i386-linux-gnu/libjson-c.so.2 (0xf6e9b000)
libdbus-1.so.3 => /lib/i386-linux-gnu/libdbus-1.so.3 (0xf6e45000)
libslang.so.2 => /lib/i386-linux-gnu/libslang.so.2 (0xf6d15000)
libncursesw.so.5 => /lib/i386-linux-gnu/libncursesw.so.5 (0xf6cd9000)
libtinfo.so.5 => /lib/i386-linux-gnu/libtinfo.so.5 (0xf6cb5000)
libz.so.1 => /lib/i386-linux-gnu/libz.so.1 (0xf6c98000)
libXau.so.6 => /usr/lib/i386-linux-gnu/libXau.so.6 (0xf6c94000)
libXdmcp.so.6 => /usr/lib/i386-linux-gnu/libXdmcp.so.6 (0xf6c8e000)
libICE.so.6 => /usr/lib/i386-linux-gnu/libICE.so.6 (0xf6c71000)
libSM.so.6 => /usr/lib/i386-linux-gnu/libSM.so.6 (0xf6c66000)
libXtst.so.6 => /usr/lib/i386-linux-gnu/libXtst.so.6 (0xf6c5e000)
libsystemd.so.0 => /lib/i386-linux-gnu/libsystemd.so.0 (0xf6c35000)
libwrap.so.0 => /lib/i386-linux-gnu/libwrap.so.0 (0xf6c2b000)
libsndfile.so.1 => /usr/lib/i386-linux-gnu/libsndfile.so.1 (0xf6bb2000)
libasyncns.so.0 => /usr/lib/i386-linux-gnu/libasyncns.so.0 (0xf6baa000)
libattr.so.1 => /lib/i386-linux-gnu/libattr.so.1 (0xf6ba4000)
libuuid.so.1 => /lib/i386-linux-gnu/libuuid.so.1 (0xf6b9e000)
libXi.so.6 => /usr/lib/i386-linux-gnu/libXi.so.6 (0xf6b8b000)
liblzma.so.5 => /lib/i386-linux-gnu/liblzma.so.5 (0xf6b62000)
libgcrypt.so.20 => /lib/i386-linux-gnu/libgcrypt.so.20 (0xf6ab0000)
libresolv.so.2 => /lib/i386-linux-gnu/i686/cmov/libresolv.so.2 (0xf6a99000)
libnsl.so.1 => /lib/i386-linux-gnu/i686/cmov/libnsl.so.1 (0xf6a80000)
libFLAC.so.8 => /usr/lib/i386-linux-gnu/libFLAC.so.8 (0xf6a49000)
libvorbisenc.so.2 => /usr/lib/i386-linux-gnu/libvorbisenc.so.2 (0xf69ba000)
libgpg-error.so.0 => /lib/i386-linux-gnu/libgpg-error.so.0 (0xf69a5000)
libogg.so.0 => /usr/lib/i386-linux-gnu/libogg.so.0 (0xf699c000)
libvorbis.so.0 => /usr/lib/i386-linux-gnu/libvorbis.so.0 (0xf696f000)
~/Pliki/ChristmasEveCrisisInstaller110/game/game.exe
Ostatnie polecenie uruchamia grę czyli jednak żaden to plik exe!
Czyli nici z odkrycia alternatywnego sposobu uruchamiania programów z Windows :beksa:
Ktoś nazywając tak plik miał fantazję lub chorobliwe przyzwyczajenia z systemu m$.
Dziękuję za pomoc.
Pozdrawiam.
saturno