abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 05:22 | IT novinky

    Nezisková organizace Electronic Frontier Foundation (EFF) hájící občanské svobody v digitálním světě po téměř 20 letech opouští platformu X (dříve Twitter). Na platformách Bluesky, Mastodon, LinkedIn, Instagram, TikTok, Facebook, Threads a YouTube zůstává.

    Ladislav Hagara | Komentářů: 5
    dnes 03:33 | Nová verze

    Terminálový textový editor GNU nano byl vydán ve verzi 9.0. Vylepšuje chování horizontálního posouvání pohledu na dlouhé řádky a chování některých klávesových zkratek. Více v seznamu změn.

    |🇵🇸 | Komentářů: 1
    včera 19:22 | IT novinky

    Ministerstvo financí ve spolupráci s finanční správou dnes představilo beta verzi aplikace využívající umělou inteligenci pro předvyplnění daňového přiznání. Není třeba přepisovat údaje z různých potvrzení, ani hledat správné řádky, kam údaje napsat. Stačí nahrát dokumenty a využít AI.

    Ladislav Hagara | Komentářů: 8
    včera 18:33 | Zajímavý projekt

    Výrobce počítačových periferií Keychron zveřejnil repozitář se schématy šasi klávesnic a myší. Licence je restriktivní, zakazuje většinu komerčních užití a v podstatě jsou tak data vhodná pouze pro výukové účely, hlášení a opravy chyb, případně výrobu vlastního příslušenství.

    |🇵🇸 | Komentářů: 3
    včera 18:22 | Nová verze

    Správce balíčků APT, používaný v Debianu a odvozených distribucích, byl vydán ve verzi 3.2 (seznam změn). Mezi novinkami figurují nové příkazy pro práci s historií, včetně vracení transakcí.

    |🇵🇸 | Komentářů: 0
    včera 14:33 | IT novinky

    Společnost Anthropic oznámila Projekt Glasswing a s ní související AI model Claude Mythos Preview. Jedná se o iniciativu zaměřenou na kybernetickou bezpečnost, do které se zapojily velké technologické společnosti Amazon Web Services, Anthropic, Apple, Broadcom, Cisco, CrowdStrike, Google, JPMorganChase, Linux Foundation, Microsoft, NVIDIA a Palo Alto Networks. Anthropic věří, že nový AI model Claude Mythos Preview dokáže

    … více »
    Ladislav Hagara | Komentářů: 2
    včera 13:55 | Zajímavý software

    Firma Ojective Development vydala svůj nástroj pro monitorování a řízení odchozích síťových připojení Little Snitch i pro operační systém Linux. Linuxová verze se skládá ze tří komponent: eBPF program pro zachytávání provozu a webové rozhraní jsou uvolněny pod GNU GPLv2 a dostupné na GitHubu (převážně Rust a JavaScript), jádro backendu je proprietární pod vlastní licencí, nicméně zdarma k použití a redistribuci (cena přitom normálně … více »

    » FIDESZ🧡! « | Komentářů: 1
    8.4. 18:44 | IT novinky

    Vojenské zpravodajství (VZ) se v březnu zapojilo do mezinárodní operace proti aktivitám hackerské skupiny APT28, která je spojovaná s ruskou vojenskou zpravodajskou službou GRU a která přes slabě zabezpečené routery prováděla kybernetické útoky na státní a další organizace v ČR i zahraničí. Operaci vedl americký Federální úřad pro vyšetřování (FBI) a jejím cílem bylo odebrat útočníkům přístup k napadeným zařízením a ty následně … více »

    Ladislav Hagara | Komentářů: 42
    8.4. 16:44 | IT novinky

    Tvůrcem nejpopulárnější kryptoměny bitcoin, který se skrývá za pseudonymem Satoši Nakamoto (Satoshi Nakamoto), je britský kryptograf Adam Back. Na základě vlastní investigativní práce to tvrdí americký deník The New York Times (NYT). Několik indicií podle autorů jasně ukazuje na to, že Back a Nakamoto jsou stejný člověk. Jde mimo jiné o podobný odborný a osobnostní profil či totožné chyby a manýry v psaném projevu.

    Ladislav Hagara | Komentářů: 13
    8.4. 14:44 | Nová verze

    Google Chrome 147 byl prohlášen za stabilní. Nejnovější stabilní verze 147.0.7727.55 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Vylepšeny byly také nástroje pro vývojáře. Přehled novinek v Chrome DevTools 145 až 147 také na YouTube.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (14%)
     (8%)
     (1%)
     (12%)
     (30%)
     (3%)
     (6%)
     (2%)
     (14%)
     (24%)
    Celkem 1260 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    Syscall, sysenter, sysexit, int 0x80

    13.11.2008 17:05 | Přečteno: 1621× | Škola | poslední úprava: 13.11.2008 21:10

    Už delší dobu jsem se chtěl seznámit s assemblerem, ale nějak jsem se nemohl stále odhodlat. Letos jsem nastoupil do 1. ročníku na FIT VUTBR. A dozvěděl se, že asm jsou jedním z mých předmětů. Což mě potěšilo, vždycky se mi z nečím začíná lépe, když mě stím seznámí někdo zkušený.

    Ve cvičeních, jsem zjistil, že budeme pracovat pod DOSem, jelikož pro DOS mají knihovnu rw.asm, která umožnujě vstup, výstup... No sice jsem to nakonec pod dosbox a nakonec i pod dosemu rozjel, ale já chtěl psát assembler pod linuxem přímo. Tak jsem začal psát vlastní verzi rw.asm, pod linux. Narazil jsem hned na několik problémů, ale nakonec jsem zatím vše vyřešil. Ale včera jsem se díki Gruntovi dozvěděl, že krom přerušení int 0x80, existují i jíné způsoby jak zavolat jádro. Jde o instrukce sysenter, sysexit, syscall.

    Snažil jsem se o tom něco vygooglit, ale nikde jsem nenašel jak tyto funkce použít. Nakonec jsem začal využívat objdump, a parametru -static při linkování, a zkoumat jak to vypadá tam. Mé zkoumání nakonec vedlo k tomu, že místo int 0x80 dokážu využívat instrukce syscall. Bohužel jestli to dobře chápu tak je jen v 64bit verzi, což mi je kničemu, takže jsem stále tam kde jsem byl. A proto se chci zeptat, je tu někdo, kdo mi je schopen nějak, jednoduše vysvětlit, základní rozdíli mezi int 0x80, sysenter, syscall? Protože já už v tom mám zmatek.

    UPDATE!

    Prostě dejme tomu, že mám příklad pro získání pid:

    mov eax,20
    int 0x80
    
    A mě zajímá jak docílit toho samého pomocí instrukcí sysenter atd.

           

    Hodnocení: 100 %

            špatnédobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    13.11.2008 17:27 zde | skóre: 9 | blog: Linuch | Brno
    Rozbalit Rozbalit vše Re: Syscall, sysenter, sysexit, int 0x80
    http://www.trilithium.com/johan/2005/08/linux-gate/
    Táto, ty de byl? V práci, já debil.
    kozzi avatar 13.11.2008 19:15 kozzi | skóre: 55 | blog: vse_o_vsem | Pacman (Bratrušov)
    Rozbalit Rozbalit vše Re: Syscall, sysenter, sysexit, int 0x80
    to mi je k nicemu :-D
    Linux je jako mušketýři "jeden za všechny, všichni za jednoho"
    13.11.2008 20:04 Kvakor
    Rozbalit Rozbalit vše Re: Syscall, sysenter, sysexit, int 0x80
    Tady je popis SYSENTERu, o SYSCALLu/SYSRETu je celke slusne PDF na strance AMD.

    Ale pokud se nezajimate o samotne vnitrnosti jadra, tak staci vedet, ze je to zhruba to same jako INT 0x80, ale procesor s tim ma mene prace (nemusi nacitat adresu z IDT, natahovat a kontrolovat prislusne selektory atd., coz usetri spoustu casu - podle AMD cca. tri ctvrtiny tiku). Sice funguji jenom ve flat modu (tj. bez segmentace, s nulovymi bazemi a maximalnimi limity), ale to pouzivaji vsechny moderni OS, Linux nevyjimaje.
    kozzi avatar 13.11.2008 21:07 kozzi | skóre: 55 | blog: vse_o_vsem | Pacman (Bratrušov)
    Rozbalit Rozbalit vše Re: Syscall, sysenter, sysexit, int 0x80
    JJ to jsem cetl, ale o to mi nejde, ja chci proste nakopnout jak to spravne pouzivat.
    Linux je jako mušketýři "jeden za všechny, všichni za jednoho"
    14.11.2008 11:34 Ivan
    Rozbalit Rozbalit vše Re: Syscall, sysenter, sysexit, int 0x80
    Myslim, ze je jeste nejaka uspora spojena s tim, ze nemate uplne zaruceno ze vam kernel nezmeni nejake registry/pamet. Uz si to presne nepamatuju. Kdyz pouzijete int80 tak se ocitnete v kernelu a nemuzete vlastne pouzivat stack ani menit hodnoty vetsiny registru. V kernelu musite nejdrive "odzalohovat" userspace veci a teprve potom muzete obslouzit userspace pozadavek.
    <dohady> syscall nebo sysenter je implementovan tak, ze snad umoznite kernelu aby mohl alespon na chvili pouzit kus vaseho stacku, aby mel kam ulozit vase registry. Na RH obsahuje glibc jen jednu instrukci sysenter. Nekde vysoko v pameti je namapovana stranka, na kterou se skace pokazde kdyz volate nejaky syscall. Ta stranka obsahuje vsechny instrukce/data potrebne pro komunikaci s kernelem.
    </dohady>
    Luk avatar 16.11.2008 15:58 Luk | skóre: 47 | blog: Kacířské myšlenky | Kutná Hora
    Rozbalit Rozbalit vše Re: Syscall, sysenter, sysexit, int 0x80
    Kdyz pouzijete int80 tak se ocitnete v kernelu a nemuzete vlastne pouzivat stack ani menit hodnoty vetsiny registru. V kernelu musite nejdrive "odzalohovat" userspace veci a teprve potom muzete obslouzit userspace pozadavek. syscall nebo sysenter je implementovan tak, ze snad umoznite kernelu aby mohl alespon na chvili pouzit kus vaseho stacku, aby mel kam ulozit vase registry.
    Userspace registry se zálohují ještě před vyvoláním přechodu do kernelu. Pak už jsou v registrech jen parametry systémového volání (resp. u x86 je to v jednom případě mírně jinak, protože jeden registr chybí - tam se ten poslední parametr dává na stack). V kernelu se pak registry opět uloží. Rozdíl mezi metodou instrukce a int80 je v tom, že v prvním případě není potřeba nic explicitně nastavovat, postará se o to instrukce.
    Nekde vysoko v pameti je namapovana stranka, na kterou se skace pokazde kdyz volate nejaky syscall. Ta stranka obsahuje vsechny instrukce/data potrebne pro komunikaci s kernelem.
    Ta stránka (VDSO) má dva významy. Jeden je kvůli problémů s nedostatkem registrů u x86 (je tam kód, který se stará o to, aby se správně nakládalo s registry ESP a EBP při hacku použitém na přenos šestého parametr syscallu). Druhý význam jsou virtuální volání (na x86_64), kde v některých případech (getpid(), getcpu()...) vůbec není potřeba zabíhat do jádra, lze to udělat v uživatelském prostoru.
    Šifrování je absolutní nutnost a pomáhá chránit před nekalými živly
    13.11.2008 20:29 ::: | skóre: 14 | blog: e_lama
    Rozbalit Rozbalit vše Re: Syscall, sysenter, sysexit, int 0x80
    proste nahazis do registru parametry a misto
    int 0x80
    
    zavolas
    syscall
    
    nice and simple :-)
    kozzi avatar 13.11.2008 21:06 kozzi | skóre: 55 | blog: vse_o_vsem | Pacman (Bratrušov)
    Rozbalit Rozbalit vše Re: Syscall, sysenter, sysexit, int 0x80
    kez by to tak slo, ale tohle ti na 32bit systemu nejde
    Linux je jako mušketýři "jeden za všechny, všichni za jednoho"
    13.11.2008 22:48 Kvakor
    Rozbalit Rozbalit vše Re: Syscall, sysenter, sysexit, int 0x80
    Na 32bitech nemusi byt SYSCALL vzdy povoleny (starsi procesory ho neumi), kdezto na 64bitech ano (ty ho uz umet musi)). Mam pocit, ze ve starsich jadrech na to byl dokonce specialni option.
    Grunt avatar 15.11.2008 16:29 Grunt | skóre: 23 | blog: Expresivní zabručení | Lanžhot
    Rozbalit Rozbalit vše Re: Syscall, sysenter, sysexit, int 0x80
    A nenahazuje se to/není lepší to nahazovat skrze linux-gate.so?
    Na co 64-bitů když to jde i s jedním? | 80.78.148.5 | Hack (for) free or Die Hard!
    kozzi avatar 15.11.2008 17:23 kozzi | skóre: 55 | blog: vse_o_vsem | Pacman (Bratrušov)
    Rozbalit Rozbalit vše Re: Syscall, sysenter, sysexit, int 0x80
    Neni, jelikoz linux-gate.so je IMHO uz nepouzivana vec. Je to neco co bylo tusim zavrzeno.
    Linux je jako mušketýři "jeden za všechny, všichni za jednoho"
    Grunt avatar 15.11.2008 17:31 Grunt | skóre: 23 | blog: Expresivní zabručení | Lanžhot
    Rozbalit Rozbalit vše Re: Syscall, sysenter, sysexit, int 0x80
    $ ldd `find /bin/ -executable` | grep "linux-gate.so" | wc -l
    93
    $ find /bin/ -executable | wc -l
    121
    
    Na co 64-bitů když to jde i s jedním? | 80.78.148.5 | Hack (for) free or Die Hard!
    kozzi avatar 15.11.2008 18:10 kozzi | skóre: 55 | blog: vse_o_vsem | Pacman (Bratrušov)
    Rozbalit Rozbalit vše Re: Syscall, sysenter, sysexit, int 0x80
    tak u me je to 0
    Linux je jako mušketýři "jeden za všechny, všichni za jednoho"
    kozzi avatar 15.11.2008 18:18 kozzi | skóre: 55 | blog: vse_o_vsem | Pacman (Bratrušov)
    Rozbalit Rozbalit vše Re: Syscall, sysenter, sysexit, int 0x80
    Takze je opet nepouzitelny jelikoz by to bezelo jen nekde.
    Linux je jako mušketýři "jeden za všechny, všichni za jednoho"
    David Watzke avatar 15.11.2008 20:00 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: Syscall, sysenter, sysexit, int 0x80
    1/109 :-) Používá to jen mbchk z grubu...
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.