青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

S.l.e!ep.¢%

像打了激速一樣,以四倍的速度運轉,開心的工作
簡單、開放、平等的公司文化;尊重個性、自由與個人價值;
posts - 1098, comments - 335, trackbacks - 0, articles - 1
  C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

API Hook jmp 法

Posted on 2010-03-12 15:32 S.l.e!ep.¢% 閱讀(1348) 評論(0)  編輯 收藏 引用 所屬分類: RootKit
API Hook
2009-06-25 16:06
http://www.programfan.com/article/showarticle.asp?id=2786
其中Dll文件為:

HHOOK g_hHook;
HINSTANCE g_hinstDll;
FARPROC pfMessageBoxA;
int WINAPI MyMessageBoxA(HWND hWnd, LPCTSTR lpText,LPCTSTR lpCaption,UINT uType);
BYTE OldMessageBoxACode[5],NewMessageBoxACode[5];
HMODULE hModule ;
DWORD dwIdOld,dwIdNew;
BOOL bHook=false;
void HookOn();
void HookOff();
BOOL init();
LRESULT WINAPI MousHook(int nCode,WPARAM wParam,LPARAM lParam);
BOOL APIENTRY DllMain( HANDLE hModule,
 DWORD ul_reason_for_call,
 LPVOID lpReserved
)
{
 switch (ul_reason_for_call)
 {
  case DLL_PROCESS_ATTACH:
   if(!init())
   {
    MessageBoxA(NULL,"Init","ERROR",MB_OK);
    return(false);
   }
  case DLL_THREAD_ATTACH:
  case DLL_THREAD_DETACH:
  case DLL_PROCESS_DETACH:
   if(bHook) UnintallHook();
   break;
 }
 return TRUE;
}
LRESULT WINAPI Hook(int nCode,WPARAM wParam,LPARAM lParam)//空的鉤子函數
{
 return(CallNextHookEx(g_hHook,nCode,wParam,lParam));
}
HOOKAPI2_API BOOL InstallHook()//輸出安裝空的鉤子函數
{
 g_hinstDll=LoadLibrary("HookApi2.dll");
 g_hHook=SetWindowsHookEx(WH_GETMESSAGE,(HOOKPROC)Hook,g_hinstDll,0);
 if (!g_hHook)
 {
  MessageBoxA(NULL,"SET ERROR","ERROR",MB_OK);
  return(false);
 }

 return(true);
}
HOOKAPI2_API BOOL UninstallHook()//輸出御在鉤子函數
{
 return(UnhookWindowsHookEx(g_hHook));
}

