青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

posts - 101,  comments - 57,  trackbacks - 0

1.代碼

#include<iostream>

using namespace std;

class A
public:
    
virtual void fun1(){ cout<<"A::fun1"<<endl;}
    
virtual void fun2(){cout<<"A::fun2"<<endl;}
}
;


class B : public A
{     
public:    
    
virtual void fun1(){ cout<<"B::fun1"<<endl;}
    
virtual void fun2(){cout<<"B::fun2"<<endl;}
}
;

void main(){
    
    
void (A::*f1)();  
    
void (A::*f2)();  
    
    A 
*p=new B;
    
    f1 
= &A::fun1;
    f2 
= &A::fun2;
    (p
->*f1)();
    (p
->*f2)();

    printf(
"f1 = %p f2 = %p\n", f1, f2);
    printf(
"B::fun1 = %p, B::fun2 = %p\n"&A::fun1, &A::fun2);
    delete p;
    system(
"pause");
    
}

2.結(jié)果
B::fun1
B::fun2
f1 = 004010AA f2 = 004010B4
B::fun1 = 004010AA, B::fun2 = 004010B4

3.解惑
  i. 如果對(duì)于為什么f  = A::funx 卻輸出的是B::funx?
  ii. 為什么A::funx = B::funx

 以上兩個(gè)問(wèn)題可以當(dāng)作是一個(gè),看看匯編就知道了,他們將生成一個(gè)虛函數(shù)的選擇函數(shù),短小的函數(shù)負(fù)責(zé)選對(duì)應(yīng)虛函數(shù)中的位置,根據(jù)對(duì)象的虛函數(shù)表而定,所以....

4.匯編
  debug

0040121E   .  C745 F0 AA104>mov     dword ptr [ebp-10], 004010AA
00401225   .  C745 EC B4104>mov     dword ptr [ebp-14], 004010B4
0040122C   .  8BF4          mov     esi, esp
0040122E   .  8B4D E8       mov     ecx, [ebp
-18]
00401231   .  FF55 F0       call    [ebp-10]
00401234   .  3BF4          cmp     esi, esp
00401236   .  E8 A5870000   call    _chkesp
0040123B   .  8BF4          mov     esi, esp
0040123D   .  8B4D E8       mov     ecx, [ebp
-18]
00401240   .  FF55 EC       call    [ebp-14]
00401243   .  3BF4          cmp     esi, esp
00401245   .  E8 96870000   call    _chkesp
0040124A   .  8B55 EC       mov     edx, [ebp
-14]

0040124D   .  52            push    edx                              ; /<%p>
0040124E   .  8B45 F0       mov     eax, [ebp-10]                    ; |
00401251   .  50            push    eax                              ; |<%p>
00401252   .  68 48404300   push    00434048                         ; |format = "f1 = %p f2 = %p",LF,""
00401257   .  E8 14820000   call    printf                           ; \printf
0040125C   .  83C4 0C       add     esp, 0C
0040125F   .  68 B4104000   push    004010B4                         ; /<%p> = Cplusplu.004010B4
00401264   .  68 AA104000   push    004010AA                         ; |<%p> = Cplusplu.004010AA
00401269   .  68 24404300   push    00434024                         ; |format = "B::fun1 = %p, B::fun2 = %p",LF,""
0040126E   .  E8 FD810000   call    printf                           ; \printf

00402300 > > \8B01          mov     eax, [ecx]                     // 第一個(gè)虛函數(shù)
00402302   .  FF20          jmp     [eax]
00402304      CC            int3
00402305      CC            int3
00402306      CC            int3
00402307      CC            int3
00402308      CC            int3
00402309      CC            int3
0040230A      CC            int3
0040230B      CC            int3
0040230C      CC            int3
0040230D      CC            int3
0040230E      CC            int3
0040230F      CC            int3
00402310 > >  8B01          mov     eax, [ecx]          // 第二個(gè)虛汗數(shù)
00402312   .  FF60 04       jmp     [eax+4]



release

