自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 8 继承和多重继承

单一继承父类先构造!析构的时候是反着的!尽量把析构函数定义成虚函数,因为将基类的析构函数定义为虚函数后,当利用delete删除一个指向派生类定义的对象指针时,系统会调用相应的类的析构函数。而不将析构函数定义为虚函数时,只调用基类的析构函数。本类中成员是其他自定义类,根据顺序构造。根据上图可以看出 子类 *b = (子类*)a是错误的,因为子类的指针访问越界了 【a是父类】根据上图可以看出 子类的内存布局,那么this+0处的虚表最后被修改成子类的虚表了 如果子类重写了虚函数,.

2021-02-08 20:07:41 96

原创 7 虚函数的虚表

class A{public: A(){ printf("A()\n"); }; ~A(){ printf("~A()\n"); } virtual void vir() { printf("vir "); } };只要类中有虚函数,那么编译器一定会给分配默认的构造函数,在构造函数内部,会把this指针的第一个4字节数据修改为虚表地址 虚表地址是一个指针 指向了虚表 虚表中存放的是虚函数的地址虚表存放的是虚函数地址如果想要间接调...

2021-02-08 16:34:32 71

原创 6 构造函数和析构函数

构造函数

2021-02-07 14:09:14 116

原创 5 类和结构体

class A {public: A() { a=1; b=2; } char c; int a; int b;}; int main(int argc, char* argv[]){ A a; printf("%d",a.b); return 0;}看构造函数 返回this指针空类的占1个字节 用来实例化 class A {public: A() { a=1; b=2; } char c; i...

2021-02-06 20:28:08 73

原创 4 数组和指针的寻址 and 局部静态变量

数组在内存中是一个连续地址的变量 void shuzu(int a[],char *b){ a[0]=1; a[1]=2; b[0]='c'; b[5]=0; return ;} int main(int argc, char* argv[]){ int a[]={0,1,2,3,4,5,6}; char b[]="12345678910111"; printf("%d",a[2]); prin...

2021-02-06 13:07:49 120

原创 3 流程控制结构的识别

if ese流程控制语句在汇编中的结构一下是IDA的一个错误:vc源代码float c=argc*2.03,d=3.333;; float e=a(d,c); if (e>15) { int h=e; printf("%d",h); }else { int h=e-1; printf("%d",h); } if(e<15) { int i=e; printf("%d",i); }else if(e==15) {...

2021-02-05 23:23:44 49

原创 2 基本数据类型的表现形式(浮点数的操作)

一 :负数的表现形式补码:用0减去这个数值的绝对值(对应1),也可以表达为对这个数值取反加一(对应2)。1: -1 对应的是 0xFFFFFFFF (8位) > 0-1= 0X100000000(9位) - 0x000000001(9位)=0xFFFFFFFFF(9位) >因为1个字节是8位 所以丢失掉最前面一个F2: -2 对应的是 0xFFFFFFFE但是not之后却变成了1如果要找负数的取反 一定要记住+1二 浮点数据计算in...

2021-02-05 17:11:30 460

原创 1 C++反汇编 IDA sig的作用和生成方法

用到工具:ida7.5 : 链接:https://pan.baidu.com/s/104yOAxQ_LqqHC3275xjj4Q 提取码:1234sig生成工具:链接:https://pan.baidu.com/s/1NgRVR3eQRBdYyIImWeI8Jw 提取码:1234ida不仅可以把lib里面的函数识别出来 也可以通过exe的obj来识别自定义的函数名ida 通过快捷键shift+F5 可以打开sig文件目录清单可以通过lib生成OBJ文件 然后通过OBJ文件生成PAT文

2021-02-05 15:45:58 399

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除