Kaikki ajat ovat UTC + 2 tuntia [ DST ]




 Sivu 1/3 [ 54 viestiä ]  Mene sivulle 1, 2, 3  Seuraava
Kirjoittaja Viesti
 Viestin otsikko: Diagbox Windows 10:ssä!
ViestiLähetetty: 04.04.2016 19:04 
Käyttäjän avatar

Viestit: 2666
Sitruunapatonki on jälleen ensimmäisenä maailmassa asialla. Ystävät ja Veljet, pureudutaan tänään pintaa syvemmälle asiaan „Diagbox/Lexian toiminta ja asennus Windows 10-tablettiin“.

Mitäh. Miksi? Onko tämä joku provo taas? Eikä riitä, että asennellaan maailman loppuun asti kulahtaneisiin, tuhiseviin Windows XP-läppäreihin tai konstikkaisiin VirtualBox-ympäristöihin Lexiaa ja turataan siellä kyllästymiseen tai kovalevyn hajoamiseen asti? Miksi ei voisi kuluttaa päiväänsä yrittämällä löytää huutonetistä toimivia 32-bittisiä Windows 7- tai Windows 8-läppäreitä, jossa Diagbox hyvällä tuurilla EHKÄ myöskin toimii? Miksi lähteä pelehtimään Windows 10:n kanssa, kun jo Diagboxin ohjerivillä lukee ihan PSA:n itsensä kirjoittamana „Do NOT upgrade to Windows 10!“, huutomerkillä?

Siksi, että miehen pitää tehdä asioita jotka olivat ennen mahdottomia. „To boldly go where no man has gone before“. Annettua teemaa on foorumeilla todisteltu mahdottomaksi kerrasta toiseen. Joku on saanut kamalan äheltämisen jälkeen Windows 10-läppärissä natiivisti Diagboxin pyörimään, ja sekin on tehty kikka kuutosilla jotka ovat tabletissa mahdottomia (miksi näin, selviää alempana).

Toisekseen, allaoleva ja tuleva harvinaislaatuinen kirjoitus avaa myös maallikoille tätä mestareiden salattua softamaailmaa.

Välihuomio: Kaikki alla kuvattava Takaisinmallinnus (reverse engineering) on tehty pelkästään tutkimustarkoituksessa, ilman tarkoitusta kaupalliseen hyötymiseen. Kaikki testit on tehty virallista isolla rahalla ostettua Diagboxia käyttäen, tarkoituksena pelkästään saada laillisesti ostettu Diagbox käyttöön myös Windows 10-tabletissa. Se että allaoleva menetelmä todennäköisesti toimii myös Kiina-versioissa, ei ole tutkimustyön kannalta oleellinen nyanssi. Tulee myös muistaa että tässä ei millään tavalla huijata tai muuteta Diagboxin kopiointisuojausmenetelmää, eikä paljasteta siitä olennaista tietoa joka ei olisi jo muuten yleisesti tiedossa, kyseessä on pelkästään Diagboxin yhteensopivuusongelman Windows 10:n kanssa tutkiminen ja korjaaminen itse Diagboxia muuttamatta. Kuvattu menetelmä on siten laillista EU-direktiivin 2009/24/EC, pykälän 15 mukaisesti:
„The unauthorised reproduction, translation, adaptation or transformation of the form of the code in which a copy of a computer program has been made available constitutes an infringement of the exclusive rights of the author. Nevertheless, circumstances may exist when such a reproduction of the code and translation of its form are indispensable to obtain the necessary information to achieve the interoperability of an independently created program with other programs. It has therefore to be considered that, in these limited circumstances only, performance of the acts of reproduction and translation by or on behalf of a person having a right to use a copy of the program is legitimate and compatible with fair practice and must therefore be deemed not to require the authorisation of the rightholder. An objective of this exception is to make it possible to connect all components of a computer system, including those of different manufacturers, so that they can work together. Such an exception to the author's exclusive rights may not be used in a way which prejudices the legitimate interests of the rightholder or which conflicts with a normal exploitation of the program.“

No niin, määritellään siis tutkimustyön tavoite:

Halutaan saada Diagbox/Lexia toimimaan halvassa Windows 10-tabletissa, esimerkiksi tällaisessa:
http://www.gigantti.fi/product/tietokon ... 32-gb-valk

Tehtävänasettelu on siis selvä. Ostetun tabletin ja pikaisen kokeilun jälkeen selviää, että pelkkä asennuksen käynnistyskään ei ole aivan yksinkertaista. Acerissa on vain yksi micro-usb-liitin, siihen ulkoinen DVD-asema tökättäessä asennus toppaa alkumetreilleen ilmoittaen „Connect charger to continue installation“, eli asennusta ei voi suorittaa ellei läppäri (tässä tapauksessa tabletti) ole verkkovirrassa sen saman liittimen kautta. No, tämä on helppo nakki – kopioidaan DVD:n iso-tiedosto vaikka muistikepiltä tabletin työpöydälle, ja mountataan se. Mount-ominaisuushan on ISO-imageille Windows 10:ssä sisäänrakennettuna. Sitten laite laturiin ja mountatulta imagelta setup käyntiin!

