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

            jans2002的博客

            專注 專心 專業

            (轉)怎么獲取dll函數的參數類型

            可以通過反匯編來知道接口函數的參數,建議使用W32DSM來分析,也可以直接使用VC來分析,就是麻煩一點。      
              現在使用W32DSM來具體說明:      
              1。先打開需要分析的DLL,然后通過菜單功能-》出口來找到需要分析的函數,雙擊就可以了。      
              它可以直接定位到該函數。      
              2??礈试摵瘮档娜肟?,一般函數是以以下代碼作為入口點的。      
              push     ebp      
              mov         ebp,     esp      
              ...      
              3。然后往下找到該函數的出口,一般函數出口有以下語句。      
              ...      
              ret         xxxx;//其中xxxx就是函數差數的所有的字節數,為4的倍數,xxxx除以4得到的結果      
              就是參數的個數。      
              其中參數存放的地方:      
              ebp+08                     //第一個參數      
              ebp+0C                     //第二個參數      
              ebp+10                     //第三個參數      
              ebp+14                     //第四個參數      
              ebp+18                     //第五個參數      
              ebp+1C                     //第六個參數      
              。。。。      
              -------------------------------------------      
              還有一種經??吹降恼{用方式:      
              sub     esp,xxxx                     //開頭部分      
              //函數的內容      
              。。。      
              //函數的內容      
              add     esp,xxxx      
              ret                                                         //結尾部分      
              其中xxxx/4的結果也是參數的個數。              
              -------------------------------------------------      
              還有一種調用方式:      
              有于該函數比較簡單,沒有參數的壓棧過程,      
              里面的      
              esp+04就是第一個參數      
              esp+08就是第二個參數      
              。。。      
              esp+xx就是第xx/4個參數      
              你說看到的xx的最大數除以4后的結果,就是該函數所傳遞的參數的個數。      
              ----------------------------------------------      
              到現在位置,你應該能很清楚的看到了傳遞的參數的個數。至于傳遞的是些什么內容,還需要進一步的分析。      
              最方便的辦法就是先找到是什么軟件在調用此函數,然后通過調試的技術,找到該函數被調用的地方。一般都是PUSH指令      
              來實現參數的傳遞的。這時可以看一下具體是什么東西被壓入堆棧了,一般來說,如果參數是整數,一看就可以知道了,      
              如果是字符串的話也是比較簡單的,只要到那個地址上面去看一下就可以了。      
              如果傳遞的結構的話,沒有很方便的辦法解決,就是讀懂該匯編就可以了。對于以上的分析,本人只其到了拋磚引玉,      
              希望對大家有點用處。

            posted on 2009-10-14 08:37 jans2002 閱讀(1449) 評論(0)  編輯 收藏 引用

            国产亚洲精久久久久久无码| 久久久久综合中文字幕| 日韩人妻无码精品久久免费一| AV无码久久久久不卡蜜桃| 99久久99久久| 亚洲国产成人精品91久久久| 久久久久久九九99精品| 欧美激情精品久久久久久久| 999久久久无码国产精品| 亚州日韩精品专区久久久| 9999国产精品欧美久久久久久| 亚洲中文字幕无码久久2017| 中文字幕久久亚洲一区| 精品久久久久久久久久久久久久久 | 精品久久人人爽天天玩人人妻 | 久久精品国产男包| 69久久夜色精品国产69| 久久久无码精品亚洲日韩京东传媒 | 亚洲精品成人网久久久久久| 久久精品国产精品青草| 久久久久高潮毛片免费全部播放 | 国产成人精品久久二区二区| A级毛片无码久久精品免费| 亚洲欧美日韩精品久久亚洲区 | 热久久这里只有精品| 丰满少妇高潮惨叫久久久| 人妻无码αv中文字幕久久琪琪布 人妻无码久久一区二区三区免费 人妻无码中文久久久久专区 | 久久精品卫校国产小美女| 国产成人精品久久一区二区三区av | 97精品伊人久久久大香线蕉| 天天影视色香欲综合久久| 一本久道久久综合狠狠躁AV| 亚洲精品97久久中文字幕无码| 日本高清无卡码一区二区久久 | 久久最近最新中文字幕大全| 国产精品久久一区二区三区| 人妻少妇久久中文字幕一区二区| 久久99国产精品尤物| 欧美久久精品一级c片片| 精品国产一区二区三区久久蜜臀| 久久久久久一区国产精品|