632020EF \.^\EB 80 JMP SHORT NetIo.63202071
632020F1 /$ 6A 08 PUSH 8
632020F3 |. B8 BFA92363 MOV EAX,NetIo.6323A9BF
632020F8 |. E8 26770300 CALL NetIo.63239823 ...见下面
632020FD |. 8BF1 MOV ESI,ECX
63239823 /$ 50 PUSH EAX
63239824 |. 64:FF35 00000>PUSH DWORD PTR FS:[0]
6323982B |. 8D4424 0C LEA EAX,DWORD PTR SS:[ESP+C] 参数1的堆栈指向
6323982F |. 2B6424 0C SUB ESP,DWORD PTR SS:[ESP+C]
63239833 |. 53 PUSH EBX
63239834 |. 56 PUSH ESI
63239835 |. 57 PUSH EDI
63239836 |. 8928 MOV DWORD PTR DS:[EAX],EBP 修改参数1的值为EBP
63239838 |. 8BE8 MOV EBP,EAX 把参数1的堆栈值赋给EBP
6323983A |. A1 50D12463 MOV EAX,DWORD PTR DS:[6324D150]
6323983F |. 33C5 XOR EAX,EBP
63239841 |. 50 PUSH EAX
63239842 |. FF75 FC PUSH DWORD PTR SS:[EBP-4] 函数返回地址入栈
63239845 |. C745 FC FFFFF>MOV DWORD PTR SS:[EBP-4],-1 赋值为-1
6323984C |. 8D45 F4 LEA EAX,DWORD PTR SS:[EBP-C] FS:[0]
6323984F |. 64:A3 0000000>MOV DWORD PTR FS:[0],EAX
63239855 \. C3 RETN
函数中修改了原来的函数的返回地址,把返回地址修改到了栈顶
调试中我需要的值就在 LEA EAX,DWORD PTR SS:[ESP+C]中的[EAX],怎么会跟随ESP,我怎么分析这个地址?
请问程序这样做的目的是什么?
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!