Kuten arvattavissa olikin, asennus sujuu normaalisti kunnes sitten tökkää siihen tuttuun „Activation error 0“-viestiin käyttäjätunnuksen syöttämisen jälkeen. Tämä oli odotettavissa; hajanaisissa kommenteissa joita eri foorumeilta löytää on mainittu että Diagbox käyttää identifioidakseen tietokoneen fyysistä (langallista) verkkokorttia sekä IDE-kiintolevyn identifiointitietoja. No, tabletissa ei ole niin fyysistä verkkokorttia (se on pelkkä chippisettiin integroitu Wifi) kuin IDE-kiintolevyäkään.

Tuohon IDE-kiintolevyn puutteeseen se tökkää muuten Windows 8:sta alkaen läppäreissäkin, niin Windows 8 kuin kymppi pitää saada installoitua IDE-tyypin kovalevylle että tuo aktivointi toimisi. Ja uusimmissa ja pienimmissä läppäreissä ei sitä mahdollisuutta edes ole olemassa enää, vakiona nuo uudemmat Windowsit tulevat aina AHCI-levylle (IDE:n uudempi korvaaja) asennettuna.

Jo aikaisemmin olen todennut, että fyysisen verkkokortin sensijaan voi Diagboxin asennusta varten korvata kikka kuutosella: Control Panel -> Install Legacy Hardware -> Network cards -> Microsoft Loopback Adapter. Se luo koneeseen eräänlaisen virtuaalisen fyysisen (heh) verkkokortin, joka kelpaa Diagboxin lisenssimanagerille. Tuntuu loogiselta että tämä sama menetelmä toimii myös Windows 10-tabletissa.

Mutta mitenkäs tuo IDE-levy, sehän tarvitaan lisenssin identifiointiin, muuten ei diagbox koskaan hörähdä käyntiin? Acerin BIOS-menusta (power-upissa Volume+ ja power -nappulat yhtä aikaa alhaalla) näkee, että koko kone ei tue mitään muuta kui AHCI-levyjä, joten teoreettinenkin mahdollisuus muuttaa jokin kovalevypartitio IDE-levyksi on mahdotonta.

Löytyisiköhän jostain simulaattoria, joka simuloisi IDE-levyä ACHI-koneessa? Ettei tarvisi ruveta reverse engineering – savottaan?

jatkuu...

Liitteet:
tiakpoks.jpg
tiakpoks.jpg [ 78.02 KiB | Katsottu 31958 kertaa ]



Miehellä on elämässään yksi suuri valinta; harrastaako huonoja naisia vai huonoja autoja.
Poissa
   
 
 Viestin otsikko: Re: Diagbox Windows 10:ssä!
ViestiLähetetty: 04.04.2016 19:09 

Viestit: 944
Paikkakunta: Vihti
Itse en ainakaan saanut toimimaan edes perus w10:ssä läppärissä, vaikka itse sovellus asentuikin ja aktivoitui sekä tunnisti itse kaapelin niin lexia / pp2000 osuus kieltäytyi käynnistymästä. en jaksanut tuolloin enempää aihetta sitten tutkia. Sama homma 64bittisessä w7:ssa

IDE levyä mulla ei ole ollut varmaan 10:een vuoteen missään koneessa...


Poissa
   
 
 Viestin otsikko: Re: Diagbox Windows 10:ssä!
ViestiLähetetty: 04.04.2016 19:52 
Käyttäjän avatar

Viestit: 2666
...jatkuu:

Ensimmäiseksi pitää luoda tablettia vastaava mutta otollisempi testiympäristö, jossa pääsee kokeilemaan koneita rikkomatta kaikenlaisia virityksiä ja turauksia. Valitaanpas asennettavaksi VMWare (eli VirtualBoxia vastaava) virtuaalinen tietokone, ihan vaan sen takia että VirtualBox on nykyään liian suosittu. Siihen sitten Microsoftin sivuilta ilmainen, webbiselaimen testikäyttöön tehty VMWaren valmis 32-bittinen Windows 10-paketti. Uskomatonta että mikkisofta tarjoaa tämmöisen mutta niin se vaan on.

Ensimmäinen tehtävä on muokata VMWaren virtuaalikone settingeistä samanlaiseksi kuin tuo tabletin oikea W10:i. Se on varsin yksinkertaista – kiintolevy on vakionakin tuossa W10-paketissa AHCI/SCSI-tyyppiä. Sitten poistetaan verkkokortti kokonaan, ja ollaankin vastaavassa tilanteessa Acerin kanssa.

Diagboxin installointiyritys tuohon virtuaalikoneeseen tuottaa täsmälleen saman tuloksen kuin tabletilla – Activation Error 0. Hyvä, näinhän sen pitkin mennä. Lisätäänpäs virtuaalikoneeseen se Microsoft Loopback Driver ihan windowsin oman control panelin kautta. Diagbox uudelleen käyntiin – siinä tuohatessa muuten selvisi sekin että Diagboxia EI tarvi asentaa uudelleen joka välissä, jos esimerkiksi tuo aktivointi epäonnistuu niin Diagbox-sovelluksen voi sulkea ja käynnistää uudelleen ilman mitään installointeja, kyllä se kysyy aktivointia uudestaan. No, edelleen tuloksena sama Activation Error 0. Eli kyllä se tuo kiintolevyn tyyppi nyt vastustaa – luultavasti. Kokeillaan!

