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

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>
            亚洲视屏在线播放| 亚洲精品美女在线观看| 国产精品日韩一区二区三区| 国产精品免费福利| 亚洲午夜羞羞片| 国产精品一区二区在线观看网站 | 伊人成人开心激情综合网| 亚洲另类视频| 国产日韩欧美综合一区| 亚洲福利在线看| 国产精品永久免费视频| 欧美一区二区精美| 91久久精品国产| 久久精品在这里| 亚洲大胆女人| 亚洲精品一区二区在线观看| 久久嫩草精品久久久久| 亚洲第一搞黄网站| 性亚洲最疯狂xxxx高清| 午夜激情久久久| 鲁鲁狠狠狠7777一区二区| 欧美视频中文字幕在线| 韩日欧美一区二区| 亚洲欧美日韩中文视频| 女仆av观看一区| 亚洲欧美综合v| 国产精品v一区二区三区| 亚洲欧洲精品一区二区三区波多野1战4| 夜夜嗨av一区二区三区四季av| 久久精品国产69国产精品亚洲| 久久精品二区亚洲w码| 噜噜噜噜噜久久久久久91| 激情欧美一区二区三区| 欧美在线播放一区二区| 午夜电影亚洲| 影音先锋中文字幕一区二区| 亚洲欧洲一区二区三区在线观看| 亚洲电影在线看| 一区二区亚洲| 国产精品久久久91| 国产精品婷婷| 欧美—级a级欧美特级ar全黄| 一区二区三区无毛| 亚洲女爱视频在线| 亚洲一区二区三区在线视频| 欧美日韩国产综合网| 欧美日韩情趣电影| 亚洲国产精品久久久久| 国产人妖伪娘一区91| 亚洲欧美日韩专区| 欧美一区二区视频在线观看| 亚洲在线免费| 欧美一二区视频| 欧美成人精品h版在线观看| 久久久青草婷婷精品综合日韩| 麻豆精品网站| 亚洲欧美综合| 久久精品亚洲| 在线视频观看日韩| 日韩小视频在线观看| 国产精品视频区| 欧美va亚洲va国产综合| 欧美日韩国产不卡在线看| 欧美影院在线| 欧美顶级艳妇交换群宴| 久久精品国产久精国产爱| 久久精品国产99| 亚洲一区欧美| 欧美理论电影在线播放| 久久免费高清| 国内视频一区| 亚洲一级高清| 亚洲免费一区二区| 日韩一级二级三级| 免费精品99久久国产综合精品| 亚洲欧美日本精品| 欧美无砖砖区免费| 正在播放欧美一区| 亚洲欧美一区二区原创| 欧美香蕉大胸在线视频观看| 亚洲国内精品| 亚洲精品视频免费| 久久久久综合| 国产精品美女久久久久av超清| 亚洲欧洲精品一区二区三区不卡 | 精品成人一区二区| 亚洲综合欧美| 免费不卡在线观看av| 亚洲欧洲偷拍精品| 欧美性大战xxxxx久久久| 亚洲欧美清纯在线制服| 久久精品视频在线播放| 亚洲电影激情视频网站| 欧美福利小视频| 亚洲一区二区三区四区视频| 欧美中文字幕视频| 亚洲精品乱码久久久久久| 欧美日韩成人网| 欧美一级免费视频| 日韩小视频在线观看专区| 久久男女视频| 亚洲综合精品一区二区| 一区二区视频免费完整版观看| 亚洲天堂成人| 日韩特黄影片| 乱中年女人伦av一区二区| 免费观看成人www动漫视频| 一区二区三区日韩精品视频| 国产无一区二区| 国产精品久久久对白| 欧美国产精品一区| 久久综合影视| 久久久久一区二区三区四区| 亚洲一区二区精品视频| 欧美中文在线观看国产| 亚洲一区二区在线看| 亚洲国内自拍| 亚洲大片在线| 亚洲国产综合视频在线观看| 国产人成精品一区二区三| 亚洲国产欧美日韩| 亚洲国产成人在线| 蜜臀久久99精品久久久久久9 | 欧美经典一区二区三区| 噜噜噜躁狠狠躁狠狠精品视频 | 亚洲男人第一网站| 午夜在线观看免费一区| 久久国产精品久久久久久| 久久精品一级爱片| 欧美成人精品在线观看| 欧美日韩福利视频| 国产精品一区免费视频| 好吊视频一区二区三区四区 | 亚洲高清不卡| 亚洲特色特黄| 美女爽到呻吟久久久久| 亚洲精品久久久久久久久久久久| 亚洲美女电影在线| 亚洲无亚洲人成网站77777 | 欧美性做爰毛片| 亚洲电影观看| 久久久久成人网| 9i看片成人免费高清| 久久一二三区| 国产日韩欧美精品在线| 亚洲三级视频在线观看| 欧美与黑人午夜性猛交久久久| 欧美国产一区二区| 欧美一区二区三区电影在线观看| 欧美.日韩.国产.一区.二区| 国产精品五区| 欧美亚洲三级| 欧美一级在线视频| 亚洲国内欧美| 麻豆精品在线视频| 在线观看亚洲精品视频| 久久精品午夜| 久久精品久久综合| 91久久精品一区二区别| 亚洲大胆人体视频| 欧美精品久久久久久久免费观看| 亚洲电影免费观看高清完整版| 久久gogo国模裸体人体| 亚洲欧美日韩精品久久| 国产毛片一区二区| 麻豆成人在线播放| 欧美国产日韩在线观看| 亚洲天堂网站在线观看视频| 在线性视频日韩欧美| 国产欧美日本一区二区三区| 亚洲影院污污.| 久久不射中文字幕| 精品福利电影| 日韩亚洲精品视频| 国产亚洲激情视频在线| 免费在线亚洲欧美| 欧美女同在线视频| 久久精品国产久精国产思思| 欧美成人a∨高清免费观看| 亚洲精品九九| 亚洲欧美日韩精品久久亚洲区 | 亚洲欧洲在线观看| 欧美婷婷六月丁香综合色| 久久久国产成人精品| 欧美精品成人在线| 老司机成人在线视频| 欧美日韩一区二区三区在线视频 | 欧美二区不卡| 亚洲第一综合天堂另类专| 国产精品亚洲美女av网站| 亚洲精品视频中文字幕| 亚洲欧洲精品一区二区三区波多野1战4 | 一区二区免费在线播放| 久久精品成人| 欧美伊久线香蕉线新在线| 久久精品日韩一区二区三区| 欧美视频日韩视频在线观看| 欧美激情区在线播放| 伊人影院久久| 欧美中文字幕精品|