00401019  |> \33F6          xor     esi, esi
0040101B  
|>  8BCE          mov     ecx, esi
0040101D  
|.  E8 5E060000   call    00401680
00401022  |.  8BCE          mov     ecx, esi
00401024  |.  E8 67060000   call    00401690
00401029  |.  68 90164000   push    00401690                         ;  Entry address
0040102E  
|.  68 80164000   push    00401680                         ;  Entry address
00401033  |.  68 C4F04000   push    0040F0C4                         ;  ASCII "f1 = %p f2 = %p",LF
00401038  |.  E8 2D310000   call    0040416A
0040103D  
|.  83C4 0C       add     esp, 0C
00401040  |.  68 90164000   push    00401690                         ;  Entry address
00401045  |.  68 80164000   push    00401680                         ;  Entry address
0040104A  
|.  68 A8F04000   push    0040F0A8                         ;  ASCII "B::fun1 = %p, B::fun2 = %p",LF
0040104F  
|.  E8 16310000   call    0040416A

00401680   $  8B01          mov     eax, [ecx]
00401682   .  FF20          jmp     [eax]
00401684      CC            int3
00401685      CC            int3
00401686      CC            int3
00401687      CC            int3
00401688      CC            int3
00401689      CC            int3
0040168A      CC            int3
0040168B      CC            int3
0040168C      CC            int3
0040168D      CC            int3
0040168E      CC            int3
0040168F      CC            int3
00401690   $  8B01          mov     eax, [ecx]
00401692   .  FF60 04       jmp     [eax+4]


posted on 2008-03-08 18:12 margin 閱讀(312) 評(píng)論(0)  編輯 收藏 引用 所屬分類: C/C++逆向工程
<2011年5月>
24252627282930
1234567
891011121314
15161718192021
22232425262728
2930311234

常用鏈接

留言簿

隨筆檔案

文章分類

文章檔案

收藏夾

常去的壇子

  • CVC電腦病毒論壇
  • 很多人說(shuō)我是AV,我告訴他們:別瞧不起人,我們也能創(chuàng)造價(jià)值
  • 安全焦點(diǎn)
  • 黑客聚集的地方,一般是好酒最多的地方...
  • 看雪論壇
  • 國(guó)內(nèi)最強(qiáng)的加密解密論壇,成醉其中經(jīng)常夜不歸宿
  • 驅(qū)動(dòng)開(kāi)發(fā)論壇
  • 厭倦了啤的朋友們,來(lái)我們來(lái)整點(diǎn)白的...痛痛快快的BSOD也好過(guò)隔鞋瘙癢!

我的朋友

  • Sen的blog
  • IDE方面資深的受害者...經(jīng)常為一個(gè)變量的定義找不著北的痛苦程序員(深表同情)
  • 老羅的blog
  • 良師益友,千年水牛,引擎猛男,分析怪獸,墨鏡酷哥,臺(tái)球高手....

搜索

  •  