VMWaren kauneus on siinä, että parilla näppäimenpainalluksella voi lisätä softien kannalta ihan oikealta fyysiseltä IDE-levyltä näyttävän levyn sinne. Nap-nap, ja SCSI-levyn lisäksi ilmestyy D-asemaksi 5GB:n IDE-levy. Uusi Diagboxin käynnistys, aktivointi... odotusta 12 sekuntia... ja tudumm - toimii! Varmistuksesti vielä tunnin ähellyksen jälkeen tulee todettua, että Lexiakin toimii kaapeleineen kaikkineen VMWaressa tuolla konfiguraatiolla.

Asiathan etenevät hyvin. Näyttää siltä, että yksinkertaisesti VMWaren IDE-levyn virtuaalisimulaattoria/driveriä vastaavaa menetelmää tabletissa käyttäen saisi Diagboxin pyörimään! Ja tässä vaiheessa on tehty vasta puoli päivää askartelua.

Tutkitaanpas miten VMWare on IDE-levynsä simuloinut:

Liitteet:
Capture.jpg
Capture.jpg [ 91.51 KiB | Katsottu 31896 kertaa ]


Hmm.. Se on VMWaren oma driverkonfiguraatio ihan omalla nimellään, mutta kuitenkin Driver Provider on Microsoft ja käyttää ihan Windows32:n vakiomenetelmiä levyn käpistelyyn, kuten Driver File Detailsissa näkyy. Elikkä tuota... sehän tarkoittaa että VMWare simuloi alempaa, rautatasoista interfacea IDE-levylle, siihen sitten MS:n ajurit osaavat kytkeytyä kuten rautalevyyn. Mitenkäs helkkarissa tällaista simuloisi tabletissa?

jatkuu...



Miehellä on elämässään yksi suuri valinta; harrastaako huonoja naisia vai huonoja autoja.
Poissa
   
 
 Viestin otsikko: Re: Diagbox Windows 10:ssä!
ViestiLähetetty: 07.04.2016 02:35 
Käyttäjän avatar

Viestit: 2666
...jatkuu:

Niinhän siinä käy aivan julmetun netin kampaamisen jälkeen, että karu totuus paljastuu: IDE-levyn emuloiminen „tavallisessa“ windowsissa on mahdotonta niin, että se näyttäisi aivan täysin koneessa olevalta fyysiseltä levyltä. Erilaiset mountaukset ja remote diskit kyllä sisältävät aivan oikeanlaisen filesysteemin ja datamallin, mutta kun levyn identifiointitietoja (eli sektoreiden määrää, valmistenumeroita, jne fyysisen kiintolevyn parametrejä) ei ole olemassa, niin Diagboxin lisenssimanageri tekee päätöksen ettei kelpaa. Virtuaalikoneet simuloimat levyjä tavallaan alhaalta ylöspäin, eli huijaavat windowsin omia ajureita luulemaan että siellä on fyysistä levyrautaa alla – samanhan ne tekevät prossujen ja muistienkin suhteen. Tätä menetelmää ei voi helposti käyttää suoraan raudan päälle asennetussa tavallisessa windowsissa, ehkä se jotenkin mahdollista olisi mutta kyseessä olisi kuukausien research-projekti windowsin kernelin alatasoinen, ehkä jonkinlaisen miniport-driverin kirjoittaminen ja siitä seuraava Windows DDK:n (driver development kitin) kanssa loputon tahkoaminen.

Eikö mitään muuta vaihtoehtoa sitten ole? Jotta tähän saataisiin vastaus, tulee ruveta tutustumaan Diagboxiin reverse engineering-keinoja käyttäen pintaa syvemmältä. Tulee tutkia, millä lailla Diagbox oikein lukee ne kovalevyn identifiointitiedot, ja miksi se tökkää Windows 10:n AHCI/SCSI-levyillä?

Ja tästä eteenpäin päästäänkin siihen kiinnostavaan osuuteen. Tähän asti moni tavallinenkin tietokoneen kanssa tuohaaja olisi ehkä saanut asiaa tahkottua ja lopuksi heittänyt Diagbox-kaapelin kiroten pirtin nurkkaan, korkaten samalla Eurokossupullon. Illan päälle olisi sitten haukuttu vaimo huoraksi ja lapset saamattomiksi. Ja yöselän toimintaa kuvastaneisi parhaiten kaksi suomalaiskansallista musiikkihelmeä, eli „viideltä saunaan ja kuudelta putkaan“ & Pertsa Koivulan „Elämä on täynnä kyyneleitä“, hieno kappale sinänsä.

Tähän väliin on pakko kirjoittaa lyhyt tietokatsaus, että tarinan loppuosakin olisi ymmärrettävä maallikoillekin – tähän tässä kirjoituksessa pyrin. Windows-sovellukset tekevät kaikki pääasialliset sisään/ulos (input/output) toimintonsa Windowsin API:n kautta. Tämä APIna, eli Application Programming Interface, on sarja funktioita joilla esimerkiksi luodaan ikkuna näytölle, luetaan näppäimistöltä kirjoitettu merkki, tai luetaan kiintolevyltä tiedosto. Toimiva analogia on kirvakka sihteerijoukko (APIt ja sen alla oleva itse Windows drivereineen) sekä pomo (windows-sovellus) joka komentaa noita kaikkia sihteereita tuomaan tietoa johtajalle sekä viemään viestejä ulkomaailmaan, ehkäpä markkinointiosastolle tai toisille johtajille.