BOOL init()//初始化得到MessageBoxA的地址,并生成Jmp XXX(MyMessageBoxA)的跳轉指令
{
 hModule=LoadLibrary("user32.dll");
 pfMessageBoxA=GetProcAddress(hModule,"MessageBoxA");
 if(pfMessageBoxA==NULL)
  return false;
 _asm
 {
  lea edi,OldMessageBoxACode
  mov esi,pfMessageBoxA
  cld
  movsd
  movsb
 }
 NewMessageBoxACode[0]=0xe9;//jmp MyMessageBoxA的相對地址的指令
 _asm
 {
  lea eax,MyMessageBoxA
  mov ebx,pfMessageBoxA
  sub eax,ebx
  sub eax,5
  mov dword ptr [NewMessageBoxACode+1],eax
 }
 dwIdNew=GetCurrentProcessId(); //得到所屬進程的ID
 dwIdOld=dwIdNew;
 HookOn();//開始攔截
 return(true);
}
int WINAPI MyMessageBoxA(HWND hWnd, LPCTSTR lpText,LPCTSTR lpCaption, UINT uType )//首先關閉攔截,然后才能調用被攔截的Api 函數
{
 int nReturn=0;
 HookOff();
 nReturn=MessageBoxA(hWnd,"Hook",lpCaption,uType);
 HookOn();
 return(nReturn);
}
void HookOn()
{
 HANDLE hProc;
 dwIdOld=dwIdNew;
 hProc=OpenProcess(PROCESS_ALL_ACCESS,0,dwIdOld);//得到所屬進程的句柄
 VirtualProtectEx(hProc,pfMessageBoxA,5,PAGE_READWRITE,&dwIdOld);
 //修改所屬進程中MessageBoxA的前5個字節的屬性為可寫
 WriteProcessMemory(hProc,pfMessageBoxA,NewMessageBoxACode,5,0);
 //將所屬進程中MessageBoxA的前5個字節改為JMP 到MyMessageBoxA
 VirtualProtectEx(hProc,pfMessageBoxA,5,dwIdOld,&dwIdOld);
 //修改所屬進程中MessageBoxA的前5個字節的屬性為原來的屬性
 bHook=true;
}
void HookOff()//將所屬進程中JMP MyMessageBoxA的代碼改為Jmp MessageBoxA
{
 HANDLE hProc;
 dwIdOld=dwIdNew;
 hProc=OpenProcess(PROCESS_ALL_ACCESS,0,dwIdOld);
 VirtualProtectEx(hProc,pfMessageBoxA,5,PAGE_READWRITE,&dwIdOld);
 WriteProcessMemory(hProc,pfMessageBoxA,OldMessageBoxACode,5,0);
 VirtualProtectEx(hProc,pfMessageBoxA,5,dwIdOld,&dwIdOld);
 bHook=false;
}
//測試文件:
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
 if(!InstallHook())
 {
  MessageBoxA(NULL,"Hook Error!","Hook",MB_OK);
  return 1;
 }
 MessageBoxA(NULL,"TEST","TEST",MB_OK);//可以看見Test變成了Hook,也可以在其他進程中看見
 if(!UninstallHook())
 {
  MessageBoxA(NULL,"Uninstall Error!","Hook",MB_OK);
  return 1;
 }
 return 0;
}
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲国产婷婷综合在线精品 | 欧美成人亚洲成人| 亚洲欧美成人一区二区在线电影 | 亚洲综合欧美日韩| 国产精品福利片| 午夜一区二区三区不卡视频| 亚洲欧美韩国| 国产一区二区三区免费观看| 久久理论片午夜琪琪电影网| 久久精精品视频| 伊人久久综合| 亚洲成人自拍视频| 久久精品亚洲精品| 欧美一区二区在线免费播放| 国语自产精品视频在线看| 久久久欧美精品sm网站| 久久综合影音| 在线视频日本亚洲性| 亚洲自拍偷拍麻豆| 韩国成人精品a∨在线观看| 美女精品自拍一二三四| 欧美成人精品不卡视频在线观看| 99国产精品| 亚洲在线日韩| 在线国产亚洲欧美| 99www免费人成精品| 国产日韩欧美在线视频观看| 欧美大片网址| 欧美日韩视频不卡| 久久久久免费视频| 欧美日韩福利在线观看| 亚洲欧美国产毛片在线| 久久久夜夜夜| 亚洲主播在线播放| 久久影视精品| 午夜在线观看欧美| 欧美高清自拍一区| 久久国产主播| 欧美婷婷久久| 男女精品视频| 国产精品永久入口久久久| 亚洲高清在线观看| 国产一区二区黄| 亚洲精品一区二区三区四区高清 | 久久久久国产精品人| 中文欧美字幕免费| 久久久精品性| 久久av二区| 欧美日韩黄视频| 欧美国产一区在线| 国产欧美一级| 亚洲欧美日韩视频一区| 蜜臀av性久久久久蜜臀aⅴ四虎| 欧美一区二区三区免费视频| 欧美日韩国产天堂| 免费的成人av| 激情成人av在线| 性色av一区二区三区| 亚洲一区二区三区免费观看 | 欧美一区二区视频免费观看| 99www免费人成精品| 蜜臀av一级做a爰片久久| 久久精品首页| 国产精品亚发布| 日韩亚洲一区二区| 一级成人国产| 欧美视频国产精品| 亚洲精品孕妇| 一个人看的www久久| 欧美精品福利| 日韩视频永久免费观看| 日韩视频永久免费| 欧美激情综合色综合啪啪| 欧美xxxx在线观看| 亚洲黄色在线看| 欧美成ee人免费视频| 亚洲第一精品福利| 亚洲日本国产| 欧美美女操人视频| 亚洲精品在线看| 亚洲视频在线一区| 国产精品卡一卡二卡三| 亚洲影视在线| 久久综合久久久| 在线看视频不卡| 欧美激情视频一区二区三区免费| 亚洲日本中文字幕免费在线不卡| 亚洲精品欧美极品| 欧美日韩不卡| 亚洲一区精品电影| 裸体歌舞表演一区二区| 亚洲国产乱码最新视频| 欧美日韩国产一区二区| 亚洲小视频在线观看| 久久精精品视频| 亚洲国产视频一区二区| 欧美日韩国产麻豆| 亚洲综合三区| 免费在线日韩av| 亚洲天堂av在线免费| 国产精一区二区三区| 久久精品亚洲一区二区| 亚洲高清自拍| 久久av资源网| 亚洲激情av在线| 国产精品美女久久久久久免费| 欧美一区二区黄| 亚洲第一二三四五区| 宅男在线国产精品| 国产一区二区你懂的| 女同一区二区| 欧美一激情一区二区三区| 欧美国产激情二区三区| 亚洲欧美卡通另类91av| 精品成人一区| 国产精品美女久久久免费| 久色成人在线| 亚洲综合色婷婷| 亚洲日本成人| 久久久久久香蕉网| 亚洲女同同性videoxma| 亚洲精品1区| 国内一区二区三区在线视频| 欧美三级网址| 美女爽到呻吟久久久久| 午夜综合激情| 一区二区三区.www| 欧美激情视频在线播放| 久久国产精品一区二区| 亚洲无亚洲人成网站77777| 亚洲电影激情视频网站| 国产欧美日韩一区二区三区在线| 欧美激情在线观看| 久久综合久久综合久久| 欧美亚洲网站| 亚洲一级电影| 一区二区冒白浆视频| 亚洲高清自拍| 欧美第十八页| 免费观看成人| 蜜臀va亚洲va欧美va天堂| 欧美一区午夜视频在线观看| 国产精品99久久久久久有的能看| 亚洲国产三级在线| 亚洲国产精品久久人人爱蜜臀| 国产一区二区三区四区在线观看 | 久久久久九九九九| 西瓜成人精品人成网站| 亚洲欧美在线磁力| 亚洲欧美日韩国产成人| 在线视频亚洲欧美| 夜夜爽www精品| 亚洲视频第一页| 这里是久久伊人| 亚洲性感美女99在线| 亚洲综合色视频| 午夜一区不卡| 久久精品国产清自在天天线| 欧美在线观看网址综合| 久久久xxx| 免费一级欧美片在线播放| 欧美成人首页| 欧美日韩国产一区二区三区地区| 欧美日本国产精品| 欧美性猛交xxxx乱大交退制版| 国产精品v欧美精品v日韩精品| 国产精品一区二区久久| 国产午夜精品福利| 在线观看视频亚洲| 99精品热视频只有精品10| 亚洲视频在线播放| 久久精品一区二区三区中文字幕| 久久精品国产亚洲高清剧情介绍 | 亚洲国产精品999| 亚洲欧洲精品一区二区三区| 亚洲美女视频在线观看| 亚洲午夜日本在线观看| 久久精品99国产精品日本| 久久综合亚洲社区| 亚洲精品久久久久| 新片速递亚洲合集欧美合集| 久久综合九色欧美综合狠狠| 欧美久久电影| 国产主播一区二区三区四区| 亚洲电影免费在线观看| 中文欧美日韩| 久久久久久伊人| 亚洲人成7777| 久久不见久久见免费视频1| 欧美激情久久久久| 国产日韩精品在线播放| 亚洲另类在线视频| 欧美一二三视频| 亚洲国产裸拍裸体视频在线观看乱了中文 | 欧美影院在线播放| 欧美刺激性大交免费视频| 国产精品视频免费在线观看| 在线日韩欧美视频| 亚洲免费在线电影| 亚洲国产精品久久久|