• <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 旅途 閱讀(337) 評論(0)  編輯 收藏 引用 所屬分類: 深入windows

            九九久久精品国产| 久久综合亚洲色一区二区三区| 99久久国产热无码精品免费| 亚洲国产精品久久久久网站 | 浪潮AV色综合久久天堂| 久久久久亚洲AV无码专区体验| 久久成人精品视频| 国产成人精品久久| 国产精品热久久无码av| 久久天天躁狠狠躁夜夜avapp | 久久久久久国产a免费观看黄色大片| 久久国产欧美日韩精品免费| 九九久久自然熟的香蕉图片| 久久精品极品盛宴观看| 国产成人无码精品久久久免费 | 久久久久久人妻无码| 日韩久久久久中文字幕人妻| 久久A级毛片免费观看| 久久天天婷婷五月俺也去 | 亚洲国产成人乱码精品女人久久久不卡 | 久久最近最新中文字幕大全| 亚洲国产成人久久一区WWW| 久久亚洲国产午夜精品理论片| 人妻精品久久无码专区精东影业| 理论片午午伦夜理片久久| 免费精品99久久国产综合精品| 久久天天躁狠狠躁夜夜96流白浆| 欧美日韩精品久久久久 | 久久久久亚洲av综合波多野结衣| 伊人久久大香线蕉影院95| …久久精品99久久香蕉国产| 麻豆亚洲AV永久无码精品久久| 久久www免费人成看片| 无码人妻久久一区二区三区蜜桃| 久久大香萑太香蕉av| 久久人做人爽一区二区三区 | 中文字幕久久精品无码| 久久综合鬼色88久久精品综合自在自线噜噜 | 97久久精品人人澡人人爽| AAA级久久久精品无码区| 久久99精品九九九久久婷婷|