Saadakseen tietoa keitä sihteereitä (eli mitä Windowsiin API:ja) pomo (eli Diagbox tässä tapauksessa) käskyttää ja kuuntelee saadakseen IDE-levyn identifiointitiedot, ja miksi AHCI/SCSI-levy ei tunnistu, tulee päästä siis kuuntelemaan pomon ja sihteerien välistä liikennettä. Onneksi tähän löytyy valmiita työkaluja ihan ilmaiseksikin, tosin kaikki sen sektorin dokumentaatio on hyvin puutteellista. Kyseessä on esoteerinen tieteenala joka enemmänkin rinnastetaan laittomaan softien kräkkäykseen kuin tällaiseen lailliseen yhteensopivuusongelmien tutkimiseen. Nyt ollaan siis vasta tutkimusvaiheessa, ei korjausvaiheessa...

Pikainen katsaus tarjolla oleviin ilmaisohjelmiin paljastaa, että varsin laaja-alainen (joskin vaikeakäyttöinen ja lähes dokumentoimaton, sekä alpha(!)-tasolla edelleen oleva) on API Monitor V2 (http://www.rohitab.com/apimonitor). Ladataanpas ja installoidaan se sinne samaan VMWaren virtuaalikoneeseen, jossa Diagboxin testirääkkäysversio majailee.

Ja siitä eteenpäin asia näyttää helpolta. Parin tunnin leikkimisen ja tutusmisen jälkeen selviää, millä parametreillä voi käynnistää minkä tahansa sovelluksen eli .exe:n, ja sen jälkeen seurata sen tekemiä API-kutsuja (eli käskyjä Windowsin sihteereille). Sieltähän varmasti löytyy juuri se kutsu, jolla Diagbox kysyy kiintolevyn identifiointitietoja, ja sen kutsun parametrejä tarkastelemalla varmasti selviää miksi lisenssimanageri protestoi Windows 10:ssä! Helppoa kuin heinänteko, juu!

Jo ensimmäinen (asennetun mutta vielä lisensoimattoman) Diagboxin käynnistysyritys API Monitorin kautta paljastaa mitä tarkoittaa kahdenkymmenen vuoden softakehitys pakattuna yhteen pakettiin. Diagbox ei suinkaan ole mikään yksi .exe-tiedosto, vaan LctPOLUX.exe (Diagboxin käynnistäjäsovelluksen nimi) pöläyttää ensin pari .exe:ä käyntiin, ja ne taas omia „lapsiaan“, niin että havaitaan kylmä rinki perserei’än ympärillä Diagboxin ajonaikana koostuvan noin 15 exe-tiedostosta ja sadasta DLL:stä! (Dll:lät ovat myös ajettavaa koodia, niitä .exe-tiedostot kutsuvat omina apumiehinään suorittamaan erilaisia tehtäviä. Myös Windows:n sihteerit eli ne API-kirjastot ovat tuollaisissa DLL:ssä, Windowsin omissa, mutta Diagbox käynnistelee satakunta omaakin DLL:läänsä...

Liitteet:
Diagbox_exet.JPG
Diagbox_exet.JPG [ 53.52 KiB | Katsottu 31710 kertaa ]


Niinkuin tämä suo ei vielä riittäisi, selviää että Diagbox on varmasti osittain tarkoituksella ohjelmoitu niin, että se tekee aivan tuhottoman määrän API-kutsuja käynnistettäessä. 2 miljoonaa (!) erillistä kutsua on suoritettu ennenkuin edes lisenssiavaimen kyselyikkuna tulee ruutuun – ja 16 gigan muisti on täynnä noiden kutsujen tallennettua dataa, ja kone on jumissa API Monitorin kaatuessa muistinpuutteeseen. Lisäksi tuo 2 miljoonaa kutsua näyttää olevan jonkinlainen raja API Monitorissa muutenkin vaikka muistia olisikin, ohjelma yksinkertaisesti lopettaa API-kutsujen loggaamisen sen rajan jälkeen.

No voi elämän kevät! Mikä nyt eteen? Toista API monitoria etsimään? Ja tässähän ei ole vielä edes päästy selville mihin se tökkää, saati miten vika voitaisiin korjata! Hanskat naulaan ja pensselit santaan?

Ei sentään, Jekkeri ei luovuta eikä voi luovuttaa. Aateluus velvoittaa!

jatkuu...



Miehellä on elämässään yksi suuri valinta; harrastaako huonoja naisia vai huonoja autoja.
Poissa
   
 
 Viestin otsikko: Re: Diagbox Windows 10:ssä!
ViestiLähetetty: 07.04.2016 09:25 

Viestit: 944
Paikkakunta: Vihti
Kuten jo sanoin ei diagbox kaipaa ide levyä mihinkään. Kaikisaa koneissa on nykyisin sata levyt (eli käyttävät sitä achia), älä nyt hakkaa päätäsi seinään tuon kanssa


Poissa
   
 
 Viestin otsikko: Re: Diagbox Windows 10:ssä!
ViestiLähetetty: 07.04.2016 09:27 
Käyttäjän avatar

Viestit: 1199
Paikkakunta: Ilmajoki

Profiili WWW
Virallinen Diagbox tulee tehtaalta valmiiksi aasennettuna.. :ugeek:


Poissa
   
 
 Viestin otsikko: Re: Diagbox Windows 10:ssä!
ViestiLähetetty: 07.04.2016 09:29 

Viestit: 944
Paikkakunta: Vihti
Sitikkapuoskari kirjoitti:
Virallinen Diagbox tulee tehtaalta valmiiksi aasennettuna.. :ugeek:


Ostan heti kun myyjät kuluttajille ja hinta on edes jollain muotoa järjen rajoissa.


Poissa
   
 
 Viestin otsikko: Re: Diagbox Windows 10:ssä!
ViestiLähetetty: 07.04.2016 11:21 
Käyttäjän avatar

Viestit: 1878
Eli Diagboxin siis saa Windows 10 -tabletille asennettuna tehtaalta? Silloinhan tuo DS-jekkerin projekti saattaa onnistuakin, ellei ole jo onnistunut.

Vai yritetäänkö tässä vihjata nyt jotain tuon asennettavan ohjelman alkuperästä... :shock:



__________________________________________________________________
G11 730d xDrive -16 | V60 D3 Inscription -19 | 96 V4 1980 | Goldwing 1200 Interstate 1986
Poissa
   
 
 Viestin otsikko: Re: Diagbox Windows 10:ssä!
ViestiLähetetty: 07.04.2016 12:19 
Käyttäjän avatar

Viestit: 1199
Paikkakunta: Ilmajoki

Profiili WWW
Tehtaalta tulee win 7:lla. Mikään ei estä korjaamoa ostamasta testeriä. Yksityiselle no way.


Poissa
   
 
 Viestin otsikko: Re: Diagbox Windows 10:ssä!
ViestiLähetetty: 07.04.2016 15:25 
Käyttäjän avatar

Viestit: 4072
Paikkakunta: Eteläkärki
Sitikkapuoskari kirjoitti:
Tehtaalta tulee win 7:lla. Mikään ei estä korjaamoa ostamasta testeriä. Yksityiselle no way.
Hmm. Kelpaisikohan ry, jolla on Y-tunnus?
Se hinta on tietysti edelleen hieman suolainen kotikäyttäjälle.



"Pitäähän miehellä leluja olla..."
C5 2.0 HDi -11, Seat León eHybrid -21
Poissa
   
 
 Viestin otsikko: Re: Diagbox Windows 10:ssä!
ViestiLähetetty: 08.04.2016 06:12 
Käyttäjän avatar

Viestit: 2666
...jatkuu:

Karavaani kulkee. Jätetään vihjailevat spekuloinnit omaan arvoonsa, ja edetään päätutkimuslinjaa.

Näin ruvetaankin tulemaan siihen vaiheeseen tutkimustyössä, että ilman varsin syvällistä kokemusta Win32-ohjelmoinnista kaukaisilta nuoruusvuosilta voisi tämä homma tyssätä tähän. Joka tapauksessa pitäisi aloittaa melkoinen opiskelu Windowsin levykäsittelyrakenteesta, lukien nimenomaan mahdollisimman vanhoja dokumentteja jostain 2000-luvun alusta, tämän päivän versiot Windowsista ovat erilaisia ja MS suosittelee ja tarjoaa dokumentit kunnolla ainoastaan uudempiin, turvallisempiin“ API:nsa.

No niin. Vanhasta kokemuksesta kuitenkin muistetaan, että lähes kaikki windowsiin liitettyjä laitteita kyselevät API-kutsut loppujen lopuksi kutsuvat todella vanhaa yleisfunktiota nimeltä NtCreateFile. Se ei koske vain „tiedostoja“, vaan monia laiteluokkia kuten fyysisiä kiintolevyjä, verkkokortteja ja oikeastaan mitä vain. Tehdään siis niin, että käytetään API Monitorin tarjoamaa mahdollisuutta filtteröidä seurattavia API-kutsuja pelkästään näihin NT-alkuisin kutsuihin – löytyvät sieltä nimellä „NT Native“ -> „File Systems“->“Ntdll.dll“. Lisäksi pitää tietää, että yleensä näihin kutsuihin tarvitaan tekstijonoja joita käsitellään näin vanhassa koodissa RtlInitiAnsiString-kaltaisten funktioiden avulla. No miten sen voi tietää? Kysymys on hyvä enkä valitettavasti siihen osaa vastata, muistilokeroista tämä löytyy jostain kaukaa 90-luvun perintönä. Eli valitaan lisäksi seurattavaksi kutsut perheestä NT Native -> Strings -> ntdll.dll -> kaikki sieltä ruksattuna.

Ja ei muuta kuin rohkeasti Diagbox uudestaan käyntiin API Monitorin kautta näillä säädöillä! Ruutuun pölähtää enää muutamia kymmeniä tuhansia kutsuja per exe, ja API monitor ei mene jumiin – on aikaa saada kokeiltua lisenssiavaimen syöttämistä. Ensin toimivalla konfiguraatiolla, jossa siis IDE-levy on jo initialisoitu („asennettu“) sinne VMWaren virtuaalikoneeseen. Lisenssiavain hyväksytään – ja sitten API Monitorista pause päälle, että päästään tutkimaan mitä oikein tapahtui.

Haetaanpas opportunistisesti jokaisen exen (siis niiden viidentoista, ks aikaisempi posti ja kuva) suorittamista kutsuista tekstijonoa „drive“, joka tavallisesti viittaa fyysisiin levyasemiin. Ja niinhän siinä käy, että varttitunnin äheltämisen jälkeen voi tokaista „BINGO“. Mielenkiintoisen nimisestä exestä AWFInterpreter_vc80.exe,filtteröity kutsu järjestysnumerolla 43745, initialisoi tekstijonon nimeltä \\.\PhysicalDrive0. Se se on! Siinä Diagbox aloittaa prosessin kysellä Windowsilta, että minkäslaista rautaa siellä FYYSISESSÄ levyasemassa nro 0 käytetään. Siitä eteenpäin asiat ovatkin varsin suoraviivaisia. Kun tekstijono on initialisoitu, avataan se „fyysinen asema“ NTCreateFile-funktion kautta – se näyttää onnistuvat hyvin vaikka tuo 0-drive on tässä virtuaalikoneessa se AHCI/SCSI-asema. Mitäs siellä sitten näkyy:

Liitteet:
diagbox_scsiahci_fail.JPG
diagbox_scsiahci_fail.JPG [ 90.37 KiB | Katsottu 31306 kertaa ]


Mielenkiintoista! Näyttää siltä että DB käyttää vielä esoteerisempaa funktiota kysyäkseen identifiointitietoja fyysiseltä levyasemalta – katsokaapas rivia 43774: „NTDeviceIOControlFile“. Siinä selvästi kysyttään tuolla NTCreateFilellä saadulla handlella (toimintotunnuksella) että mikäs tai kukas siellä PhysicalDrive0-lootassa majailee, ja yllätys yllätys – KYSELY FAILAA! Return valuena näkyy STATUS_IO_DEVICE_ERROR, jonka jälkeen DB sulkee tuon kyselypolun ja hyväksyy totena että tuolta levyltä ei saada identifiointitietoja luettua. Tämä on nyt se konkreettinen syy, miksi Diagbox ei Windows 10 puhtaalla AHCI/SCSI-levyllä suostu lisensoitumaan ja etenemään kohti työkalujen asennusta.

Samalla selviää, että vaikka tuon kyselyn initialisoi se AWInterpreter-exe, niin se kuitenkin suoritetaan Diagboxin erään dll:n kautta – nimeltään actialc.dll:

Liitteet:
diagbox_actiacl.JPG
diagbox_actiacl.JPG [ 23.42 KiB | Katsottu 31306 kertaa ]


Eli Awinterpreter kutsuu tuota actialc.dll – nimistä diagboxin kirjastofunktiota joka sitten tekee likaisen työn, eli tunnustelee niitä levyjen identifiointitietoja. Actia (siis se firma) on selvästi yrittänyt äheltää jonkinlaista modulaarisuutta softiinsa, siinä kovinkaan hyvin onnistumatta... no, onpahan koodi ainakin tehokkaasti hajautettu tutkijoita hämäämään.

No jumajekkeri, tämähän on edistystä. Jotain jo tiedetään. Mutta entäs nyt kun toisena levyasemana tuossa virtuaalikoneessa on IDE-levy jonka kanssa lisensointi siis toimii. Miltäs sen tunnustelu näyttää? Tämähän etenee kuin jännitysnäytelmä.

Liitteet:
diagbox_ide_success.JPG
diagbox_ide_success.JPG [ 73.04 KiB | Katsottu 31306 kertaa ]


jatkuu...



Miehellä on elämässään yksi suuri valinta; harrastaako huonoja naisia vai huonoja autoja.
Poissa
   
 
 Viestin otsikko: Re: Diagbox Windows 10:ssä!
ViestiLähetetty: 08.04.2016 15:36 
Käyttäjän avatar

Viestit: 1598
Paikkakunta: Tampere
Pitää varmaan laittaa pikapikaa joku halpa Win10-tabletti tilaukseen, tätä tahtia ds-jekkerillä on tämä ongelma ratkaistuna ennen kuin posti kiikuttaa tilauksen lähi-Siwaan. :D




- Xsara Break Exclusive 2001
(ja Corvette Z51 4+3 1985 & Cooper S JCW++ 2006)
- ex-patongit: Saxo SX, Xsara Exclusive, Xantia Break HDi ja pari V6 Activaa
Poissa
   
 
 Viestin otsikko: Re: Diagbox Windows 10:ssä!
ViestiLähetetty: 19.06.2016 22:38 

Viestit: 141
Hienoa, että tutkitaan tuo Win 10 mahdollisuus. Katsotaan ajan kanssa, jos vaikka toimisi.


Poissa
   
 
 Viestin otsikko: Re: Diagbox Windows 10:ssä!
ViestiLähetetty: 07.08.2016 23:19 
Käyttäjän avatar

Viestit: 2666
Ei ole tullut jaksettua tätäkään säiettä päivittää. Joka tapauksessa, tässä voipi katella tämän tutkimusprojektin lopputulosta:

https://youtu.be/TB6u7zTBWGI

Lienee maailman ainoa w10-tabletti jossa db pyörii? Jos jotakuta kiinnostaa miten tuo on teknisesti mahdollista, ehkä jossain vaiheessa kansansivistyksellisistä syistä kirjoittelen aivan mahdottoman syvällistä teknistä tarinaa tähän jatkoksi.



Miehellä on elämässään yksi suuri valinta; harrastaako huonoja naisia vai huonoja autoja.
Poissa
   
 
 Viestin otsikko: Re: Diagbox Windows 10:ssä!
ViestiLähetetty: 08.08.2016 08:38 

Viestit: 216
Sehän siis onnistui. Kova suoritus.
Onko resepti kuinka kompleksi, että saataisko me muutkin toimimaan....


Poissa
   
 
 Viestin otsikko: Re: Diagbox Windows 10:ssä!
ViestiLähetetty: 08.08.2016 12:53 

Viestit: 141
Hyvä juttu. Pullakahvin paikka, kun laadit jekkeri ohjeet. Win 10 on tulevaisuutemme ohjelmisto. Diagboxin 7.57 versiota ylemmissä versioissa ollut kieliongelmia, eli sf- versiot kiinnostavat :) .


Poissa
   
 
 Viestin otsikko: Re: Diagbox Windows 10:ssä!
ViestiLähetetty: 08.08.2016 13:35 
Käyttäjän avatar

Viestit: 738
Konjakkipullo per lärvi ohjeet privana.



Pösö Expertti 1,9 TD 2000@
Fiat Scudo 1,6 Multijet -08 #€
Poissa
   
 
 Viestin otsikko: Re: Diagbox Windows 10:ssä!
ViestiLähetetty: 08.08.2016 14:34 

Viestit: 725
Plösöilijä kirjoitti:
Konjakkipullo per lärvi ohjeet privana.


Jos on ymmärrettävät ohjeet ja asennus onnustuu, savuviskiä ostan. Vielä en tarvitse ohjeita kun äxpee on vielä ok.


Poissa
   
 
 Viestin otsikko: Re: Diagbox Windows 10:ssä!
ViestiLähetetty: 08.08.2016 14:51 
Käyttäjän avatar

Viestit: 1598
Paikkakunta: Tampere
Kiinnostaa ehdottomasti. Helpottaisihan tuo elämää kummasti kun olisi hanskalokerokokoinen db-laite.




- Xsara Break Exclusive 2001
(ja Corvette Z51 4+3 1985 & Cooper S JCW++ 2006)
- ex-patongit: Saxo SX, Xsara Exclusive, Xantia Break HDi ja pari V6 Activaa
Poissa
   
 
 Viestin otsikko: Re: Diagbox Windows 10:ssä!
ViestiLähetetty: 08.08.2016 17:41 

Viestit: 141
Kyllä nollavitonen shamppanjapullokin irtoaisi welholle tuolla ohjeella, jos Winni 10 heräisi Diagboxilla rollaamaan.


Poissa
   
 
 Viestin otsikko: Re: Diagbox Windows 10:ssä!
ViestiLähetetty: 08.08.2016 20:36 
Käyttäjän avatar

Viestit: 12
Paikkakunta: Raahe
On kyllä makeeta harrastamista. Täytyy hattua nostaa :)


