关闭

类的逆向分析

255人阅读 评论(0) 收藏 举报
分类:

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

 

类的构造函数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.与普通函数无异。


0
0
查看评论

Android逆向分析学习与研究(1)————工欲善其事必先利其器

注:头连天参加一个慕课网的活动发表的文章,从哪里搬到这里来 一.什么是逆向     所谓逆向,就是对于程序的“逆向工程”,英文叫“reverse”,是计算机安全领域中一项重要的技术。常见使用情景:1.手里有一个软件(可以是Win平台的,可以是Android的,也可以...
  • C_Major
  • C_Major
  • 2014-12-16 11:10
  • 2809

软件逆向分析有感

1.PE(Portable Executable),Win32环境自身的执行文件格式体。 它的一些特性来自于UNIX的COFF(Common Object File Format)文件格式。  任何Win32平台上的PE装载器都能识别和使用该格式的文件。 2.RVA(Relative ...
  • nw852884172
  • nw852884172
  • 2015-11-02 16:15
  • 1381

逆向分析入门

逆向分析前期学习1.首先建议学习几门语言; 汇编, C++, Python. 他们一个比一个抽象.C++里的编程范型是比较多的,而python是另一个程度的抽象.这三门语言,差不多可以代表现今发挥了巨大作用的编程语言了.2.逆向的直接基础知识,推荐几本书: Intel 微处理器. Windows环境...
  • wang010366
  • wang010366
  • 2016-09-16 21:56
  • 1135

C++与Windows 32 结构化异常

C++的标准异常语句try catch只能捕获c++自身的异常。也就是throw 语句抛出的异常(也叫软异常) 而项目中很多地方出错的原因是由于空指针访问,除0,或者堆栈溢出所导致的。(通常是Win32 系统异常,可能是软异常也可能是赢异常) 这就需要有代码能捕获这些异常。 而C++的try/...
  • sesiria
  • sesiria
  • 2018-01-05 18:24
  • 92

简单逆向分析使用案例(1)--CrackMe_00.exe 找出密码

使用资源 第一步:简单测试。 随便输入点击确定,发现弹出对话框,那么我们就可以确定,程序里面含有MessageBox函数。
  • oBuYiSeng
  • oBuYiSeng
  • 2015-12-13 18:49
  • 1413

逆向分析技术总结(转)

好久没写过文档了,今天把之前的关于逆向分析的一些心得总结一下,反正闲着也是闲着(本文不包含什么新的技术,只是将来源于各方的知识加上自己的心得进行总结而已,高手就不用看了)。 我认为软件安全攻防其本质是分析与抗分析之间的斗争。因为无论安全技术做的多么先进,一旦其代码意图被分析者掌握,就不在有安全性可...
  • yxylwt
  • yxylwt
  • 2014-03-09 13:40
  • 1015

Android中的软件安全和逆向分析[一]—apk反编译破解以及java汇编代码读写

在Android应用开发中,软件安全和逆向分析非常重要。试想如果一个优秀的APP应用没有建立完善的安全机制,从而很容易被黑客破解修改,一方面泄露了应用程序的核心技术,另一方面势必会对用户带来损害,从而造成大量的用户流失。如何反编译破解apk以及保护自己的软件免受反编译破解,是这个系列文章的主题。 ...
  • wtyvhreal
  • wtyvhreal
  • 2015-05-31 13:06
  • 2042

Python.androguard -- 安卓的逆向分析工具

在python中直接调用androguard http://blog.csdn.net/ybdesire/article/details/52280303
  • eofguo
  • eofguo
  • 2016-10-08 17:46
  • 562

病毒木马查杀实战第005篇:熊猫烧香之逆向分析(上)

一、前言         对病毒进行逆向分析,可以彻底弄清楚病毒的行为,从而采取更有效的针对手段。为了节省篇幅,在这里我不打算将“熊猫烧香”进行彻底的分析,只会讲解一些比较重要的部分,大家只要掌握了这些思想,那么就可以处理很多的恶意程序了。一般来说,对病毒的静...
  • ioio_jy
  • ioio_jy
  • 2014-11-17 12:29
  • 3565

软件逆向分析方法小结

3.5 软件逆向分析方法小结在对软件逆向分析过程中,根据软件运行的内部机制和自身特点,我们总结了三种通用的分析方法。 一是常数判别分析法,在软件内部存在着常数,这些常数通常用作产生解密密钥,在分析过程中关注软件内部常最,可以对软件内置数据的还原。 二是数据结构特征分析法,在软件的逆向分析过程中,存在...
  • attilax
  • attilax
  • 2011-03-28 10:18
  • 7174
    个人资料
    • 访问:879140次
    • 积分:11872
    • 等级:
    • 排名:第1507名
    • 原创:107篇
    • 转载:1382篇
    • 译文:0篇
    • 评论:57条
    最新评论