• <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 閱讀(384) 評論(0)  編輯 收藏 引用 所屬分類: Windows GenericDebug \ Reverse EngineeringWork Experience
            99久久精品国产一区二区| 久久精品无码免费不卡| 99久久99久久精品免费看蜜桃| 精品久久久久久久无码 | 精品免费久久久久久久| 国产精品永久久久久久久久久| 久久久久久久精品妇女99| 久久精品天天中文字幕人妻| 久久久久久久国产免费看| 久久久久久亚洲Av无码精品专口| 国产午夜电影久久| 国产精品一久久香蕉产线看| 色婷婷综合久久久久中文字幕| 97久久久久人妻精品专区| yy6080久久| 久久91这里精品国产2020| 久久国产精品久久国产精品| A级毛片无码久久精品免费| 久久久久久国产精品美女| 久久精品国产一区| 久久天堂AV综合合色蜜桃网| 久久久久久久久66精品片| 久久精品这里只有精99品| 国产综合久久久久| 无码AV波多野结衣久久| 国产精品久久新婚兰兰| 色婷婷久久综合中文久久一本| 国产成人精品久久综合| 久久久久久综合一区中文字幕| 久久久噜噜噜www成人网| 伊人久久精品无码二区麻豆| 久久综合色老色| 区久久AAA片69亚洲| 精品久久久久久久国产潘金莲| 久久久久免费视频| 久久男人AV资源网站| 亚洲国产天堂久久久久久| 久久久久久国产a免费观看不卡| 欧美精品丝袜久久久中文字幕 | 999久久久免费精品国产| 国产精品久久久久国产A级|