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

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

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

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

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

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

                   的動態(tài)鏈接庫(DLLs

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

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

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

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

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

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

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

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

            10、完成一些清理工作

            11、最后是ExitProcess退出進程

            完整文檔: 一個exe可執(zhí)行文件的生與死.doc
             
                            一個exe可執(zhí)行文件的生與死.pdf
            posted on 2014-04-05 11:48 Richard Wei 閱讀(2495) 評論(0)  編輯 收藏 引用 所屬分類: windows desktop
            久久综合色老色| 91精品免费久久久久久久久| 久久综合成人网| 国产成人无码精品久久久性色| 国产99久久久国产精品小说| 欧美亚洲日本久久精品| 久久妇女高潮几次MBA| 久久久久久亚洲精品成人| 91久久精品无码一区二区毛片| 久久天天躁狠狠躁夜夜2020| 久久久久久久久无码精品亚洲日韩 | 蜜臀av性久久久久蜜臀aⅴ| 国产亚洲婷婷香蕉久久精品 | 久久99精品国产99久久6| 伊人久久大香线蕉av不卡| 99久久精品国产麻豆| 2021国内久久精品| 国产精品伊人久久伊人电影 | 99久久99这里只有免费费精品 | 久久精品视频网| 精品伊人久久大线蕉色首页| 99久久精品国产综合一区| 久久丫精品国产亚洲av不卡| 一本综合久久国产二区| 国产激情久久久久影院小草| 成人久久综合网| 久久夜色精品国产噜噜噜亚洲AV | 久久综合欧美成人| 九九精品99久久久香蕉| 亚洲va中文字幕无码久久不卡| 久久久精品无码专区不卡| 欧美激情精品久久久久| 久久人妻少妇嫩草AV无码专区| 午夜天堂av天堂久久久| 亚洲精品无码久久久久久| 欧美日韩久久中文字幕| 免费精品久久天干天干| 久久精品国产精品亚洲精品| 日韩人妻无码一区二区三区久久99| 青青草国产97免久久费观看| 婷婷久久综合九色综合九七|