Patchuvaní ClassiCube binárek pre prihlasuvaní cez HTTP
Posted: Tue Jul 23, 2024 6:00 pm
Počas baterkových experimentov na vyfasuvanom MacBooku 2006 som dostal chuť vyprobuvať ClassiCube z dóvodu zvedavosti, že jak moc dobre ten klient vóbec ide na 32bitovom 2GHz Core Duo s GMA950 grafikou.
Priznám sa, nevím už čil úplne presne že jak to prihlasuvaní funguvalo kedysi. Každopádne ale stránka ide na http furt, za čo celý ClassiCube tím furt chválim že to udržujú živé. Narozdíl od toho je https nastavené na minimálne TLSv1.0 ale logicky funguje už iba s vynúteným certifikátom v browseroch z dóvodu že ISRG Root X1 certifikát bohužál na šeckých starých systémoch chýba.
V tomto istom prípade nejde sťáhnutý klient na všetkých starých platformách prihlásiť na ClassiCube servery a tým pádom sa nedá ani prihlásiť na servery keré idú iba s autentifikáciou cez ClassiCube. To lepšejšé ríšení problému by bolo teoreticky primontuvať OpenSSL jak robí napríklad Discord Messenger a Discord Lite, možno dohodiť certifikát a dohovoriť mu aby ho zežral alebo potenciálne iba voláko zapať insecure mode aby nekontroluval certifikáty.
Funkčnou ale né zrovna najlepšou alternatívou je ešte otvorení server listu ze stránky v browseri, skopíruvaní direct linku na želaný server a manuálne rozložení mc://<IP>:<port>/<username>/<Mppass> adresy do direct connectu v klientovi.
Poslennou možnosťou sa nám ale naskytá príležitosť prehodiť URL adresu pre ClassiCube API keré zaťál furt udržujú živé aj v http režime. Dosť pravdepodobne možno aj z dóvodu rozsáhlej platformovej podpory za kerú sa v čase písaňá vlákna fakt hanbiť nemosá.
Dosť bolo omáček, čil k patchu:
Táto problematika sa dá teda vyríšiť velice spósobom kedy sa binárka klienta otvorí báraj v TextEdite, nájde sa rádek v kerom sa nachádza:
Tento rádek treba upraviť tak, aby v ňom nebolo https ale iba http. Toť táto zmena ale samotná nestačí lebo ináč pokus o pustení binárky končí "Malformed Mach-o file" chybou. Na porádnejší ofajč treba ten jeden chýbajúci znak narvať do binárky naspák a najlepším místom na dorvaní znaku je časť adresy kde sa koná substitúcia s %s. Toť túto časť stačí jennoducho upraviť tak, aby tam bolo o percento navyše, binárku uložiť a je po probléme.
Výslenná opatchuvaná adresa v prípade toť tejto binárky je následovná:
Po pustení binárky móžeme narvať do klienta prihlasuvacé údaje a dať to prihlásiť, ak sa šecko podarilo a volačo sa náhodou medzi aktuálnym časom a časom písaňá vlákna nemenilo tak by malo prihlasuvaní a pripájaní na servery funguvať. Horšé je to samozrejme potom s texture packmi na samotných serveroch keré vačšinou hostujú na dropboxoch a iných službách, takže to treba prežiť bez týchto srandičék.
A toť na screenshote nižší videť že klient pekne probuje http api adresu a našťastí nekončí vyplakávaním o chybe.
Priznám sa, nevím už čil úplne presne že jak to prihlasuvaní funguvalo kedysi. Každopádne ale stránka ide na http furt, za čo celý ClassiCube tím furt chválim že to udržujú živé. Narozdíl od toho je https nastavené na minimálne TLSv1.0 ale logicky funguje už iba s vynúteným certifikátom v browseroch z dóvodu že ISRG Root X1 certifikát bohužál na šeckých starých systémoch chýba.
V tomto istom prípade nejde sťáhnutý klient na všetkých starých platformách prihlásiť na ClassiCube servery a tým pádom sa nedá ani prihlásiť na servery keré idú iba s autentifikáciou cez ClassiCube. To lepšejšé ríšení problému by bolo teoreticky primontuvať OpenSSL jak robí napríklad Discord Messenger a Discord Lite, možno dohodiť certifikát a dohovoriť mu aby ho zežral alebo potenciálne iba voláko zapať insecure mode aby nekontroluval certifikáty.
Funkčnou ale né zrovna najlepšou alternatívou je ešte otvorení server listu ze stránky v browseri, skopíruvaní direct linku na želaný server a manuálne rozložení mc://<IP>:<port>/<username>/<Mppass> adresy do direct connectu v klientovi.
Poslennou možnosťou sa nám ale naskytá príležitosť prehodiť URL adresu pre ClassiCube API keré zaťál furt udržujú živé aj v http režime. Dosť pravdepodobne možno aj z dóvodu rozsáhlej platformovej podpory za kerú sa v čase písaňá vlákna fakt hanbiť nemosá.
Dosť bolo omáček, čil k patchu:
Táto problematika sa dá teda vyríšiť velice spósobom kedy sa binárka klienta otvorí báraj v TextEdite, nájde sa rádek v kerom sa nachádza:
Code: Select all
https://www.classicube.net/api%s/
Tento rádek treba upraviť tak, aby v ňom nebolo https ale iba http. Toť táto zmena ale samotná nestačí lebo ináč pokus o pustení binárky končí "Malformed Mach-o file" chybou. Na porádnejší ofajč treba ten jeden chýbajúci znak narvať do binárky naspák a najlepším místom na dorvaní znaku je časť adresy kde sa koná substitúcia s %s. Toť túto časť stačí jennoducho upraviť tak, aby tam bolo o percento navyše, binárku uložiť a je po probléme.
Výslenná opatchuvaná adresa v prípade toť tejto binárky je následovná:
Code: Select all
http://www.classicube.net/api%%s/
Po pustení binárky móžeme narvať do klienta prihlasuvacé údaje a dať to prihlásiť, ak sa šecko podarilo a volačo sa náhodou medzi aktuálnym časom a časom písaňá vlákna nemenilo tak by malo prihlasuvaní a pripájaní na servery funguvať. Horšé je to samozrejme potom s texture packmi na samotných serveroch keré vačšinou hostujú na dropboxoch a iných službách, takže to treba prežiť bez týchto srandičék.
A toť na screenshote nižší videť že klient pekne probuje http api adresu a našťastí nekončí vyplakávaním o chybe.