• <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
            久久精品中文无码资源站| 久久精品免费一区二区| 久久精品国产一区二区三区日韩| 人妻精品久久久久中文字幕69 | 久久国产高清字幕中文| 一本久久久久久久| 国产精品久久新婚兰兰| 精品久久久久久国产潘金莲 | 18岁日韩内射颜射午夜久久成人| 一本色道久久综合亚洲精品| 国产亚洲欧美成人久久片| 伊人色综合九久久天天蜜桃| 久久se精品一区精品二区| 思思久久精品在热线热| 国产精品美女久久久久AV福利| 亚洲国产成人精品女人久久久| 成人综合伊人五月婷久久| 久久精品极品盛宴观看| 国产精品免费看久久久香蕉| 久久综合九色综合网站| 色综合久久中文字幕综合网| 色综合久久天天综合| 亚洲午夜久久久影院伊人| 久久久噜噜噜久久| 国产午夜精品久久久久九九| 人妻精品久久久久中文字幕69| 伊人久久大香线蕉综合5g| 国产女人aaa级久久久级| 国产精品久久久久久久久鸭| 奇米综合四色77777久久| 精品国产乱码久久久久软件| 亚洲精品乱码久久久久久蜜桃| 99久久国产综合精品成人影院| 久久99精品国产99久久| 久久久久国产精品熟女影院 | 久久99精品国产一区二区三区| 久久人人爽人人爽人人片av高请| 久久99国产精品久久99小说| 欧美国产成人久久精品| 一97日本道伊人久久综合影院| 久久只这里是精品66|