• <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 - 我并不覺的自豪,我所嘗試的事情都失敗了······習慣原本生活的人不容易改變,就算現狀很糟,他們也很難改變,在過程中,他們還是放棄了······他們一放棄,大家就都是輸家······讓愛傳出去,很困難,也無法預料,人們需要更細心的觀察別人,要隨時注意才能保護別人,因為他們未必知道自己要什么·····
            這幾天對匯編來了興趣~,同時對setWindowsHook感興趣,所以研究了下掃雷程序用OD,參考了網上的分析和自己的實踐,寫了個掃雷輔助~,用setWindowsHook ,附上學習成果~
            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 小果子 閱讀(152) 評論(0)  編輯 收藏 引用 所屬分類: 學習筆記
            久久久久亚洲AV无码专区网站| 亚洲一本综合久久| 久久久久av无码免费网| 99久久国产亚洲综合精品| 热99RE久久精品这里都是精品免费| 亚洲国产精品成人久久| 99久久精品费精品国产| 国内精品人妻无码久久久影院导航 | 精品国产热久久久福利| 偷窥少妇久久久久久久久| 99麻豆久久久国产精品免费| 理论片午午伦夜理片久久| 久久久亚洲欧洲日产国码二区| 久久人人爽人人爽人人片AV麻豆| 久久人人爽人人爽人人AV| 久久久久亚洲AV成人网人人软件| 久久精品青青草原伊人| 久久国产免费| 办公室久久精品| 7777久久亚洲中文字幕| 久久综合亚洲色一区二区三区| 久久99久久无码毛片一区二区| 久久精品九九亚洲精品| 久久婷婷色香五月综合激情 | 91久久精品国产91性色也| 久久婷婷成人综合色综合| 久久久无码精品亚洲日韩蜜臀浪潮 | 色婷婷久久综合中文久久蜜桃av| 午夜视频久久久久一区 | 日韩精品久久久肉伦网站| 亚洲人成无码www久久久| 久久se这里只有精品| 曰曰摸天天摸人人看久久久| 久久精品国产亚洲综合色| 丁香狠狠色婷婷久久综合| 国产精品一区二区久久| 久久国产精品久久国产精品| 精品久久久久久久| 国产精品久久久久久久午夜片 | 久久天天躁夜夜躁狠狠躁2022| 亚洲美日韩Av中文字幕无码久久久妻妇 |