• <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>
            這篇文章講一個(gè)EXE文件從加載運(yùn)行到結(jié)束的整個(gè)流程,感覺(jué)寫(xiě)的不錯(cuò), 記錄共享下。

            下面列的只是程序執(zhí)行時(shí)的大概流程,詳見(jiàn)附件。

            1、ShellExplorer.exe)調(diào)用CreateProcess函數(shù)激活exe程序

            2、系統(tǒng)創(chuàng)建一個(gè)進(jìn)程內(nèi)核對(duì)象,引用計(jì)數(shù)置為1

            3、系統(tǒng)為進(jìn)程創(chuàng)建一個(gè)4GB的進(jìn)程虛擬地址空間

            4、PE裝載器把exe的代碼映射到地址空間,并查找Import Table引入相關(guān)

                   的動(dòng)態(tài)鏈接庫(kù)(DLLs

            5、系統(tǒng)為進(jìn)程創(chuàng)建一個(gè)主線程,線程得到CPU后,把CS:IP指向.text節(jié)中

               的程序進(jìn)入點(diǎn)(OEP),此處是一條JMP指令,它跳到XXXCRTStartup

               函數(shù)處執(zhí)行

            6、這里完成c/c++運(yùn)行期庫(kù)的一些初始化設(shè)置,包括c++構(gòu)造函數(shù)的調(diào)用

                  全局變量,靜態(tài)變量的初始化

            7、調(diào)用WinMain/main函數(shù),進(jìn)入主函數(shù)

            8、注冊(cè)窗口類,創(chuàng)建窗口,顯示窗口,更新窗口,進(jìn)入消息循環(huán)

            9、窗口關(guān)閉,循環(huán)退出,返回到C/C++運(yùn)行期庫(kù)

            10、完成一些清理工作

            11、最后是ExitProcess退出進(jìn)程

            完整文檔: 一個(gè)exe可執(zhí)行文件的生與死.doc
             
                            一個(gè)exe可執(zhí)行文件的生與死.pdf
            posted on 2014-04-05 11:48 Richard Wei 閱讀(2495) 評(píng)論(0)  編輯 收藏 引用 所屬分類: windows desktop
            日韩精品久久久久久| 久久婷婷五月综合97色一本一本 | 精品99久久aaa一级毛片| 91麻精品国产91久久久久 | 91精品国产高清久久久久久国产嫩草| 青青青青久久精品国产| 思思久久好好热精品国产 | 久久露脸国产精品| 香蕉久久夜色精品升级完成| 久久99热狠狠色精品一区| 77777亚洲午夜久久多人| 成人久久久观看免费毛片 | 久久免费高清视频| 久久精品国产乱子伦| 国产激情久久久久影院老熟女| 久久亚洲中文字幕精品一区| 女人香蕉久久**毛片精品| 久久水蜜桃亚洲av无码精品麻豆| 久久免费大片| 久久久久久亚洲精品不卡| 国产麻豆精品久久一二三| 久久久久久国产精品美女| 久久夜色tv网站| 久久久综合九色合综国产| 久久无码人妻一区二区三区午夜| 伊人久久五月天| 中文字幕无码久久人妻| 亚洲AV伊人久久青青草原| 国内精品久久久久久久久电影网| 99久久精品国产麻豆| 97久久精品人妻人人搡人人玩| 午夜天堂精品久久久久| 东方aⅴ免费观看久久av| 国产69精品久久久久观看软件| 久久成人永久免费播放| 国产精品美女久久久网AV| 办公室久久精品| 久久国产综合精品五月天| 欧美性大战久久久久久| 亚洲国产精品狼友中文久久久| 青春久久|