A Linux kernel is felkészül az a.out kigyomlálására

Címkék

Nemrég a DragonFly dobta ki ... Most a Linux kernelből is kigyomlálják ...

Hozzászólások

Szuper, akkor ezután feltörhetetlen lesz a linux. (legalábbis én eddig minden exploitot az ./a.out paranccsal indítottam :)

;-)
$gcc foo.c
$file a.out
a.out: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=fd22bc4bc2bfb801426ba78cc237f4a5681e832c, for GNU/Linux 3.2.0, not stripped

megteveszto, de ez valojabn elf.

Amit nem lehet megirni assemblyben, azt nem lehet megirni.

,,Egyébként a gcc által fordított default-nak miért "a.out" alapból a neve?''

Ez még a UNIX-os időkből maradhatott meg, hagyomány tiszteletből.

Forrás: Brian W. Kerninghan, Rob Pike: A UNIX operációs rendszer, Műszaki Könyvkiadó, Budapest, 1994

(Ebben már a C-fordítóval készített állomány neve is ,,a.out'' .)

"Share what you know. Learn what you don't."

Szerintem ez a cikk rendben van, de általánosságban igazad van, a faszinak van egyfajta bulváros stílusa, sokszor nekem is az az érzésem, hogy nem érti miről ír. Plusz a benchmarkjai is nagyon megtévesztőek, sokszor elfogult is (pl. f2fs irányába). Ennek ellenére olvasom, mert az egyik legnagyobb linuxos híroldal, azért ha átfutja naponta az ember, akkor képben lesz, hogy mi történik a Linux, BSD-k, opensource háza táján, milyen új hardverek jelentek meg, stb..

Részemről ez az a.out nem fog hiányozni. Már minden évtizedek óta ELF-et használ, már maga a Unix SVR4 is azt használt. Sok éve deprecated már minden rendszeren. Elméletben lehet használatban még ilyen bináris formátumú zárt szoftver, de azok már eleve eddig sem nagyon működtek mostani libekkel kompatibilitás, esetleg driverek miatt. Ami meg opensource, azt szépen újrafordítják modern fordítóval, ami tud ELF-et. Akinek meg ilyen a.out-os formátumra még szüksége van, az feltesz valami régebbi legacy rendszert (ha máshogy nem megy, akkor emulátorra, virtuális gépre), amire az való. Ezzel tényleg nem veszt senki semmit, ha ilyen muzeális hagyatékokat kigyomlálnak a kódból, bár félek nagy nyereség se lesz rajta, mert a sok millió kerneles kódsorból nem fognak ezzel túl sokat lespórolni (állítólag kb. 500 sor). Akinek annyira nem kellett, szerintem már kernelfordításkor a configban kikapcsolhatta eddig is ezt az a.out-os támogatást.

“I didn’t start using Linux so I could have friends.” (Luke Smith, 2019) 🐧

Nyilván biztosra én se tudom, hogy mit ért, és mit nem. Egyébként szerintem ez a fordítók hibája, hogy megkeverik az embereket ezzel az a default a.out fájlnévvel ELF binárisnál is. Értem, hogy tradíció, de felesleges keverés. Engem az szokott zavarni, mikor a konzol/tty és terminál, illetve shell fogalmakat keveri valaki, meg mikor a TUI programokat GUI-nak hívja, meg keveri a betűtípus által megjelenített karakterek és karakterkódolás, nyelv és billentyűzetkiosztás témáját, stb..

Én egyébként soha nem használtam a.out bináris formátumú szoftvert. Jó, lehet nagyon régen, még a 90-es évek elején, mikor ilyen lemezújság mellékletéből próbáltam ki a Slackware-t, akkor talán abban lehetett ilyen, de akkor meg még nem értettem a témához. De még így is emlékszek, hogy mikor később, a 90-es évek második felében ilyen Caldera Linux, Madrake, stb. disztrókat próbáltam, már azoknál is ELF volt a binárisok fejlécében, amikor fileviewer/hexeditor segítségével nézte az ember, akkor még nem tudtam, hogy erre ott van a kulturáltabb file parancs.

Mint írtam, ez a téma tényleg csak zárt forráskódú legacy szoftvernél jöhet egyáltalán elő, de olyat eleve nem volt ajánlott Linuxon használni, hiszen az egész ökoszisztémánk az a lényege, hogy FOSS szoftvereket használ rajta az ember. Muzeális legacy történetekre ott van az emulátor, virtuális gép, pl. simh-ben akár Unix v1.0-át is lehet futtatni, meg VMS, Ultrix, RT-11, stb.-t.

“I didn’t start using Linux so I could have friends.” (Luke Smith, 2019) 🐧

Szerkesztve: 2022. 01. 16., v – 23:53

 :) & :(