• <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ù)別人,因?yàn)樗麄兾幢刂雷约阂裁础ぁぁぁぁ?/span>
            這幾天對匯編來了興趣~,同時對setWindowsHook感興趣,所以研究了下掃雷程序用OD,參考了網(wǎng)上的分析和自己的實(shí)踐,寫了個掃雷輔助~,用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 小果子 閱讀(152) 評論(0)  編輯 收藏 引用 所屬分類: 學(xué)習(xí)筆記
            国产成人久久精品一区二区三区| 欧美久久天天综合香蕉伊| 精品伊人久久大线蕉色首页| 久久精品成人欧美大片| 久久久久成人精品无码中文字幕 | 热99RE久久精品这里都是精品免费| 久久无码AV中文出轨人妻| 久久天天躁夜夜躁狠狠躁2022| 成人久久免费网站| 99久久精品国产免看国产一区| 久久久久久久久久久免费精品| 欧洲精品久久久av无码电影 | 欧美午夜精品久久久久久浪潮| 天天躁日日躁狠狠久久 | 久久久这里有精品| 精品久久久久久| 精品一二三区久久aaa片| 日本久久久久久中文字幕| 7777精品久久久大香线蕉| 国产精品欧美久久久久天天影视 | 久久精品人人做人人爽电影蜜月| 国产日韩欧美久久| 2021精品国产综合久久| 久久笫一福利免费导航| 久久综合九色综合97_久久久| 亚洲午夜无码久久久久小说| 久久综合九色综合97_久久久| 狠狠综合久久综合88亚洲| 久久人人爽人人澡人人高潮AV| 天堂久久天堂AV色综合 | 国产91色综合久久免费| 亚洲国产精品无码久久98| 精品久久久久久99人妻| 久久99国产精品二区不卡| 久久A级毛片免费观看| 无码精品久久久天天影视| 亚洲一级Av无码毛片久久精品| 亚洲国产成人精品91久久久 | 色综合久久天天综线观看| AAA级久久久精品无码区| 国产精品久久一区二区三区 |