• <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.¢% 閱讀(236) 評論(0)  編輯 收藏 引用 所屬分類: RootKit

            About ShutDown of Windows(五)

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

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

            http://www.shnenglu.com/road420/archive/2009/10/26/99510.aspx
            http://www.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注入的唯一用處,就是它并不需要創建一個單獨的進程,它寄生到已有進程里面去,在任務欄管理器里看不到它,
            達到了所謂的“隱藏進程”的效果。
            久久99精品久久久久久久久久| 久久中文字幕视频、最近更新| 99久久免费国产精品特黄| 久久综合久久美利坚合众国| 亚洲国产成人久久综合一区77| 99热成人精品热久久669| 99久久免费国产精品特黄| 国产69精品久久久久久人妻精品| AA级片免费看视频久久| 久久精品aⅴ无码中文字字幕重口| 久久免费观看视频| 一本一本久久A久久综合精品| 欧美日韩中文字幕久久伊人| 国产精品久久久福利| 久久青青草原精品国产不卡| 97久久香蕉国产线看观看| 九九热久久免费视频| 国产精品久久久99| 日韩久久久久久中文人妻| 亚洲人成网亚洲欧洲无码久久 | www.久久热| 亚洲国产综合久久天堂| 女人香蕉久久**毛片精品| 无码AV波多野结衣久久| 无码8090精品久久一区| 久久久久亚洲精品天堂久久久久久 | 思思久久99热免费精品6| 国产精品久久自在自线观看| 精品国产乱码久久久久久人妻| 久久久久亚洲AV成人网人人网站| 伊人丁香狠狠色综合久久| 久久久久国产一区二区三区| 国产一区二区三精品久久久无广告| 亚洲午夜无码久久久久| 2021国产精品久久精品| 久久午夜无码鲁丝片秋霞| 国产69精品久久久久观看软件| 久久精品人妻一区二区三区| 国产精品成人久久久久久久| 26uuu久久五月天| 国产精品亚洲美女久久久|