Jump to content

Recommended Posts

Hej, ostatnio mój kolega zwrócił moją uwagę na komunikaty DSMOS podczas bootowania. Kiedy pojawia się "Waiting for DSMOS" bootowanie staje na jakieś 8-10s. Pomyslałem że usunę kext ze S/L/E i faktycznie w tym miejscu bootowanie nie przystaneło ale OSX nie chciał potem wstać(po trybie verbose czrny ekran). Więc chciałbym się zapytac was czy jest jakis sposób na kommunikaty DSMOS?

Share this post


Link to post
Share on other sites

NIe wywaliłem na pałę :>, chciałem sprawdzić czy zabootuje bez "DSMOS.kext"(przywróciłem go terminalem na swoje miejsce i znów bootuje). PM działa (wszystkie stany + turbo), AGPM odpalone, najnowszy fakesmc. 

Share this post


Link to post
Share on other sites

Nie ma żadnego sposobu, pewnie się nawet się nie spodziewasz, do czego służy DSMOS :-) - pokrótce wyjaśnię.

Inżynierowie z Apple od razu podejrzewali, że po przepisaniu Mac OS Xa na x86 pojawi się temat hackintoshy i oczywiście chcieli tego uniknąć. W związku z tym wymyślili, że co ważniejsze komponenty systemu (między innymi Dock, Finder, SystemUIServer) zaszyfrują algorytmem AES z użyciem pewnego klucza, który będzie zapisany w SMC. Przy starcie systemu na Macintoshu Dont Steal Mac OS X.kext pobierze klucz i rozszyfruje zabezpieczone binarki, a przy starcie na PC nie da rady, bo nie ma tam układu SMC.

 

Pomysł niezły, ale w praktyce odczytanie klucza nie było specjalnie dużym problemem, brzmi on:

ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc

Mając już go do dyspozycji, powstały takie rozwiązania jak DSMOS.kext albo AppleDecrypt.kext. Oryginalnego kexta wrzucało się na blacklistę, a one zajmowały się rozszyfrowaniem - z tym, że miały one zamknięty kod źródłowy, w niektórych krajach były niezgodne z prawem jako łamiące zabezpieczenia, a poza tym wymagały ingerencji w system, co zawsze może powodować jakieś problemy.

Tak było do czasu opracowania przez netkasa FakeSMC.kext, czyli otwartoźródłowego programowego emulatora układu SMC. Przy jego użyciu rozszyfrowanie jest realizowane przez oryginalny kext Apple, który z emulowanego SMC odczytuje klucz. Takie jest najważniejsze i początkowe zastosowanie FakeSMC, później doszło jeszcze monitorowanie temperatur, napięć, itd.

 

A komunikaty Waiting for DSMOS i DSMOS has arrived pojawia się właśnie w czasie tej procedury.

 

PS

Jakby ktoś był zainteresowany, tu jest dyskusja na naszym forum właśnie po ukazaniu się pierwszej wersji FakeSMC: http://hamac.pl/topic/667-fakesmc-opensource-smc-emulator/

Ciekawe wrażenie jak tak poczytać o czymś, co obecnie jest standardem, a kilka lat temu zastanawialiśmy się, czy będzie w ogóle możliwe.

Share this post


Link to post
Share on other sites

To był drugi duży i istotny przełom w OSx86. Pierwszy też w dużej mierze dokonał netkas tworząc PC_EFI (później tę sposób rozwinął chameleon) - które jako pierwsze pozwoliło na uruchomienie OS X BEZ konieczności podmiany kernela na hackintosowy... bo do czasu PC_EFI kernel ZAWSZE trzeba było podmienić. 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.