0x0 概述
本文描述了arm32汇编下,如何通过识别虚函数进而实现全局对象的识别。
0x1 c代码
#include <stdio.h>
class CGlobal{
public:
CGlobal(){
printf("CGLoabla \r\n");
}
CGlobal(int nInt){
printf("CGloabal(int nInt) %d\r\n",nInt);
}
CGlobal(char *pChar){
printf("CGlobal(char *pChar) %s \r\n",pChar);
}
virtual ~CGlobal(){
printf("~CGlobal() \r\n");
}
void Show(){
printf("对象首地址:%p \r\n",this);
}
};
CGlobal g_void;
CGlobal g_int(10);
CGlobal g_pChar((char *)"hello");
int main()
{
g_void.Show();
g_int.Show();
g_pChar.Show();
}
0x2 全局对象的识别
全局对象需要在main函数执行之前完成初始化,