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

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>
            亚洲欧洲日产国产综合网| 国产精品你懂得| 亚洲欧美日本国产专区一区| 亚洲人成亚洲人成在线观看| 欧美手机在线| 亚洲视频在线播放| 亚洲天堂免费观看| 欧美日韩理论| 在线亚洲精品| 久久伊人一区二区| 在线电影国产精品| 欧美国产专区| 亚洲午夜一级| 欧美大胆a视频| 亚洲一区二区在| 国产真实乱偷精品视频免| 麻豆freexxxx性91精品| 亚洲精品护士| 久久综合成人精品亚洲另类欧美| 好看的日韩视频| 欧美激情国产精品| 亚洲一区二区在线播放| 亚洲先锋成人| 在线免费观看日本欧美| 国产精品高潮呻吟久久| 免费亚洲电影在线| 久久久久久久性| 亚洲欧美日韩直播| 亚洲一区欧美激情| 中文久久精品| 一本色道久久88精品综合| 亚洲成人在线免费| 在线播放一区| 日韩一区二区精品| 欧美一区二区三区免费在线看| 日韩午夜在线播放| 亚洲国产精品传媒在线观看 | 久久久另类综合| 欧美在线观看视频在线| 亚洲欧美日产图| 亚洲天堂成人在线观看| 久久精品国产999大香线蕉| 亚洲国产成人不卡| 亚洲无玛一区| 在线亚洲激情| 亚洲第一综合天堂另类专| 亚洲六月丁香色婷婷综合久久| 欧美久久久久久蜜桃| 一区二区三区四区在线| 老司机午夜精品视频| 亚洲欧洲另类| 欧美一级电影久久| 久久久久久久999精品视频| 久久爱www.| 久久精品视频va| 欧美激情综合亚洲一二区| 亚洲欧美激情视频| 欧美91大片| 91久久久在线| 欧美国产日韩一区二区| 国产日韩三区| av72成人在线| 亚洲欧洲中文日韩久久av乱码| 国产精品毛片va一区二区三区| 欧美日韩不卡| 新片速递亚洲合集欧美合集| 亚洲电影毛片| 麻豆精品精华液| 另类专区欧美制服同性| 亚洲综合视频网| 欧美婷婷六月丁香综合色| 狠狠网亚洲精品| 中国亚洲黄色| 国产精品成人一区二区网站软件| 亚洲欧美一区二区精品久久久| 麻豆精品在线观看| 日韩视频在线你懂得| 欧美激情欧美激情在线五月| 久久女同精品一区二区| 美女精品网站| 嫩草国产精品入口| 亚洲一级在线观看| 美女久久网站| 亚洲网站在线看| 久久久水蜜桃| 国产欧美一级| 亚洲精一区二区三区| 美女视频黄免费的久久| 午夜精品福利视频| 欧美午夜视频网站| 一区二区三区日韩欧美精品| 国产精品亚洲网站| 中文日韩在线| 最新成人av网站| 麻豆精品91| 亚洲日本黄色| 亚洲精品字幕| 欧美日韩一区免费| 亚洲经典在线看| 欧美大片免费观看| 国产精品久久国产精品99gif| 麻豆免费精品视频| 国产一区二区黄色| 在线视频一区二区| 亚洲综合视频一区| 国产日韩欧美精品在线| 一区二区三区四区五区精品| 亚洲黄色精品| 国产精品一区一区三区| 欧美自拍偷拍| 久久一区免费| 亚洲午夜精品久久久久久app| 亚洲专区欧美专区| 国产在线精品一区二区夜色| 欧美好骚综合网| 国产精品国产成人国产三级| 亚洲欧美日韩一区二区| 久久国产欧美精品| 亚洲视频大全| 麻豆成人综合网| 性伦欧美刺激片在线观看| 久久婷婷久久| 久久岛国电影| 欧美日韩的一区二区| 久久综合久久久久88| 欧美三级欧美一级| 麻豆久久精品| 国产亚洲精品激情久久| 亚洲每日在线| 亚洲巨乳在线| 久久精品国产亚洲精品| 中文亚洲视频在线| 欧美一区二区三区视频| 亚洲免费影视| 欧美日韩一区二区在线播放| 亚洲激情第一页| 亚洲大片免费看| 久久精品国产99| 国产精品视频免费观看www| 亚洲精品国产精品乱码不99| 亚洲高清自拍| 麻豆成人在线| 夜夜精品视频| 午夜免费在线观看精品视频| 国产精品久久久久久久久久免费| 亚洲精品中文字幕女同| 99精品欧美| 国产精品男女猛烈高潮激情| 香蕉尹人综合在线观看| 久久久久久久久久久久久久一区 | 亚洲视频1区2区| 亚洲视频在线播放| 欧美午夜剧场| 欧美一区激情视频在线观看| 久久青草久久| 亚洲日本欧美天堂| 欧美日韩直播| 午夜一级久久| 亚洲成人自拍视频| 亚洲午夜一区二区三区| 狠狠久久亚洲欧美| 免费亚洲电影| 性欧美超级视频| 99国产精品久久久久久久| 欧美一区二区三区免费视频| 在线视频国产日韩| 欧美日韩一区精品| 久久亚洲国产精品一区二区| 一片黄亚洲嫩模| 亚洲国产精品传媒在线观看| 亚洲第一伊人| 日韩一级片网址| 日韩一区二区精品在线观看| 亚洲毛片av在线| 欧美一二三区精品| 麻豆av一区二区三区| 欧美天天视频| 一区二区三区在线视频免费观看 | 国产精品国产三级国产| 欧美理论大片| 国产精自产拍久久久久久蜜| 国产情侣一区| 久久久久久久999| 毛片一区二区| 国产精品r级在线| 好男人免费精品视频| 欧美网站在线观看| 国产精品久久久爽爽爽麻豆色哟哟| 欧美三级午夜理伦三级中文幕 | 亚洲每日在线| 1769国产精品| 亚洲第一精品夜夜躁人人爽| 加勒比av一区二区| 国产一区二区三区在线免费观看 | 欧美激情视频免费观看| 美女亚洲精品| 欧美国产视频在线| 国产精品日韩欧美大师| 国产视频久久久久久久| 伊人久久噜噜噜躁狠狠躁 |