Áhugamönnum tókst að draga út og taka í sundur örkóða Intel 80386 örgjörva, sem var talinn vera „svartur kassi“ vegna skorts á skjölun. Tvöfaldur mynd af örkóðanum var endurskapaður með gervigreind úr hárri upplausn ljósmyndum af örgjörvanum og rökfræðin var afkóðuð með raflögnum á örgjörvanum. Uppbygging öraðgerðanna, reitir, keyrsluröð og merki um lok skipunar voru smám saman ákvörðuð. Niðurstöður verkefnisins eru birtar á GitHub sem almenningseign.

Það kom í ljós að í 80386 örgjörvanum er hver skipun framkvæmd að öllu leyti í gegnum örkóða, en í 8086 og nútíma örgjörvum eru sumar skipanir unnar beint. Ennfremur, ólíkt 8086 örgjörvunum, útfærir örkóðinn í 80386 ekki reiknirit beint, heldur stillir fyrst og fremst vélbúnaðarhraðala (margföldunar-, deilar-, hraðskiptara, PTU (Protection Test Unit)).
Rannsóknin leiddi einnig í ljós mögulegt öryggisvandamál í meðhöndlun IO-heimildabitmapsins: þegar aðgangur var að 4-bæta tengjum voru aðeins heimildarbitarnir fyrir fyrstu 3 bætin athugaðir og aðgangur að 4. bætinu var ekki athugaður, sem í orði kveðnu leyfði aðgang að vélbúnaðarskrám sem ættu ekki að vera aðgengilegar.
Byggt á birtum örkóða var þróaður opinn z386 örgjörvi, útfærður í SystemVerilog og keyrður á FPGA. Í stað þess að útfæra hverja skipun sem aðskilda RTL (Register-Transfer Layer), útfærir z386 vélbúnaðarbyggingar sem stjórnað er af upprunalega örkóðanum. Afköst útfærslunnar eru sambærileg við hraðvirka 386 tölvu (~70 MHz). z386 keyrði með góðum árangri DOS 6/7, DOS/4GW, DOS/32A og leiki eins og Doom og Cannon Fodder.
Heimild: opennet.ru
