Difference between revisions of "Auto Assembler:alloc"
Jump to navigation
Jump to search
(→Related Commands) |
(→Examples) |
||
Line 39: | Line 39: | ||
alloc(SomeSymbol, $1000, Tutorial-x86_64.exe+164C2) | alloc(SomeSymbol, $1000, Tutorial-x86_64.exe+164C2) | ||
+ | |||
+ | alloc(memloc1,4) | ||
+ | |||
+ | 00451029: | ||
+ | jmp 00410000 | ||
+ | nop | ||
+ | nop | ||
+ | nop | ||
+ | |||
+ | 00410000: | ||
+ | mov [alloc1],esi | ||
+ | mov [esi+80],ebx | ||
+ | xor eax,eax | ||
+ | jmp 00451031 | ||
== See also == | == See also == |
Revision as of 22:20, 11 March 2017
Auto Assembler alloc(SymbolName, Size, AllocateNearThisAddress OPTIONAL)
Allocates a certain amount of memory and defines the symbol name in the script. If 'AllocateNearThisAddress' is specified CE will try to allocate the memory near that address. This is useful for 64-bit targets where the jump distance could be bigger than 2GB otherwise.
Note: Use dealloc to free the memory when done.
Command Parameters
Parameter | Type | Description |
---|---|---|
SymbolName | string | The symbol name to use for allocated memory |
Size | integer | The byte size of the block of memory to allocate |
AllocateNearThisAddress | string | The address to allocate near if given |
Examples
alloc(SomeSymbol, 0x4)
alloc(SomeSymbol, 0x1000)
alloc(SomeSymbol, $1000)
alloc(SomeSymbol, 0x4, Tutorial-x86_64.exe+164C2)
alloc(SomeSymbol, 0x1000, Tutorial-x86_64.exe+164C2)
alloc(SomeSymbol, $1000, Tutorial-x86_64.exe+164C2)
alloc(memloc1,4) 00451029: jmp 00410000 nop nop nop 00410000: mov [alloc1],esi mov [esi+80],ebx xor eax,eax jmp 00451031