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

            簡單的CreateRemoteThread例程2Dll-初學(xué)者必看

            // dll.cpp : Defines the initialization routines for the DLL.
            // Author:秋鎮(zhèn)菜

            #include "stdafx.h"
            #include <afxdllx.h>

            #ifdef _DEBUG
            #define new DEBUG_NEW
            #undef THIS_FILE
            static char THIS_FILE[] = __FILE__;
            #endif


            static AFX_EXTENSION_MODULE DllDLL = { NULL, NULL };

            extern "C" int APIENTRY
            DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved)
            {
            // Remove this if you use lpReserved
            UNREFERENCED_PARAMETER(lpReserved);

            if (dwReason == DLL_PROCESS_ATTACH)
            {
               TRACE0("DLL.DLL Initializing!\n");
              
               // Extension DLL one-time initialization
               if (!AfxInitExtensionModule(DllDLL, hInstance))
                return 0;

               // Insert this DLL into the resource chain
               // NOTE: If this Extension DLL is being implicitly linked to by
               // an MFC Regular DLL (such as an ActiveX Control)
               // instead of an MFC application, then you will want to
               // remove this line from DllMain and put it in a separate
               // function exported from this Extension DLL. The Regular DLL
               // that uses this Extension DLL should then explicitly call that
               // function to initialize this Extension DLL. Otherwise,
               // the CDynLinkLibrary object will not be attached to the
               // Regular DLL's resource chain, and serious problems will
               // result.
               MessageBox(NULL, "對(duì)話框", NULL, MB_OK);
               new CDynLinkLibrary(DllDLL);
            }
            else if (dwReason == DLL_PROCESS_DETACH)
            {
               TRACE0("DLL.DLL Terminating!\n");
               // Terminate the library before destructors are called
               AfxTermExtensionModule(DllDLL);
            }
            return 1;   // ok
            }


            // remotethread.cpp : Defines the entry point for the console application.
            // Author:秋鎮(zhèn)菜

            #include "stdafx.h"
            #include "windows.h"

            int main(int argc, char* argv[])
            {
            HWND hWnd = FindWindow("notepad", NULL);
            DWORD dwId;
            GetWindowThreadProcessId(hWnd, &dwId);
            HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, dwId);
            if (! hProcess)
               return 0;

            char sz[MAX_PATH];
            GetModuleFileName(NULL, sz, MAX_PATH);
            strcpy(strstr(sz,".exe"), ".dll");
            strcpy(sz, "c:\\windows\\dll.dll");
            void *pData = VirtualAllocEx(hProcess, 0, sizeof (sz), MEM_COMMIT, PAGE_READWRITE);
            if (! pData)
               return 0;
            if (! WriteProcessMemory(hProcess, pData, sz, sizeof (sz), 0))
               return 0;
            HANDLE hThread = CreateRemoteThread(hProcess, NULL, 0,
               (LPTHREAD_START_ROUTINE)GetProcAddress(
               LoadLibrary("kernel32.dll"), "LoadLibraryA"), pData, 0, 0);
            if (hThread == NULL)
               return 0;
            printf("sssssssssssssssssssssssssssssss\r\n");
            WaitForSingleObject(hThread, INFINITE);
            DWORD dwModule;
            GetExitCodeThread(hThread, &dwModule);
            CloseHandle(hThread);
            VirtualFreeEx(hProcess, pData, sizeof (sz), MEM_RELEASE);
            printf("...............................\r\n");
            hThread = CreateRemoteThread(hProcess, NULL, 0,
               (LPTHREAD_START_ROUTINE)GetProcAddress(
               LoadLibrary("kernel32.dll"), "FreeLibrary"), &dwModule, 0, 0);
            if (hThread == NULL)
               return 0;
            WaitForSingleObject(hThread, INFINITE);
            CloseHandle(hThread);
            CloseHandle(hProcess);
            printf(sz);
            printf("\r\n");
            Sleep(2000);
            return 0;
            }

            posted on 2010-06-21 22:53 lhking 閱讀(376) 評(píng)論(0)  編輯 收藏 引用


            只有注冊用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            導(dǎo)航

            <2010年6月>
            303112345
            6789101112
            13141516171819
            20212223242526
            27282930123
            45678910

            統(tǒng)計(jì)

            常用鏈接

            留言簿

            隨筆檔案

            搜索

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            一本色道久久88综合日韩精品| 久久久久久免费一区二区三区 | 无夜精品久久久久久| 亚洲伊人久久综合影院| 日韩人妻无码一区二区三区久久 | 国产精品VIDEOSSEX久久发布| 色综合久久88色综合天天 | 久久婷婷五月综合97色一本一本| 久久噜噜久久久精品66| 九九精品99久久久香蕉| 一本一本久久aa综合精品| segui久久国产精品| 亚洲va国产va天堂va久久| 久久精品国产精品亜洲毛片| 久久久久99精品成人片欧美| 久久综合九色综合网站| 久久亚洲视频| 日韩欧美亚洲国产精品字幕久久久| 亚洲中文字幕无码久久精品1 | 久久综合狠狠色综合伊人| 亚洲午夜久久久影院| 久久亚洲sm情趣捆绑调教 | 久久亚洲国产成人精品性色| 热久久国产欧美一区二区精品| 麻豆精品久久精品色综合| 久久精品国产亚洲av影院| 伊人久久大香线蕉综合影院首页 | 久久久久国产一级毛片高清版| 久久超碰97人人做人人爱| 97久久国产露脸精品国产| 亚洲国产精品无码久久九九| 婷婷久久综合九色综合九七| 理论片午午伦夜理片久久| 日韩影院久久| 久久夜色精品国产噜噜亚洲a| 内射无码专区久久亚洲| 性高湖久久久久久久久AAAAA| 理论片午午伦夜理片久久| 久久久久久精品免费免费自慰| 亚洲va久久久噜噜噜久久男同| 久久精品人人做人人爽97|