Poissa
   
 
 Viestin otsikko: Re: Diagbox Windows 10:ssä!
ViestiLähetetty: 14.08.2016 01:22 
Käyttäjän avatar

Viestit: 2666
Minkäänlaista korvausta tai mitään sellaiseen viittaavaakaan tästä ei tietenkään kenenkään tarvitse ajatellakaan. Kyseessähän on tekniseen yhteensopivuuteen tähtäävä tutkimusprojekti joka täyttää EU-säädöstenkin pykälät. Laitteiston ja ohjelmiston yhteensopivuuden tutkiminen ja parantaminen.

Kysynpähän, kiinnostaako ihan ketään lukea noita pitkiä ja syvällisiä tarinoita windows-ohjelmistojen sielunelämästä? Minun tarkoitukseni tällä threadillä oli aukaista tätä monille itseään ohjelmoijinakin pitäville tuntematonta Windowsin systeemikutsujen ja niiden väliin asettumisen kryptistä maailmaa, yksinkertaisesti valistaa teknisesti suuntautunutta Citroen-kansaa tästä tematiikasta. Sivutuotteena laillisesti ostettu tiakpoksi toimii Windows 10-tabletissa, joka on tietysti mukavaa ja teknisesti ylevää, ehkä myös käytännöllistä - mutta onko tämä se pääasiallinen mielenkiinnon kohde lukijoilla?

