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

            久久人人超碰精品CAOPOREN| 久久精品日日躁夜夜躁欧美| 国产精品99久久精品爆乳| 精品人妻伦九区久久AAA片69 | 2019久久久高清456| 亚洲精品乱码久久久久久| 91精品国产高清久久久久久国产嫩草 | 成人免费网站久久久| 久久久久久亚洲精品不卡| 亚洲AV无码一区东京热久久| 99久久婷婷国产综合精品草原| 77777亚洲午夜久久多人| 精品久久久久一区二区三区| 无码人妻少妇久久中文字幕蜜桃| 久久AⅤ人妻少妇嫩草影院| 久久久久亚洲AV无码麻豆| 久久99国产一区二区三区| 国产成年无码久久久久毛片| 久久精品国产日本波多野结衣| 精品久久久久久无码国产| 久久亚洲精品中文字幕三区| 久久香蕉超碰97国产精品| 狠狠色丁香久久婷婷综合图片| 久久精品国产亚洲一区二区三区| 国产精品久久久久影院嫩草 | 久久九九亚洲精品| 日本强好片久久久久久AAA| 久久婷婷五月综合国产尤物app | 中文精品久久久久人妻不卡| 久久影院久久香蕉国产线看观看| 91久久精品电影| 久久久久夜夜夜精品国产| 99久久这里只有精品| 国产精品99久久久久久人| 久久99精品久久久久久久不卡 | 国产午夜精品久久久久免费视 | 久久久精品人妻无码专区不卡 | 亚洲精品国产美女久久久| 久久久一本精品99久久精品88| 国产一区二区久久久| 久久超碰97人人做人人爱|