Posts Tagged ‘ Assembler

Nebojme se shellcodů IV.

Tímto dílem pokračuje seriál o shellcodech pokročilými technikami, které se využívají pro vylepšení funkčnosti. Tento díl seznámí čtenáře s tvorbou generátoru zakódovaných shellcodů pomocí operátoru XOR.
Read more

Nebojme se shellcodů III.

Již není mnoho základních věcí, které by měl začínající tvůrce shellcodů znát. V poslední dílu z minisérie pro začátečníky si ukážeme, jakým způsobem pracovat s funkcemi z externích DLL knihoven. Praktickou ukázkou je pak tvorba shellcodu, který využívá API funkci MessageBox z DLL knihovny user32.dll. Opět nebude chybět nezbytná teorie :)
Read more

Nebojme se shellcodů II.

V druhém dílu seriálu se čtenáři dovědí několik teoretických věcí, jež se při práci s shellcody hodí znát, a zjistí, jak využívat textové řetězce. Výsledkem jsou pak téměř identické shellcody, využívající rozdílné techniky práce s řetězci, které spouští Příkazový řádek (Command Line).
Read more

Nebojme se shellcodů I.

(Snad nejen) První díl seriálu s názvem „Nebojme se shellcodů“ by měl čtenáře provést a zasvětit do tajů tvorby shellcodů pro platformu Win32 NT na procesorech rodiny x86. V prvním díle se čtenář dozví něco málo o historii, zjistí, co vlastně shellcode je, a na závěr si jeden ukázkový vytvoří.
Read more

Hard-Address coding aneb Jak zjistit adresy API funkcí?

Při tzv. hard-address programmingu, který je vcelku běžný například v případě shellkódu, se programátor dostane do situace, kdy potřebuje získat adresy funkcí v paměti. Výhodou tohoto stylu programování je skutečnost, že výsledný kód je mnohem menší než je tomu u dynamic-address programmingu (a to v některých případech dost podstatně menší). Tvrdou daní za takové pohodlí však platíme v podobě nepřenositelnosti takového kódu.

Read more