Tarinan mielenkiintoinen jatko olisi tulitikkuaskin kokoisen langattoman donglen kehittäminen johon voisi kytkeytyä Bluetoothilla ilman kaapeleita tuosta Win 10-tabletista. Joo joo, onhan niitä, mutta eipä ole sellaisia jotka tukisivat kaikkia pinnejä ja toimisivat Diagboxin kanssa ilman tuota kaapelihässäkää - se Actian Bluetooth-setti on kai isompikokoinen kuin kaapeli-DB. Mutta se on jo toisen juttusarjan aihe ilman muuta, omanlaisine IPR-haasteineen.



Miehellä on elämässään yksi suuri valinta; harrastaako huonoja naisia vai huonoja autoja.
Poissa
   
 
 Viestin otsikko: Re: Diagbox Windows 10:ssä!
ViestiLähetetty: 14.08.2016 07:19 

Viestit: 141
Kiinnostaa kovasti. Anna tulla vaan kaikki tieto ja fotojen kera ;). Näin erään tiakpoksin toiminnassa 64 bit Win 7-halpaläppärissä.


Poissa
   
 
 Viestin otsikko: Re: Diagbox Windows 10:ssä!
ViestiLähetetty: 14.08.2016 19:24 
Käyttäjän avatar

Viestit: 2666
...jatkuu:

