E3代理含义:
明白其上面的 atexit函数的原理,那么现在看看其E3内部的实现
?...E3内部其实是将E2函数注册进了atexit函数,当结束的时候则会调用E2
那么现在看看E2
E2函数内部:
?...答:
因为atexit的参数的c约定回调,而析构是thiscall,调用约定,所以内部必须包含一层才可以....函数正常运行而注册的(atexit和ininterm类似,一个从前往后,一个从后往前)
6.E2是E3内部给atexit函数注册的回调,这样在析构的时候则调用E2即可.
7.E2函数内部是真正的调用析构的...实战中反汇编查找全局对象
既然我们知道了atexit函数会调用析构,那么我们在IDA中搜索atexit函数,看看谁引用了它,则可以把全局对象一网打尽.
?
?