- 1.在IDA中跳转到指定地址的快捷键是()
 - 2.List类模版中内存布局描述错误的是()
 - 3.vector类模版中内存布局描述错误的是()
 - 4.map类模版中内存布局描述错误的是()
 - 5.以下对这两条指令的描述错误的是()
 - 6.对于全局对象,以下描述错误的是()
 - 7.string类模版中内存布局描述错误的是()
 - 8.vector的原理描述正确的是()
 - 9.List的原理描述正确的是()
 - 10.map的原理描述正确的是()
 - 11.从逆向角度讲,以下不属于构造函数的特点的是()
 - 12.从逆向角度讲,以下属于析构函数的特点的是()
 - 13.从逆向角度讲,不属于成员函数的特点()
 - 14.静态函数与友元函数的特点描述错误的是()
 - 15.关于虚函数表描述错误的是 ()
 - 16.关于初始化和访问虚函数表错误的是()
 - 17.在MFC界面程序中如何快速有效的定位到关键代码调用处()
 - 18.不能用来识别一个程序是什么编译环境()
 - 19.逆向分析的方法有那些()
 - 20.OD中使用那个快捷键复制二进制代码()
 
1.在IDA中跳转到指定地址的快捷键是()
2.List类模版中内存布局描述错误的是()
初始化0Ch个字节的空间
第二个字段直接指向添加的数据
第一个字段是一个指向自己的指针
第三个字段存放着元素的个数
3.vector类模版中内存布局描述错误的是()
初始化10h个字节的空间
第一个字段是一个指向自己的指针
第三个字段存放着元素的个数
第二个字段直接指向数据的数组
4.map类模版中内存布局描述错误的是()
第三个字段存放着元素的个数
初始化10h个字节的空间      0c
第二个字段指向数据的结构体
第一个字段是一个指向自己的指针
5.以下对这两条指令的描述错误的是()
Lea ecx,[ebp-0x24];
call 00401168;
mov edx,eax;
Edx保存函数的返回值
这是c++类成员函数的调用
这函数使用thiscall约定
选项都是错误的
6.对于全局对象,以下描述错误的是()
构造函数会早于main函数的开始
析构函数会在main函数结束后调用
构造只能在main函数内被调用
构造函数会在_initterm中被调用
7.string类模版中内存布局描述错误的是()
第二个字段是一个联合体,保存指向字符的指针或字符
初始化1Ch个字节的空间
选项都是错误的
第一个字段是一个指向自己的指针
8.vector的原理描述正确的是()
9.List的原理描述正确的是()
10.map的原理描述正确的是()
11.从逆向角度讲,以下不属于构造函数的特点的是()
没有返回值
全局对象的构造在_initterm函数完成。
返回值是this指针
初始化缓冲区(清0)
12.从逆向角度讲,以下属于析构函数的特点的是()
析构函数一般作用释放资源
选项都是对的
局部对象,会在函数返回前,调用析构
全局对象的析构是在exit函数中完成的
13.从逆向角度讲,不属于成员函数的特点()
访问或者修改成员变量,一般都是使用this指针加上偏移来实现。
获取成员变量的函数,一般返回值是从 this 指针指向的内存空间中获取的。
this指针存一般放在edx中                     ecx
设置成员变量的函数,一般参数传递进去之后会修改 this 指针所指向的内存空间。
14.静态函数与友元函数的特点描述错误的是()
友元函数一般参数都是某个对象,或对象指针。
静态函数,没有this指针,没有ecx传参。
静态函数的两种调用在反汇编都是一样的
友元函数,会传递this指针,ecx传参。    传递的是对象指针
15.关于虚函数表描述错误的是 ()
程序编译时,会自动生成虚函数表。
一个类对象的内存中可能存在多个虚表指针            虚函数表=虚表
如果类中存在继承时且都有虚函数,那么只会共用一个虚函数表。
虚函数表一般存在只读数据段(.rdata)
16.关于初始化和访问虚函数表错误的是()
当父类指针指向子类对象时,虚函数调用才会访问虚函数表。
如果有继承关系,父类和子类虚函数一样,也会有两个虚函数表,他们的虚函数表指针都是在各自的构造函数中初始化的。
构造函数中会初始化本类的虚函数表指针。
直接调用本类中虚函数,也会使用虚函数表访问虚函数。
// 006_菱形继承.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。//#include <iostream>using namespace std;class A {public:virtual void fun(){std:cout << "A:fun\n";}virtual void funA(){std:cout << "A:funA\n";}};class B1 : public A {public:virtual void fun(){std:cout << "B1:fun\n";}virtual void fun1(){std:cout << "B1:fun1\n";}virtual void fun2(){std:cout << "B1:fun2\n";}};class B2 : public A {public:virtual void fun(){std:cout << "B2:fun\n";}virtual void fun3(){std:cout << "B2:fun3\n";}virtual void fun4(){std:cout << "B2:fun4\n";}};int main(){A* p1 = new A;A* p2 = new B1;A* p3 = new B2;p1->fun();p2->fun();p3->fun();p1->funA();return 0;}

17.在MFC界面程序中如何快速有效的定位到关键代码调用处()
18.不能用来识别一个程序是什么编译环境()
19.逆向分析的方法有那些()
① 自上而下,单步跟踪
② 自下而上,下断栈回溯
③ 字符串分析
④ 源码对比
20.OD中使用那个快捷键复制二进制代码()
Shift+X
Shift+B
Ctrl+X
Ctrl+S
