reversedog

博客园 首页 新随笔 联系 订阅 管理

   1).识别构造

      1.构造函数优先调用

      2.ecx传参,且函数内部会将ecx给this赋值(this可能是一块内存空间,也可能是寄存器变量)且返回this指针

      3.可以点击this指针,可能会有多次调用

      注: 构造析构都是thiscall,不能修改

 

    2).识别析构

      1.析构最后一次调用

      2.thiscall传参

      3.无返回值

  

    3).识别各种调用约定的成员函数

       1.c调用约定,会将this指针push进去,然后平栈按照c调用约定平栈

       2.stdcall,会将this指针push进去,内部平栈

      3.thiscall会默认使用ecx,外部更改,内部使用,平栈和stdcall一样

      4.fastcall,会使用两个寄存器传参,且也会外部更改ecx,内部使用.

      5.c约定,std约定,push的时候都是this指针,且是第一个参数(也就是call上面的最近的一个push,必定为this指针)

posted on 2022-06-16 12:41  kkgg6888  阅读(41)  评论(0)    收藏  举报