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

            国产精品欧美亚洲韩国日本久久| 久久99国产精品尤物| 国产福利电影一区二区三区,免费久久久久久久精 | 久久精品成人国产午夜| 亚洲嫩草影院久久精品| 无码乱码观看精品久久| 久久精品人人做人人爽电影蜜月| 国产精品免费看久久久香蕉| 国产精品久久久久蜜芽| 日韩一区二区久久久久久 | 99久久精品免费看国产一区二区三区| 亚洲∧v久久久无码精品| 精品久久久久中文字| 日韩精品久久无码人妻中文字幕| 91亚洲国产成人久久精品| 亚洲国产精品久久久天堂| 久久精品亚洲男人的天堂| 亚洲精品乱码久久久久久自慰| 久久免费线看线看| 狼狼综合久久久久综合网| 日产精品久久久久久久| 亚洲国产精久久久久久久| 久久久噜噜噜久久中文福利| 久久久久久国产精品无码下载| 久久精品中文字幕一区| 青青国产成人久久91网| 国产精品久久久久影视不卡| 狠狠精品久久久无码中文字幕| 久久精品中文字幕一区| 久久久久久国产精品免费免费 | 久久乐国产精品亚洲综合| 久久狠狠色狠狠色综合| 久久久无码精品亚洲日韩按摩| 亚洲AV成人无码久久精品老人| 国产成人无码精品久久久性色| 午夜精品久久久内射近拍高清| 热久久国产欧美一区二区精品| 亚州日韩精品专区久久久| 国产99久久久国产精品小说| 伊人久久大香线蕉精品不卡| 亚洲欧美日韩精品久久亚洲区 |