Virtuaalikoneeseen lisätyn IDE-levyn tunnustelu siis tuottaa radikaalisti erilaisen tuloksen, kuten edellisen postini viimeisestä kuvasta näkyy - NTDEviceIOControlFile palauttaa kaikkiin olennaisiin kyselyihin STATUS_SUCCESS ja myös dataa jonka DB tallentaa lisenssi-identifiointitietoihinsa sitten muutamaa sataa tuhatta koodiriviä myöhemmin.

Ja toimii. Tämä tietysti vasta virtuaalikoneessa, joten kaukana ollaan maalista vielä tarinan tässä vaiheessa. Olennaista on kuitenkin se, että tämä IDE-levy voi olla kakkoslevynä eli PhysicalDrive1:nä, ja täysin formatoimaton ja alustamaton - riittää että DB löytää levyn ja saa siitä identifiointitiedot tuota funktiota käyttäen.

Nyt ei pidä tarttua tähän nimitykseen IDE-levy. Tämä termi viittaa enemmänkin BIOSsiin, jonka kautta levyjen tunnistetietoja voi kysyä yhteensopivasti vanhojen IDE-levyjen kanssa. Tämä yhteensopivuus lähtee tosiaan BIOS-tasolta asti, koneessa on oltava BIOS joka tukee Windows Legacy IDE-levykäsittelyjä, itse fyysinen levy voi olla vaikkapa SCSI-tyypin interfacella. Lisäksi kun vanhaan läppäriin jossa on tuollainen legacy-IDE:tä tukeva BIOS asennetaan virallisen päivityksen kautta Windows 10, on mahdollista säilyttää noiden legacy-kyselyiden tuki jättämällä levy legacy-moodiin asennuksen yhteydessä (eli ei menemälle puhtaaseen AHCI-tilaan) - se on se kikka millä juutubissa joku bulgraarialainen oli saanut Diagboxin käyntiin Windows 10-läppärissä.

