while checking the assembly of wget I saw this, which is the beginning of the packer I assume:
UPX1:004ED812 align 8
UPX1:004ED818
UPX1:004ED818 loc_4ED818: ; CODE XREF: UPX1:loc_4ED829j
UPX1:004ED818 mov al, [esi]
UPX1:004ED81A inc esi
UPX1:004ED81B mov [edi], al
UPX1:004ED81D inc edi
my question is: Does the align 8 make the inc esi to be incremented each iteration by 8, which means one byte?
INC increases by 1, otherwise hell will definitely break loose.
More specifically, I couldn’t find any decent documentation for current assembly language. I did, however, find this reference . According to this, the align directive just controls how the next instruction opcode is aligned in memory.
This makes a lot of sense.