欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

怎樣通過(guò)指針突破C++類的訪問(wèn)權(quán)限

這篇文章將為大家詳細(xì)講解有關(guān)怎樣通過(guò)指針突破C++類的訪問(wèn)權(quán)限,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

創(chuàng)新互聯(lián)公司網(wǎng)站建設(shè)公司一直秉承“誠(chéng)信做人,踏實(shí)做事”的原則,不欺瞞客戶,是我們最起碼的底線! 以服務(wù)為基礎(chǔ),以質(zhì)量求生存,以技術(shù)求發(fā)展,成交一個(gè)客戶多一個(gè)朋友!專注中小微企業(yè)官網(wǎng)定制,做網(wǎng)站、成都做網(wǎng)站,塑造企業(yè)網(wǎng)絡(luò)形象打造互聯(lián)網(wǎng)企業(yè)效應(yīng)。

看如下代碼

#include "pch.h"
#include <iostream>
using namespace std;
class A {
public:
 A(int a, int b,int c) :m_a(a), m_b(b),m_c(c) {};
private:
 int m_a, m_b,m_c;
};
int main()
{
 A obj( 1, 2, 3);
 int a = obj.m_a; //Compile error
 A *p = new A(3,4,5);
 int b = p->m_b; //不可訪問(wèn)
}

因?yàn)锳中的m_a和m_b是private,所以不能訪問(wèn)。

但這只是語(yǔ)法層面上的不可訪問(wèn),我們?nèi)稳豢梢酝ㄟ^(guò)指針訪問(wèn)類中的private和protected。

假設(shè)對(duì)象obj的內(nèi)存模型為:

怎樣通過(guò)指針突破C++類的訪問(wèn)權(quán)限

起始地址為0x1000,因?yàn)槎紴閕nt整數(shù)類型,所以m_a、m_b、m_c都相距4個(gè)字節(jié),所以起始地址+他們相距的字節(jié)數(shù),就可以訪問(wèn)到成員變量的地址。

若m_b是public類型,則

int b = p->m_b;

是正確的,此時(shí)編譯器在內(nèi)部的轉(zhuǎn)換為:int b = *(int*)( (int)p + sizeof(int) );

1.p是指向?qū)ο髈bj的指針

2.(int)p 將指針轉(zhuǎn)化為int類型進(jìn)行加法運(yùn)算

3.sizeof(int)是int占據(jù)的字節(jié)長(zhǎng)度,用來(lái)計(jì)算m_b的偏移量

4.(int)p+sizeof(int)得到的就是m_b的地址,但此時(shí)是int類型,所以通過(guò)(int*)強(qiáng)制轉(zhuǎn)換為int*類型

5.開頭的*是為了獲取地址上的數(shù)據(jù)

如此一來(lái),上面錯(cuò)誤的代碼可寫為:

int a = *(int*)(&obj);
int b = *(int*)( (int)p + sizeof(int) );
/*-------訪問(wèn)變量m_c--------*/
int c =*(int*)( (int)p + sizeof(int)*2 );

這樣就可以突破訪問(wèn)限制了(其他類型類似)

關(guān)于“怎樣通過(guò)指針突破C++類的訪問(wèn)權(quán)限”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。

分享題目:怎樣通過(guò)指針突破C++類的訪問(wèn)權(quán)限
地址分享:http://aaarwkj.com/article32/jjjcpc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護(hù)、Google、動(dòng)態(tài)網(wǎng)站、品牌網(wǎng)站設(shè)計(jì)、企業(yè)網(wǎng)站制作移動(dòng)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)
偷拍色图一区二区二区| 色哟哟在线观看国产精品| 色吊最新在线视频免费观看| 青草草草草草在线观看| 国产爆操美女在线观看| 一区二区三区高清人妻| 久久国产亚洲欧美一区| 高潮的毛片激情久久精品| 亚洲欧美熟妇欲乱又伦| 国产亚洲视频一区二区观看| 国产一边打电话一边操| 少妇午夜福利一区二区| 黄色成人av在线网站| 福利一区二区在线视频| 在线观看精品日本一区二| 日韩av一区二区在线| 国产网红女主播视频一区二区| 丰满人妻一区二三区av| 日本啪啪精品一区二区三区| 国产97精品在线播放| 国产伦理自拍视频在线观看| 中文字幕日韩欧美资源站| 国产亚洲中文字幕无线乱码| 亚洲av精二区三区四区| 97视频在线视频免费| 久久热在线视频精品视频| 亚洲无人区码一码二码三码| 一区二区三区欧美日韩| 91免费看片在线观看| 国产高清av免费观看| 久久96国产精品久久久| 亚洲高清无毛一区二区| 日本一区二区不卡视频在线播放| 欧美日韩一级一区二区| 亚洲高清有码在线观看| 丝袜美腿诱惑国产在线| 国产乱码精品一区二区三区爽爽爽| 在线观看不卡的黄色地址| 欧美精品欧美激情免费区| 国产精品一级自拍视频| 免费不卡无码毛片观看|