So-leòntachd ann am Python a leigeas le bhith a’ gairm òrdughan siostam bho sgriobtaichean bogsa gainmhich

Tha dòigh air faighinn seachad air siostaman de chur an gnìomh còd iomallach ann am Python air fhoillseachadh, stèidhichte air a bhith a’ cleachdadh buga a bha aithnichte o chionn fhada a nochd ann am Python 2.7, a chaidh a chomharrachadh ann an 2012 agus nach eil fhathast stèidhichte ann am Python 3. An toiseach, bhathas den bheachd nach eil am mearachd na chunnart tèarainteachd agus is ann dìreach ann an cùisean glè ainneamh, mar as trice air a chruthachadh gu saor-thoileach, a dh’ fhaodadh crìoch neo-àbhaisteach a thoirt air an sgriobt.

Ghabh neach-rannsachaidh tèarainteachd fon ainm-brèige kn32 ùidh anns an duilgheadas agus fhuair e air dòigh brath obrach ullachadh a tha ga dhèanamh comasach àithne siostam sam bith a ghairm gun a bhith a’ faighinn cothrom dìreach air dòighean mar os.system. Tha an brath air a chuir an gnìomh ann am Python fìor-ghlan agus bidh e ag obair gun a bhith a’ toirt a-steach leabharlannan taobh a-muigh agus gun a bhith a’ stàladh an inneal-làimhseachaidh “code.__new__”. De na dubhan, chan eil ach “builtin.__id__” air a chleachdadh, rud nach eil toirmisgte mar as trice. Air an taobh phractaigeach, faodar an còd a thathar a’ moladh a chleachdadh gus dòighean iomallachd a sheachnadh ann an diofar sheirbheisean agus àrainneachdan (mar eisimpleir, ann an àrainneachdan ionnsachaidh, sligean air-loidhne, innealan-làimhseachaidh togte, msaa) a leigeas le còd Python a chuir gu bàs, ach a chuireas casg air fiosan a tha rim faighinn agus nach leig le ruigsinneachd air dòighean leithid os.system.

Tha an còd a thathar a’ moladh na analogue den ghairm os.system, a bhios ag obair tro bhith a’ gabhail brath air so-leòntachd ann an CPython. Bidh an brath ag obair leis a h-uile dreach de Python 3 air siostaman x86-64 agus tha e seasmhach air Ubuntu 22.04 eadhon le modhan tèarainteachd PIE, RELRO agus CET air an comasachadh. Tha an obair air a lughdachadh gu bhith a’ faighinn fiosrachadh bhon chòd Python mu sheòladh aon de na gnìomhan anns a’ chòd CPython so-ghnìomhaichte. Stèidhichte air an t-seòladh seo, thathas a’ tomhas seòladh bunaiteach CPython mar chuimhneachan agus seòladh gnìomh an t-siostaim () anns an t-suidheachadh luchdaichte de libc. Aig an deireadh, thèid leum dìreach gu seòladh siostam sònraichte a thòiseachadh le bhith a’ cur a’ chiad phuing argamaid dhan t-sreang “/ bin/sh” an àite.

So-leòntachd ann am Python a leigeas le bhith a’ gairm òrdughan siostam bho sgriobtaichean bogsa gainmhich


Source: fosgailtenet.ru

Cuir beachd ann