类的逆向分析

转载 2016年05月30日 11:37:56

类的权限控制只是编译器的产物,在汇编层次无法体现

 

类的构造函数VC特征
1.调用时,传递this指针。例如:lea     ecx, [ebp+testb] ; this
2.函数内部,先处理this指针。例如:mov     [ebp+this], ecx
3.若是有虚函数,则虚函数表赋值.例如:mov     dword ptr [eax], offset ??_7CTestA@@6B@ ; const CTestA::`vftable'
4.返回this指针.例如:mov     eax, [ebp+this]

 


类的析构函数VC特征
1.调用时,传递this指针。例如:lea     ecx, [ebp+testb] ; this
2.函数内部,先处理this指针。例如:mov     [ebp+this], ecx
3.若是有虚函数,则虚函数表赋值.mov     dword ptr [eax], offset ??_7CTestA@@6B@ ; const CTestA::`vftable'
4.无返回值

 


类的成员函数VC特征
1.调用时,传递this指针。例如:lea     ecx, [ebp+testb] ; this
2.函数内部,先处理this指针。例如:mov     [ebp+this], ecx
3.函数地址引用,只有CALL指令。

类的内联成员函数VC特征
与类的成员函数VC特征一样

 


类的虚成员函数VC特征
1.调用时,传递this指针。例如:lea     ecx, [ebp+testb] ; this
2.函数内部,先处理this指针。例如:mov     [ebp+this], ecx
3.函数地址引用,能在虚表中找到。例如:
.rdata:00402394 ; const CTestA::`vftable'
.rdata:00402394 ??_7CTestA@@6B@ dd offset ?Sub@CTestA@@UAEHHH@Z
.rdata:00402394                                         ; DATA XREF: CTestA::CTestA(int,char,int)+Ao
.rdata:00402394                                         ; CTestA::CTestA(void)+Ao ...
.rdata:00402394                                         ; CTestA::Sub(int,int)
.rdata:00402398                 dd offset ?Sub@CTestA@@UAEHXZ ; CTestA::Sub(void)
.rdata:0040239C                 dd 0
类的内联虚成员函数VC特征
与类的虚成员函数VC特征一样


类的静态成员函数VC特征
1.与普通函数无异。


相关文章推荐

Android软件安全与逆向分析

  • 2017年11月06日 21:26
  • 99.08MB
  • 下载

linux逆向分析之ELF文件详解

前言 首先如果大家遇到ELF二进制文件的逆向首先考虑的可能就是通过IDA进行静态逆向分析算法,那么我们首先就要了解ELF(Executable and Linking Format)的文件格式。 EL...

C反汇编与逆向分析技术揭秘

  • 2015年08月12日 21:18
  • 59.52MB
  • 下载

逆向分析网络协议 iOS 篇

原文转载自:点击打开链接 前言 上一篇文章介绍了 Android 通过逆向+动态断点的方式获取签名规则的手法。看到有童鞋留言说想看 iOS 该怎么做。那我就分享一下我的做法...

Android无需权限显示悬浮窗, 兼谈逆向分析app

前言 最近UC浏览器中文版出了一个快速搜索的功能, 在使用其他app的时候, 如果复制了一些内容, 屏幕顶部会弹一个窗口, 提示一些操作, 点击后跳转到UC, 显示这个悬浮窗不需要申请andro...
  • dj0379
  • dj0379
  • 2016年06月04日 01:53
  • 3143

C++反汇编与逆向分析技术揭秘

  • 2015年03月09日 09:40
  • 31.94MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:类的逆向分析
举报原因:
原因补充:

(最多只允许输入30个字)