Mutta W10-tabletissa on kaikki toisin! BIOS ei tue mitään muuta kuin kaikkein rajoittuneinta (halvinta, rautamielessä...) AHCI:a ilman minkäänlaisia legacy-supportteja ja Windows 10 on asennettu puhtaasti AHCI:n päälle. Diagbox EI SAA TUNNISTETIETOJA tällaiselta levyltä, joka siis näkyy myös selkeästi näkyy noista aikaisemmista kuvaruutukaappauksista. STATUS_FAIL:ia puskee...

Kun nyt katsotaan kulkemaamme tietä, havaitaan että pienimmän vaivan tie on kaapata (eli mennä sihteerin ja pomon väliin "näkymättömäksi peluriksi") NTDeviceIOControlFile ja muutamia muita oheiskutsuja, ja kerta kaikkiaan palauttaa aina kun DB tiedustelee PhysicalDrive1:stä (huom. ei PhysicalDrive0:llaa koska siellä on tabletin oma ahci-levy!) datat jotka kuvaavat toimivaa IDE-levyä. Silloin kaiken järjen mukaan DB toimii täsmälleen kuten virtuaalikoneessakin, johon on lisätty "simuloitu" IDE-levy. Tämä strategia on siksikin houkutteleva että virtuaalikoneen kanssa pelaaminen näytti ettei tuon IDE-levyn tarvi olla edes formatoitu - riittää että se osaa vaan kuitata identifiointipyynnön oikeanlaisella vastauksella, ei siis tarvi ruveta "simuloimaan" kokonaista toimivaa IDE-levyä...

Mtäh? Miten niin mennä pomon ja sihteerin väliin? Miten se onnistuu? Entäs mistä ihmeestä kaivetaan ja miten tallennetaan nuo "datat" jotka kuvaavat toimivaa levyä, siellähän on vaikka minkälaisia parameterejä ja handlejä niissä kutsuissa ja paluuformaattia ei ole missään nykydokumentaatiossa määritelty kattavasti? Ei perhana, meneekö tämä aivan mahdottoman vaikeaksi?

Paljon kysymyksiä - vastauksista voisi kirjoittaa pitkähkön kirjan. Vastaukset avaavat Windowsin varsin huonosti tunnettua "bolt and nut" systeemitason toimintaa entisestään. Onko näistä edes mahdollista kirjoittaa kansankielellä, eihän kukaan ole sellaista ennen tehnyt?

Voisi, ja on.

Morpheus:

"Rest, Neo. The answers are coming."



Miehellä on elämässään yksi suuri valinta; harrastaako huonoja naisia vai huonoja autoja.
Poissa
   
 
 Viestin otsikko: Re: Diagbox Windows 10:ssä!
ViestiLähetetty: 14.08.2016 19:30 
Käyttäjän avatar

Viestit: 2666
Liitteet:
teaser.JPG
teaser.JPG [ 82.92 KiB | Katsottu 29506 kertaa ]



Miehellä on elämässään yksi suuri valinta; harrastaako huonoja naisia vai huonoja autoja.
Poissa
   
 
Näytä viestit ajalta:  Järjestä  
 Sivu 1/3 [ 54 viestiä ]  Mene sivulle 1, 2, 3  Seuraava


Paikallaolijat

Käyttäjiä lukemassa tätä aluetta: Ei rekisteröityneitä käyttäjiä ja 6 vierailijaa


Kaikki ajat ovat UTC + 2 tuntia [ DST ]


Et voi kirjoittaa uusia viestejä
Et voi vastata viestiketjuihin
Et voi muokata omia viestejäsi
Et voi poistaa omia vestejäsi
Et voi lähettää liitetiedostoja.

Etsi tätä:
Hyppää: