• <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>
            xiaoguozi's Blog
            Pay it forword - 我并不覺的自豪,我所嘗試的事情都失敗了······習(xí)慣原本生活的人不容易改變,就算現(xiàn)狀很糟,他們也很難改變,在過程中,他們還是放棄了······他們一放棄,大家就都是輸家······讓愛傳出去,很困難,也無法預(yù)料,人們需要更細(xì)心的觀察別人,要隨時注意才能保護(hù)別人,因為他們未必知道自己要什么·····
            這幾天對匯編來了興趣~,同時對setWindowsHook感興趣,所以研究了下掃雷程序用OD,參考了網(wǎng)上的分析和自己的實踐,寫了個掃雷輔助~,用setWindowsHook ,附上學(xué)習(xí)成果~
            dll.cpp

            #include 
            "saoleiDll.h"

            #pragma   data_seg("Shared")
            HINSTANCE g_hInstance = NULL;
            HHOOK       g_hHook = NULL;
            HWND         g_hWnd = NULL;
            #pragma   data_seg()
            #pragma   comment(linker,"/SECTION:Shared,RWS")   

            LRESULT WINAPI MouseProc(
            int nCode,WPARAM wParam,LPARAM lParam){
                
            //MessageBox(g_hWnd,L"DD",L"DD",MB_OK);
                DWORD x = 0x10056A8;
                DWORD y = 0x10056AC;
                DWORD addr = 0x1005361;

                wchar_t d[100];
                
            int ny=*((wchar_t*)x);
                
            int nx=*((wchar_t*)y);

                DWORD pFunc = 0x01003512 ; 

                
            for(int i=0;i<ny;i++){
                    
            for(int j=0;j<nx;j++){
                        
            int tmp=*((char*)(addr+32*i+j));
                        
            if(tmp==0x8E){
                        }
            else if(tmp==0x0F){
                            {
                                
            int xi=i+1;
                                
            int yi=j+1;
                                __asm{
                                    push xi
                                    push yi
                                    call pFunc
                                }
                            }
                        }
                    }
                }

                
            //wsprintf(d,L"%d %d",ny,nx);
                //MessageBox(g_hWnd,d,L"DD",MB_OK);
                return  CallNextHookEx(g_hHook,nCode,wParam,lParam);
            };
            HHOOK InstallHook (HWND hWnd,DWORD dwThreadId)
            {
                
            if(dwThreadId!=0){
                    g_hWnd = hWnd;
                    g_hHook = SetWindowsHookEx(WH_KEYBOARD,MouseProc,g_hInstance,dwThreadId);
                    
            return g_hHook;
                }
            else{
                    
            return NULL;
                }
            }
            void UninstallHook()
            {
                UnhookWindowsHookEx(g_hHook);
            }
            BOOL APIENTRY DllMain( HMODULE hModule,
                                   DWORD  ul_reason_for_call,
                                   LPVOID lpReserved
                                 )
            {
                
            switch (ul_reason_for_call)
                {
                
            case DLL_PROCESS_ATTACH:
                    g_hInstance=(HINSTANCE)hModule;
                    
            break;
                
            case DLL_THREAD_ATTACH:
                
            case DLL_THREAD_DETACH:
                
            case DLL_PROCESS_DETACH:
                    
            break;
                }
                
            return TRUE;
            }

            engine.h

            #ifndef __engine_h__
            #define __engine_h__
            #include "..\saoleiDll\saoleiDll.h"

            #pragma comment(lib,"..\\Debug\\saoleiDll.lib")
            DWORD dwThreadId;
            HWND hhWnd;
            extern HWND hWnd;
            void process(){
                DWORD x = 0x10056A8;
                DWORD y = 0x10056AC;
                DWORD addr = 0x1005361;

                hhWnd=FindWindow(NULL,L"掃雷");
                DWORD hProcessId;
                dwThreadId=GetWindowThreadProcessId(hhWnd, &hProcessId);
                HANDLE Process = OpenProcess(PROCESS_VM_OPERATION| PROCESS_VM_WRITE|PROCESS_VM_READ, 
            false, hProcessId);

                
            if(Process==NULL){
                
            //MessageBox(-1,GetLastError(),"D",MB_OK);
                    DWORD sd=GetLastError();
                }


                unsigned 
            short int nx=0,ny=0;
                ReadProcessMemory(Process,(LPCVOID)x,&ny,2,NULL);
                ReadProcessMemory(Process,(LPCVOID)y,&nx,2,NULL);

                unsigned 
            short int s=0,b=0;
                
            int test=0;
                
            int cnt=0;
                
            for(int i = 0; i < ny; i ++){
                    
            for(int j = 0; j < nx; j++){
                        ::ReadProcessMemory(Process, (LPCVOID)(addr + 32*i+j), &b, 1, NULL);
                        
            if (b == 0x8F) 
                        {
                            cnt++;
                            s = 0x8E; 
                            ::WriteProcessMemory(Process, (LPVOID)(addr + (nx+2)*i+j), &s, 1, NULL);
                            ReadProcessMemory(Process, (LPCVOID)(addr + (nx+2)*i+j), &test, 1, NULL);
                        }
                    }
                }
                ::InvalidateRect(hhWnd, NULL, 
            true);
                ::CloseHandle(Process);
            }

            #endif


            posted on 2010-06-30 20:42 小果子 閱讀(157) 評論(0)  編輯 收藏 引用 所屬分類: 學(xué)習(xí)筆記
            国产人久久人人人人爽| 伊人色综合久久天天人守人婷| 色婷婷综合久久久中文字幕| 久久综合给合久久狠狠狠97色69| 国产精品久久久久久一区二区三区| 国产日韩欧美久久| 亚洲中文字幕久久精品无码APP| 精品久久一区二区三区| 久久无码中文字幕东京热| 国产午夜免费高清久久影院| 久久久久亚洲爆乳少妇无| 久久99中文字幕久久| 午夜天堂av天堂久久久| 人人狠狠综合久久亚洲| 人人狠狠综合久久亚洲婷婷| 伊人久久大香线焦AV综合影院| 精品人妻伦九区久久AAA片69| 久久99国产综合精品女同| 亚洲综合伊人久久综合| 噜噜噜色噜噜噜久久| 久久久久国产精品麻豆AR影院| 国产精品久久久福利| 国产高潮国产高潮久久久| 亚洲乱码精品久久久久..| 久久久久亚洲AV片无码下载蜜桃 | 大蕉久久伊人中文字幕| 激情伊人五月天久久综合| 久久久久久精品久久久久| 亚洲а∨天堂久久精品| 色欲综合久久躁天天躁| 无码精品久久一区二区三区| 精品久久久久久无码人妻热| 久久精品一区二区影院| 久久亚洲精品无码播放| 久久99热这里只频精品6| 色婷婷久久久SWAG精品| 久久综合久久美利坚合众国| 女人高潮久久久叫人喷水| 人妻无码αv中文字幕久久 | 欧美亚洲另类久久综合婷婷| 久久综合一区二区无码|