• <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>

            曲徑通幽

            programming_with_fun();

              C++博客 :: 首頁 :: 聯系 :: 聚合  :: 管理
              18 Posts :: 0 Stories :: 5 Comments :: 0 Trackbacks

            常用鏈接

            留言簿(6)

            我參與的團隊

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

              最近拿到一個第三方廠家的庫,由于Delphi的同事看不懂c++的例子,所以讓我用C++封裝一個簡單的Wrapper給其調用。
              后來發現一個問題,由于原始的函數聲明中的參數使用字符數組 (char szData[MAX_PATH])  而不是用常用的指針(char *),給Delphi同事調用后,發現函數調用完退棧時候程序本潰,原因是訪問違例,非法地址訪問0x72。
              這么一來感覺比較奇怪,0x72 這個地址顯然是個垃圾地址,一般如果是空指針的話因該是 0x00,如果是野指針,一般也不至于會那么小,0x72與程序加載地址都相去甚遠。
              在vc6(公司只準用vc6)里跟了一下反匯編,感覺信息缺少比較多,能看到的地方已經堆棧被破壞了。于是用了OD跟一下。發現Delphi調用我封裝的 函數時,明明2個入參,卻傳入了3個。多傳了個260。260對于vc程序員應該比較熟悉了,就是MAX_PATH的值。于是乎,告知了Delphi程序 員,方才得知,原來Delphi是可以在聲明時指定數組長度的,也就是說,函數的入參,數組和指針是兩種聲明,如此一來,水落石出了。
            posted on 2010-06-20 23:34 Meiosis 閱讀(372) 評論(0)  編輯 收藏 引用 所屬分類: Windows GenericDebug \ Reverse EngineeringWork Experience
            综合网日日天干夜夜久久| 久久人人爽人人爽人人AV东京热 | 久久久久久久97| 久久久久久久久久久精品尤物| 久久久久人妻一区二区三区vr| 999久久久免费国产精品播放| 中文精品久久久久人妻| 久久久久人妻一区精品色| 久久久久亚洲精品天堂久久久久久 | 天天做夜夜做久久做狠狠| 日韩精品久久久久久免费| 久久精品三级视频| 久久夜色精品国产欧美乱| 久久天天日天天操综合伊人av| 久久国产精品99精品国产| 无码任你躁久久久久久久| 久久免费视频网站| 亚洲色婷婷综合久久| 伊人久久大香线蕉无码麻豆| 久久免费视频观看| 波多野结衣中文字幕久久| 国产精品美女久久福利网站| 激情久久久久久久久久| 国产成人久久精品一区二区三区| 久久99国产精品久久99小说| 久久久久久久久久免免费精品| 久久国产乱子精品免费女| 中文字幕日本人妻久久久免费| 一本久久综合亚洲鲁鲁五月天| 国产免费久久精品99久久| 麻豆精品久久精品色综合| 久久99国产精品一区二区| 久久精品国产亚洲77777| 色综合久久中文字幕无码| 亚洲伊人久久大香线蕉综合图片| 欧美精品九九99久久在观看| 蜜桃麻豆www久久国产精品| 久久久久噜噜噜亚洲熟女综合| 久久人妻少妇嫩草AV无码蜜桃 | 久久综合视频网站| 亚洲精品乱码久久久久久蜜桃|