C++反汇编第二讲,不同作用域下的构造和析构的识别
目录大纲:
1.全局(静态)对象的识别,(全局静态全局一样的,都是编译期间检查,所以当做全局对象看即可.)
...E3代理,E3代理稍后讲解,我们要知道E3是干什么用的要先知道一个C库函数的作用.
3.E3代理内部,以及C库函数作用
C库函数,atexit 注册函数回调,main函数结尾的时候进行收尾动作(也就是释放资源的动作...atexit函数注册的回调,这样在析构的时候则调用E2即可.
7.E2函数内部是真正的调用析构的....实战中反汇编查找全局对象
既然我们知道了atexit函数会调用析构,那么我们在IDA中搜索atexit函数,看看谁引用了它,则可以把全局对象一网打尽.
?
?
...很明显的特征
1.函数调用前会调用一次构造
2.调用函数
3.函数结束之前调用析构.