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

            旅途

            如果想飛得高,就該把地平線忘掉

            一份進程注入的代碼

            // Injection.cpp : 定義控制臺應用程序的入口點。
            //

            #include "stdafx.h"
            #include "Injection.h"
            #ifdef _DEBUG
            #define new DEBUG_NEW
            #endif

            // 唯一的應用程序對象

            CWinApp theApp;

            using namespace std;

            typedef struct _RemotePara{//參數結構
            char pMessageBox[12];
            DWORD dwMessageBox;
            }RemotePara;
            //遠程線程
            DWORD __stdcall ThreadProc (RemotePara *lpPara){
            typedef int (__stdcall *MMessageBoxA)(HWND,LPCTSTR,LPCTSTR,DWORD);//定義MessageBox函數
            MMessageBoxA myMessageBoxA;
            myMessageBoxA =(MMessageBoxA) lpPara->dwMessageBox ;//得到函數入口地址
            myMessageBoxA(NULL,lpPara->pMessageBox ,lpPara->pMessageBox,0);//call
            return 0;
            }
            void EnableDebugPriv();//提升應用級調試權限

            int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
            {
            const DWORD THREADSIZE=1024*4;
            DWORD byte_write;
            EnableDebugPriv();//提升權限
            HANDLE hWnd = ::OpenProcess (PROCESS_ALL_ACCESS,FALSE,760);
            if(!hWnd)return 0;
            void *pRemoteThread =::VirtualAllocEx(hWnd,0,THREADSIZE,MEM_COMMIT| MEM_RESERVE,PAGE_EXECUTE_READWRITE);
            if(!pRemoteThread)return 0;
            if(!::WriteProcessMemory(hWnd,pRemoteThread,&ThreadProc,THREADSIZE,0))
            return 0;

            //再付值
            RemotePara myRemotePara;
            ::ZeroMemory(&myRemotePara,sizeof(RemotePara));
            HINSTANCE hUser32 = ::LoadLibrary ("user32.dll");
            myRemotePara.dwMessageBox =(DWORD) ::GetProcAddress (hUser32 , "MessageBoxA");
            strcat(myRemotePara.pMessageBox,"hello\0");
            //寫進目標進程
            RemotePara *pRemotePara =(RemotePara *) ::VirtualAllocEx (hWnd ,0,sizeof(RemotePara),MEM_COMMIT,PAGE_READWRITE);//注意申請空間時的頁面屬性
            if(!pRemotePara)return 0;
            if(!::WriteProcessMemory (hWnd ,pRemotePara,&myRemotePara,sizeof myRemotePara,0))return 0;

            //啟動線程
            HANDLE hThread = ::CreateRemoteThread (hWnd ,0,0,(DWORD (__stdcall *)(void *))pRemoteThread ,pRemotePara,0,&byte_write);
            if(!hThread){
            return 0;
            }
            return 0;
            }

            void EnableDebugPriv( void )
            {
            HANDLE hToken;
            LUID sedebugnamevalue;
            TOKEN_PRIVILEGES tkp;

            if ( ! OpenProcessToken( GetCurrentProcess(),
            TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken ) )
            return;
            if ( ! LookupPrivilegevalue( NULL, SE_DEBUG_NAME, &sedebugnamevalue ) ){
            CloseHandle( hToken );
            return;
            }
            tkp.PrivilegeCount = 1;
            tkp.Privileges[0].Luid = sedebugnamevalue;
            tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
            if ( ! AdjustTokenPrivileges( hToken, FALSE, &tkp, sizeof tkp, NULL, NULL ) )
            CloseHandle( hToken );
            }

            posted on 2007-07-21 17:45 旅途 閱讀(329) 評論(0)  編輯 收藏 引用 所屬分類: 深入windows

            国产美女久久久| 久久精品视频免费| 欧美亚洲另类久久综合婷婷| 国产精品亚洲美女久久久| yy6080久久| 无遮挡粉嫩小泬久久久久久久| 久久精品夜夜夜夜夜久久| 一级做a爰片久久毛片16| 久久综合九色综合网站| 欧美精品国产综合久久| 久久电影网一区| 一本色道久久88综合日韩精品 | 亚洲中文字幕无码久久2017| 97久久精品人人澡人人爽| 久久乐国产综合亚洲精品| 久久精品国产久精国产思思| 亚洲午夜久久久精品影院| 亚洲欧美精品一区久久中文字幕 | 久久久久久亚洲精品成人| 久久精品国产一区二区三区不卡| 日日噜噜夜夜狠狠久久丁香五月| 久久99精品国产| 一本一本久久A久久综合精品| 国产 亚洲 欧美 另类 久久| 波多野结衣中文字幕久久| 亚洲午夜久久久久久噜噜噜| 色综合久久综精品| 国产伊人久久| 国产精品热久久毛片| 久久久精品一区二区三区| 久久精品人成免费| 久久午夜夜伦鲁鲁片免费无码影视 | 久久夜色精品国产噜噜亚洲a| 国产叼嘿久久精品久久| 久久国产精品一区二区| 国产精品久久久久久久久鸭 | 一本色综合网久久| 一级做a爰片久久毛片毛片| 国产精品99久久久精品无码| 伊人久久大香线蕉AV一区二区| 亚洲国产综合久久天堂|