<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 木馬/后門(mén)程序在WINNT中進(jìn)程隱藏和查找的方法

          木馬/后門(mén)程序在WINNT中進(jìn)程隱藏和查找的方法

          作者: 時(shí)間:2010-09-16 來(lái)源:網(wǎng)絡(luò) 收藏

            // 計(jì)算目前有多少, aProcesses[]用來(lái)存放有效的PIDs

            if ( !EnumProcesses( aProcesses, sizeof(aProcesses), cbNeeded ) ) return 0;

            cProcesses = cbNeeded / sizeof(DWORD);

            // 按有效的PID遍歷所有的

            for ( i = 0; i cProcesses; i++ )

            {

            // 打開(kāi)特定PID的進(jìn)程

            hProcess = OpenProcess( PROCESS_QUERY_INFORMATION |

            PROCESS_VM_READ,

            FALSE, aProcesses[i]);

            // 取得特定PID的進(jìn)程名

            if ( hProcess )

            {

            if ( EnumProcessModules( hProcess, hMod, sizeof(hMod), cbNeeded) )

            {

            GetModuleBaseName( hProcess, hMod,

            szProcessName, sizeof(szProcessName) );

            //將取得的進(jìn)程名與輸入的進(jìn)程名比較,如相同則返回進(jìn)程PID

            if(!_stricmp(szProcessName, InputProcessName)){

            CloseHandle( hProcess );

            return aProcesses[i];

            }

            }

            }//end of if ( hProcess )

            }//end of for

            //沒(méi)有找到相應(yīng)的進(jìn)程名,返回0

            CloseHandle( hProcess );

            return 0;

            }//end of ProcessToPID

            //錯(cuò)誤處理函數(shù)CheckError()

            //如果iReturnCode等于iErrorCode,則輸出pErrorMsg并退出

            void CheckError(int iReturnCode, int iErrorCode, char *pErrorMsg)

            {

            if(iReturnCode==iErrorCode) {

            printf(%s Error:%dnn, pErrorMsg, GetLastError());

            //清場(chǎng)處理

            if (pszLibFileRemote != NULL)

            VirtualFreeEx(hRemoteProcess, pszLibFileRemote, 0, MEM_RELEASE);

            if (hRemoteThread != NULL) CloseHandle(hRemoteThread );

            if (hRemoteProcess!= NULL) CloseHandle(hRemoteProcess);

            exit(0);

            }

            }//end of CheckError()

            //使用說(shuō)明函數(shù)usage()

            void usage(char * pErrorMsg)

            {

            printf(%snn,pErrorMsg);

            printf(ttRemote Process DLL by Shotgunn);

            printf(tThis program can inject a DLL into remote processn);

            printf(Email:n);

            printf(tShotgun@Xici.Netn);

            printf(HomePage:n);

            printf(thttp://It.Xici.Netn);

            printf(thttp://www.Patching.Netn);

            printf(USAGE:n);

            printf(tRmtDLL.exe PID[|ProcessName] DLLFullPathNamen);

            printf(Example:n);

            printf(tRmtDLL.exe 1024 C:System32MyDLL.dlln);

            printf(tRmtDLL.exe Explorer.exe C:MyDLL.dlln);

            exit(0);

            }//end of usage()


          上一頁(yè) 1 2 3 下一頁(yè)

          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();