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

            S.l.e!ep.¢%

            像打了激速一樣,以四倍的速度運轉,開心的工作
            簡單、開放、平等的公司文化;尊重個性、自由與個人價值;
            posts - 1098, comments - 335, trackbacks - 0, articles - 1
              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

            About ShutDown of Windows(六)

            Posted on 2009-12-02 16:53 S.l.e!ep.¢% 閱讀(241) 評論(0)  編輯 收藏 引用 所屬分類: RootKit

            About ShutDown of Windows(五)

            一直在想DLL注入時到底是怎么樣的,于是動了下手試下

            Google 到的資料
            http://m.shnenglu.com/mydriverc/articles/28536.html

            http://m.shnenglu.com/road420/archive/2009/10/26/99510.aspx
            http://m.shnenglu.com/free2000fly/archive/2008/07/21/56764.html

            VC IDE 新建一個 Win32 Dynamic-Link Library Project,名為 DLLInject

            // ?DLLInject.cpp?:?Defines?the?entry?point?for?the?DLL?application.
            //

            #include?
            " stdafx.h "

            BOOL?APIENTRY?DllMain(?HANDLE?hModule,?
            ???????????????????????DWORD??ul_reason_for_call,?
            ???????????????????????LPVOID?lpReserved
            ?????????????????????)
            {
            ????
            switch ?(?ul_reason_for_call?)
            ????{
            ????
            case ?DLL_PROCESS_ATTACH:
            ????????{
            ????????????MessageBox(?NULL,?
            " DLL已進入目標進程。 " ,? " 信息 " ,?MB_ICONINFORMATION?);
            ????????}
            ????????
            break ;
            ????
            case ?DLL_PROCESS_DETACH:
            ????????{
            ????????????MessageBox(?NULL,?
            " DLL已從目標進程卸載。 " ,? " 信息 " ,?MB_ICONINFORMATION?);
            ????????}
            ????????
            break ;
            ????}

            ????
            return ?TRUE;

            }

            VC IDE 新建一個 Win32 Console Applacation project, 名為 DLLInjectDosExe
            #include?<iostream>
            using?namespace?std;

            #include?
            <windows.h>
            #include?
            <TLHELP32.H>
            #include?
            <Shlwapi.h>
            #pragma?comment(lib,
            "Shlwapi.lib")?

            DWORD?FindTargetProcessID(?LPCTSTR?lpszProcess?)
            {
            ????DWORD?dwRet?
            =?0;
            ????HANDLE?hSnapshot?
            =?CreateToolhelp32Snapshot(?TH32CS_SNAPPROCESS,?0?);
            ????PROCESSENTRY32?pe32;
            ????pe32.dwSize?
            =?sizeof(?PROCESSENTRY32?);
            ????Process32First(?hSnapshot,?
            &pe32?);

            ????
            do
            ????{
            ????????
            if?(?lstrcmpi(?pe32.szExeFile,?lpszProcess?)?==?0?)
            ????????{
            ????????????dwRet?
            =?pe32.th32ProcessID;
            ????????????
            break;
            ????????}
            ????}?
            while?(?Process32Next(?hSnapshot,?&pe32?)?);
            ????
            ????CloseHandle(?hSnapshot?);

            ????
            return?dwRet;
            }?


            int?main()
            {
            ????DWORD?dwProcessID?
            =?0;
            ????
            ????dwProcessID?
            =?FindTargetProcessID("explorer.exe");

            ????
            //?打開目標進程
            ????HANDLE?hProcess?=?OpenProcess(?PROCESS_CREATE_THREAD?|?PROCESS_VM_OPERATION?|?PROCESS_VM_WRITE,?FALSE,?dwProcessID?);
            ????
            ????TCHAR?szPath[MAX_PATH]?
            =?{0};
            ????::GetModuleFileName(NULL,?szPath,?MAX_PATH);
            ????::PathRemoveFileSpec(szPath);
            ????strcat(szPath,?
            "\\DLLInject.dll");

            ????
            //?向目標進程地址空間寫入DLL名稱
            ????DWORD?dwSize,?dwWritten;
            ????dwSize?
            =?lstrlenA(?szPath?)?+?1;
            ????LPVOID?lpBuf?
            =?VirtualAllocEx(?hProcess,?NULL,?dwSize,?MEM_COMMIT,?PAGE_READWRITE?);
            ????
            if?(?NULL?==?lpBuf?)
            ????{
            ????????CloseHandle(?hProcess?);
            ????????
            //?失敗處理
            ????}
            ????
            if?(?WriteProcessMemory(?hProcess,?lpBuf,?(LPVOID)szPath,?dwSize,?&dwWritten?)?)
            ????{
            ????????
            //?要寫入字節數與實際寫入字節數不相等,仍屬失敗
            ????????if?(?dwWritten?!=?dwSize?)
            ????????{
            ????????????VirtualFreeEx(?hProcess,?lpBuf,?dwSize,?MEM_DECOMMIT?);
            ????????????CloseHandle(?hProcess?);
            ????????????
            //?失敗處理
            ????????}
            ????}
            ????
            else
            ????{
            ????????CloseHandle(?hProcess?);
            ????????
            //?失敗處理
            ????}
            ????
            //?使目標進程調用LoadLibrary,加載DLL
            ????DWORD?dwID;
            ????LPVOID?pFunc?
            =?LoadLibraryA;
            ????HANDLE?hThread?
            =?CreateRemoteThread(?hProcess,?NULL,?0,?(LPTHREAD_START_ROUTINE)pFunc,?lpBuf,?0,?&dwID?);?
            ????
            ????
            //?等待LoadLibrary加載完畢
            ????WaitForSingleObject(?hThread,?INFINITE?);
            ????
            //?釋放目標進程中申請的空間
            ????VirtualFreeEx(?hProcess,?lpBuf,?dwSize,?MEM_DECOMMIT?);
            ????CloseHandle(?hThread?);
            ????CloseHandle(?hProcess?);?

            ????
            return?0;
            }


            運行之后,彈出 MessageBox 提示“DLL已進入目標進程”
            使用 SystemCheck.exe 工具查看 explorer.exe 進程的模塊信息時,會發現,此時多了一個
            C:\Documents and Settings\test\桌面\DLLInject.dll 的DLL
            這表示已經注入成功

            [資料] 深入淺出dll插入型木馬病毒的原理,查殺與防范

            DLL注入的唯一用處,就是它并不需要創建一個單獨的進程,它寄生到已有進程里面去,在任務欄管理器里看不到它,
            達到了所謂的“隱藏進程”的效果。
            精品久久久久国产免费| 久久久久av无码免费网| 91精品国产91久久久久久青草 | 亚洲精品无码久久久影院相关影片| 亚洲va久久久噜噜噜久久狠狠| 久久精品视频网| 久久毛片一区二区| 青青青青久久精品国产h| 久久精品人妻中文系列| 久久国产精品免费| 久久精品国产亚洲AV无码偷窥| 久久se这里只有精品| 国内精品伊人久久久久AV影院| 一本久久综合亚洲鲁鲁五月天亚洲欧美一区二区 | 久久久91精品国产一区二区三区 | 久久国产精品视频| 久久综合给合久久国产免费| 欧美久久一区二区三区| 久久国产精品一区二区| 久久丫忘忧草产品| 久久久久亚洲精品天堂久久久久久 | 久久久久亚洲精品无码网址 | 97精品依人久久久大香线蕉97| 婷婷综合久久狠狠色99h| 国内精品人妻无码久久久影院| 久久久国产精华液| 99久久做夜夜爱天天做精品| 久久久久国产精品麻豆AR影院 | 久久精品国产一区| 久久se精品一区精品二区| 97久久久久人妻精品专区 | 7777精品伊人久久久大香线蕉| 99久久亚洲综合精品网站| 久久青青草原精品影院| 久久久青草久久久青草| 久久久久久久99精品免费观看| 东京热TOKYO综合久久精品| 久久精品国产亚洲av日韩| 久久亚洲精品中文字幕三区| 中文字幕久久欲求不满| 国产精品伦理久久久久久|