最新評(píng)論

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            妖精成人www高清在线观看| 香蕉尹人综合在线观看| 亚洲新中文字幕| 亚洲国产视频一区| 一区免费在线| 亚洲无限av看| 亚洲一区二区欧美| 欧美在线观看一二区| 久久国产主播精品| 久久人人爽国产| 欧美大香线蕉线伊人久久国产精品| 久久久久久久波多野高潮日日| 久久久久久久999精品视频| 久久久xxx| 欧美日韩国产综合视频在线观看中文 | 亚洲一区久久久| 亚洲欧美欧美一区二区三区| 久久aⅴ国产紧身牛仔裤| 久久综合一区二区| 欧美日韩免费观看一区二区三区 | 国产女人精品视频| 激情综合激情| 一二三区精品福利视频| 欧美在线一级va免费观看| 开心色5月久久精品| 亚洲国产精品悠悠久久琪琪| 亚洲第一主播视频| 亚洲一区自拍| 欧美国产日韩免费| 国产一区二区三区丝袜| 中日韩美女免费视频网址在线观看| 欧美在线观看一区二区三区| 欧美大胆a视频| 午夜精品成人在线视频| 欧美福利视频网站| 国内精品久久久久久 | 亚洲午夜精品久久| 欧美成人精品h版在线观看| 国产欧美日韩视频一区二区| 亚洲区中文字幕| 久久久噜噜噜久久| 香蕉视频成人在线观看| 欧美视频在线一区二区三区| 亚洲国产日韩精品| 狼狼综合久久久久综合网| 亚洲午夜免费福利视频| 欧美精品三区| 免费在线日韩av| 国产一区二区三区网站| 亚洲欧美一区二区激情| 亚洲国产欧美不卡在线观看| 久久精品一区二区三区不卡牛牛 | 亚洲欧美成人网| 欧美日韩三级电影在线| 亚洲乱亚洲高清| 老鸭窝毛片一区二区三区| 亚洲欧美在线aaa| 国产精品v欧美精品v日韩精品| 亚洲精品护士| 亚洲福利国产| 欧美77777| 亚洲精品美女在线观看| 欧美黑人多人双交| 久久久综合网站| 亚洲国产精品一区二区尤物区| 久久精品国产久精国产爱| 亚洲免费一区二区| 国产日韩欧美精品在线| 久久久精品一区| 欧美一区二区三区免费视| 国产午夜精品在线| 久久视频免费观看| 久久婷婷久久| 亚洲三级电影全部在线观看高清| 欧美激情在线有限公司| 久久亚洲一区| 亚洲乱码一区二区| 亚洲视屏一区| 国产免费成人av| 牛牛国产精品| 欧美日韩国产bt| 亚洲欧美卡通另类91av| 小黄鸭精品aⅴ导航网站入口| 国内精品久久久久影院优| 久久一区二区三区四区五区| 久久一区精品| 夜夜精品视频| 午夜天堂精品久久久久| 在线观看的日韩av| 亚洲伦理在线| 国产一区二区视频在线观看| 免费观看成人| 国产精品国色综合久久| 久久亚洲捆绑美女| 欧美—级a级欧美特级ar全黄| 一区二区三区欧美在线观看| 欧美一级视频一区二区| 在线日韩视频| 亚洲欧美成人精品| 日韩系列在线| 久久久www免费人成黑人精品 | 久久久www成人免费毛片麻豆| 久久久噜噜噜久久| 亚洲视频视频在线| 免费不卡视频| 久久xxxx| 亚洲图片在区色| 在线观看不卡av| 一区二区久久久久| 亚洲大片免费看| 午夜精品久久久久久99热| 亚洲狼人综合| 久久九九久精品国产免费直播| 亚洲综合成人在线| 欧美国产日本在线| 欧美 日韩 国产 一区| 国产精品乱子久久久久| 亚洲国产三级网| 狠狠操狠狠色综合网| 日韩视频在线一区二区三区| 尤物yw午夜国产精品视频| 亚洲在线成人| 亚洲午夜精品久久久久久app| 美女日韩在线中文字幕| 久久久久一区二区三区| 国产精品视频1区| 日韩亚洲欧美一区二区三区| 亚洲精品一区久久久久久| 久久九九电影| 久久综合99re88久久爱| 国产亚洲欧洲| 欧美在线短视频| 久久久www成人免费毛片麻豆| 国产欧美精品在线播放| 亚洲小视频在线| 亚洲欧美国产精品桃花| 欧美网站在线| 宅男噜噜噜66一区二区| 亚洲欧美日韩国产一区二区| 欧美精品自拍| 91久久夜色精品国产网站| 亚洲人成网站777色婷婷| 欧美成人午夜剧场免费观看| 欧美freesex8一10精品| 伊人久久大香线蕉av超碰演员| 久久激情网站| 免费中文字幕日韩欧美| 有坂深雪在线一区| 久久亚洲一区| 亚洲美女91| 欧美一级电影久久| 国产日本亚洲高清| 久久人人97超碰精品888| 欧美高清在线| 一区二区三区高清在线| 国产精品久久午夜| 久久超碰97中文字幕| 欧美jizz19hd性欧美| 亚洲国产视频一区| 欧美日韩一区二| 欧美亚洲在线观看| 亚洲第一主播视频| 亚洲主播在线播放| 激情一区二区| 国产精品高潮呻吟久久| 久久爱www.| 99国产欧美久久久精品| 久久国产黑丝| 亚洲激情成人网| 国产精品久久久久久模特 | 欧美高清视频一区二区三区在线观看| 亚洲精品在线免费| 国产嫩草一区二区三区在线观看 | 99re在线精品| 久久精品九九| 亚洲精品国精品久久99热| 国产精品va在线| 久久久999国产| 日韩一二三区视频| 毛片一区二区三区| 亚洲欧美日韩在线高清直播| 国产在线拍偷自揄拍精品| 欧美激情1区| 久久成人亚洲| 中文网丁香综合网| 欧美成人激情视频免费观看| 亚洲欧美日韩在线观看a三区| 亚洲电影免费| 国产亚洲高清视频| 国产精品成人免费| 欧美 亚欧 日韩视频在线| 性做久久久久久免费观看欧美| 亚洲国产专区校园欧美| 久久欧美肥婆一二区| 亚洲一区二区三区久久| 亚洲欧洲精品一区| 黄网站免费久久| 国产在线拍揄自揄视频不卡99| 欧美日韩www| 欧美成人福利视频|