首页
社区
课程
招聘
[求助]请教一段汇编是什么用意
发表于: 2012-10-22 18:52 3521

[求助]请教一段汇编是什么用意

2012-10-22 18:52
3521
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,我怎么分析这个地址?
请问程序这样做的目的是什么?

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 506
活跃值: (70)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
是取参数吧。优化过的。没有栈桢了。
2012-10-22 20:08
0
游客
登录 | 注册 方可回帖
返回
//