热门标签 | HotTags
当前位置:  开发笔记 > 程序员 > 正文

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

由于多次跟踪程序的时候碰到了,一直没怎么理会,今天出于好奇,进去逛了下。。。很简单,原来就是分配内存。注释写的很清楚,而且很简单,所以不多做解释了。6E26152C>8BFF

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

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

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


推荐阅读
author-avatar
mobiledu2502868917
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有