08048bd4 phase_3 8048bd4 83 ec 2c sub $0x2cesp 8048bd7 8d 44 24 1c lea 0x1cespeax 8048bdb 89 44 24 0c mov eax0xcesp 8048bdf 8d 44 24 18 lea 0
The function at address 08048bd4 is likely a subroutine of a larger program. It begins by subtracting 0x2c (44 in decimal) from the stack pointer to make room for local variables.
It then loads the address of the first local variable (located at an offset of 0x1c from the stack pointer) into the EAX register and stores it at an offset of 0xc from the stack pointer. It does the same for the second local variable (located at an offset of 0x18 from the stack pointer), storing it at an offset of 0x8 from the stack pointer.
Next, it loads the address of a string literal (0x804a3d3) into the EAX register and stores it at an offset of 0x4 from the stack pointer.
It then loads the value at an offset of 0x30 from the stack pointer into the EAX register and passes it, along with the address of the string literal, to the __isoc99_sscanf() function using the call instruction.
Finally, it compares the return value of the __isoc99_sscanf() function (stored in the EAX register) to the value 0x1 using the cmp instruction. Depending on the result of this comparison, the program will likely take different actions.
原文地址: https://www.cveoy.top/t/topic/brfn 著作权归作者所有。请勿转载和采集!