• <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 閱讀(377) 評論(0)  編輯 收藏 引用 所屬分類: Windows GenericDebug \ Reverse EngineeringWork Experience
            国产视频久久| 欧美精品乱码99久久蜜桃| 国产精品久久久久久久久免费 | 中文字幕热久久久久久久| 精品人妻伦九区久久AAA片69 | 精品综合久久久久久98| 久久99热只有频精品8| 久久久无码精品亚洲日韩软件| 久久天天躁狠狠躁夜夜avapp| 国产成人久久精品区一区二区| 精品国产热久久久福利| 久久久久久久久无码精品亚洲日韩 | 久久精品国产亚洲AV无码麻豆| 94久久国产乱子伦精品免费| 久久精品无码一区二区三区日韩| 97久久婷婷五月综合色d啪蜜芽| 久久精品国产91久久麻豆自制 | 囯产极品美女高潮无套久久久 | 亚洲国产精品狼友中文久久久| 久久久久免费精品国产| 久久久久中文字幕| 日韩乱码人妻无码中文字幕久久| 99久久精品免费看国产| 久久影院综合精品| 久久精品国产久精国产一老狼| 99国产精品久久久久久久成人热| 久久久精品久久久久影院| 久久66热人妻偷产精品9| 亚洲精品无码专区久久同性男| 久久99精品国产自在现线小黄鸭| 久久精品国产精品国产精品污 | 伊人久久精品无码av一区| 亚洲综合婷婷久久| 日本人妻丰满熟妇久久久久久| 久久精品国产亚洲7777| A级毛片无码久久精品免费| 麻豆精品久久久一区二区| 色综合久久久久综合99| 久久精品国产福利国产秒| 91精品国产91久久久久久青草| 亚洲中文字幕无码久久2020|