MFC42.#823函数到底有什么作用

由于多次跟踪程序的时候碰到了,一直没怎么理会,今天出于好奇,进去逛了下。。。很简单,原来就是分配内存。

注释写的很清楚,而且很简单,所以不多做解释了。

6E26152C >  8BFF            MOV EDI,EDI
6E26152E    55              PUSH EBP
6E26152F    8BEC            MOV EBP,ESP
6E261531    53              PUSH EBX
6E261532    8B5D 08         MOV EBX,DWORD PTR SS:[EBP+8]                               ; EBX为第一个参数
6E261535    56              PUSH ESI
6E261536    57              PUSH EDI
6E261537    53              PUSH EBX
6E261538    83CF FF         OR EDI,FFFFFFFF                                            ; EDI=-1
6E26153B    FF15 6C10256E   CALL DWORD PTR DS:[<&msvcrt.malloc>]                       ; msvcrt.malloc
6E261541    8BF0            MOV ESI,EAX                                                ; ESI保存内存指针
6E261543    83C4 04         ADD ESP,4                                                  ; 堆栈平衡
6E261546    85F6            TEST ESI,ESI                                               ; 判断分配是否成功
6E261548    0F84 9E1E0000   JE MFC42.6E2633EC                                          ; 如果分配失败则跳转
6E26154E    5F              POP EDI                                                    ; 从这里可以看出6E261537H地址处的PUSH为传参而不是寄存器保护
6E26154F    8BC6            MOV EAX,ESI                                                ; 到了这里也就知道了MFC42.#823号函数主要就是分配内存的作用
6E261551    5E              POP ESI
6E261552    5B              POP EBX
6E261553    5D              POP EBP
6E261554    C3              RETN

转载于:https://www.cnblogs.com/osoft1983/archive/2009/01/16/1376721.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值