ahoj,
pochopim este naco je NOP v exploitoch, ale ma aj nejaky "kaly" zmysel? cital som, ze prekladace tym zarovnavaju kod, ale naco?
ja to vidim len ako stratu casu pre procesor:) vysvetli mi to prosim niekto?
Fórum › Assembler
Naco je NOP?
![](img/forum_vlakno_help_vyreseno.png)
Nejsem na dane tema odbornik a nemam naladu to poranu hledat. Ja to znam napriklad z proudoveho zpracovani instrukci. Pokud nasledujici instrukce pouziva jako data pro vypocet vysledek te predchozi, tak v dobe nacitani te druhe instrukce neni jeste znam vysledek te predchozi (to je dano tim proudovym zpracovanim). Proto se tam zacnou hazet NOPy a ceka se na vysledek (a treba kdyz neni forwarding, tak si ta instrukce celkem pocka). Dalsi situace s podobnymi duvody jsou treba skoky.
Procesor pracuje rýchlejšie, ak pristupuje k zarovnaným dátam a kódu, napr. na adresy, ktoré sú násobkami 4, 8, 16. Takže práve naopak, čas tým získaš :) Niektoré SSE inštrukcie dokonca vyžadujú, aby boli dáta zarovnané na adresy deliteľné 16. V kóde sa zarovnávajú vstupy do procedúr a a v kritickom kóde aj ciele vetvenia/skokov.
NOP je taky perfektní pro crackování programů nebo hledání chyb. Když máš v hotovém EXE nebo COM instrukci, kterou chceš zrušit bez toho, abys musel překompilovat program, tak tuto instrukci v hexadecimálním editoru přepíšeš instrukcí NOP.
![](img/forum_nove_psp_new.png)
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
![](/img/smile/1.gif)
![](/img/smile/2.gif)
![](/img/smile/3.gif)
![](/img/smile/4.gif)
![](/img/smile/5.gif)
![](/img/smile/6.gif)
![](/img/smile/7.gif)
![](/img/smile/8.gif)
![](/img/smile/9.gif)
![](/img/smile/10.gif)
![](/img/smile/11.gif)
![](/img/smile/12.gif)
![](/img/smile/13.gif)
![](/img/smile/14.gif)
![](/img/smile/15.gif)
![](/img/smile/16.gif)
![](/img/smile/17.gif)
![](/img/smile/18.gif)
![](/img/smile/19.gif)
![](/img/smile/20.gif)
![](/img/smile/21.gif)
![](/img/smile/22.gif)
![](/img/smile/23.gif)
![](/img/smile/24.gif)
![](/img/smile/25.gif)
![](/img/smile/26.gif)
![](/img/smile/27.gif)
![](/img/smile/28.gif)
![](/img/smile/29.gif)
![](/img/smile/30.gif)
![](/img/smile/31.gif)
![](/img/smile/32.gif)
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Naco je subor __init__.py ? — založil Tom@sQo
Blender -naco je tu toto? — založil black evil
Naco je v maine *argv[]? — založil Tom@sQo
Jeden formulář pro vkládání a upravu dat v db — založil tribalcz
Vymazanie záznamu v jednosmernom lineárnom zozname — založil Kent