当前位置: 首页 > news >正文

大连网站关键词seo排名怎样

大连网站关键词,seo排名怎样,网站建设没业务,wordpress学院主题InlineHook 是一种计算机安全编程技术,其原理是在计算机程序执行期间进行拦截、修改、增强现有函数功能。它使用钩子函数(也可以称为回调函数)来截获程序执行的各种事件,并在事件发生前或后进行自定义处理,从而控制或增…

InlineHook 是一种计算机安全编程技术,其原理是在计算机程序执行期间进行拦截、修改、增强现有函数功能。它使用钩子函数(也可以称为回调函数)来截获程序执行的各种事件,并在事件发生前或后进行自定义处理,从而控制或增强程序行为。Hook技术常被用于系统加速、功能增强、等领域。本章将重点讲解Hook是如何实现的,并手动封装实现自己的Hook挂钩模板。

首先我们来探索一下Hook技术是如何实现的,如下图所示是一个简单的弹窗程序,当读者点击测试弹窗按钮时则会弹出一个MessageBox提示窗口,本次实现目标很简单,通过向目标内注入一个DLL库,实现Hook挂钩住MessageBox弹窗,从而实现去除弹窗的目的;

我们先来看看如何实现Hook思路;

  • 1.调用GetModuleHandle函数来获取到user32.dll模块的基址
  • 2.调用GetProcAddress函数获取到MessageBoxA弹窗的基址
  • 3.调用VirtualProtect来修改MessageBoxA前5个字节内存属性
  • 4.计算Dest - MsgBox - 5重定位跳转地址,并写入JMP跳转指令
  • 5.计算Dest + Offset + 5 = MsgBox +5得到需要跳转回RET的位置
  • 6.最后调用VirtualProtect来将内存属性修改为原始状态

我们载入带有MessageBoxA弹窗的程序,然后在x64dbg上按下Ctrl+G输入MessageBoxA找到我们需要Hook的位置(或者说替换),如下图所示为了完成弹窗转向功能,只需要在函数开头写入jmp无条件跳转指令即可,在32位系统中JMP指令默认占用5个字节,前三条指令恰好5个字节,为了能够保持堆栈平衡,我们需要记下前三条指令,并在自己的中转函数中对其进行补齐。

此外,我们还需要计算出程序的返回地址,使用0x76600BE5 - 0x76600BA0 = 0x45从而得出返回地址就是基址加上0x45,这里的返回地址其实就是返回到原MessageBoxA弹窗的RET 0x10的位置76600BE6,从这里可以看出屏蔽弹窗的原理就是通过中转函数跳过了原始弹窗函数的执行。

由于开头位置被替换为了我们自己的Transfer()函数,当程序中弹窗被调用时默认会路由到我们自己的函数内,首先执行补齐原函数的替换部分,并执行自定义功能区中的增加内容,当执行结束后则通过jmp ebx的方式跳转回原函数的ret 0x10的位置处,从而实现增加功能的目的。这里读者需要注意__declspec(naked)的意思是不添加任何的汇编修饰,当使用了此修饰符时则编译器会只编译我们自己的汇编指令,并不会增加默认的函数开场或离场原语。

__declspec(naked) void Transfer()
{__asm{mov edi, edipush ebpmov ebp, esp// 自定义功能区mov ebx, jump     // 取出跳转地址jmp ebx           // 无条件转向}
}

通过应用上述案例中的知识点我们能很容易的实现对弹窗的替换功能,以下代码中实现了对MessageBoxA弹窗的屏蔽功能,也就是通过跳过弹窗实现流程实现的一种劫持方法,读者可自行编译这段DLL程序,但需要注意一点,读者在编译DLL时应该关闭DLL的DEP以及ASLR模式,否则会出现无法定位的问题。

#include <Windows.h>
#include <stdio.h>DWORD jump = 0;// 不添加任何的汇编修饰
__declspec(naked) void Transfer()
{__asm{mov edi, edipush ebpmov ebp, espmov ebx, jump     // 取出跳转地址jmp ebx           // 无条件转向}
}// DLL程序入口地址
bool APIENTRY DllMain(HANDLE handle, DWORD dword, LPVOID lpvoid)
{// 取进程内模块基址HMODULE hwnd = GetModuleHandle(TEXT("user32.dll"));DWORD base = (DWORD)GetProcAddress(hwnd, "MessageBoxA");DWORD oldProtect = 0;// 将内存设置为可读可写可执行状态,并将原属性保存在oldProtect方便恢复if (VirtualProtect((LPVOID)base, 5, PAGE_EXECUTE_READWRITE, &oldProtect)){DWORD value = (DWORD)Transfer - base - 5;    // 计算出需要Hook的地址jump = base + 0x45;                          // 计算出返回地址// 替换头部汇编代码__asm{mov eax, basemov byte ptr[eax], 0xe9        // e9 = jmp 指令机器码inc eax                        // 递增指针mov ebx, value                 // 需要跳转到的地址mov dword ptr[eax], ebx}// 恢复内存的原始属性VirtualProtect((LPVOID)base, 5, oldProtect, &oldProtect);}return true;
}

读者可通过注入软件将hook.dll动态链接库注入到进程内,此时我们可以再次观察0x76600BA0位置处的代码片段,读者应该能看到已经被JMP替换,如下图所示;

继续跟进则读者能看到,在跳转指令的下方则是我们自己补齐的汇编指令,此处由于没有做任何事就被返回了,这就导致当读者再次点击弹窗时,弹窗失效;

当我们需要替换程序标题时同样可是使用该方式实现,一般来说程序设置标题会调用SetWindowTextA函数,我们可以拦截这个函数,并传入自定义的窗口名称,从而实现修改指定窗口的标题的目的,代码只是在上面代码的基础上稍微改一下就能实现效果,只要程序使用了该函数设置标题,则可以实现替换的目的;

#include <Windows.h>
#include <stdio.h>DWORD jump = 0;// 汇编中转函数
__declspec(naked) bool _stdcall Transfer(HWND hwnd, LPCSTR lpString)
{__asm{mov edi, edipush ebpmov ebp, espmov ebx, jumpjmp ebx}
}// 自己的设置窗体标题函数
bool __stdcall MySetWindowTextA(HWND hwnd, LPCSTR lpString)
{char * lpText = "LyShark 修改版";return Transfer(hwnd, lpText);
}// DLL程序入口地址
bool APIENTRY DllMain(HANDLE handle, DWORD dword, LPVOID lpvoid)
{HMODULE hwnd = GetModuleHandle(TEXT("user32.dll"));DWORD base = (DWORD)GetProcAddress(hwnd, "SetWindowTextA");DWORD oldProtect = 0;if (VirtualProtect((LPVOID)base, 5, PAGE_EXECUTE_READWRITE, &oldProtect)){DWORD value = (DWORD)MySetWindowTextA - base - 5;jump = base + 5;__asm{mov eax, basemov byte ptr[eax], 0xe9inc eaxmov ebx, valuemov dword ptr[eax], ebx}VirtualProtect((LPVOID)base, 5, oldProtect, &oldProtect);}return true;
}

文章转载自:
http://wanjiaprophetical.xhqr.cn
http://wanjiacrepuscule.xhqr.cn
http://wanjiasuperacid.xhqr.cn
http://wanjiathanatopsis.xhqr.cn
http://wanjiazedoary.xhqr.cn
http://wanjiaeelpot.xhqr.cn
http://wanjiacamelot.xhqr.cn
http://wanjiaformality.xhqr.cn
http://wanjiadietetical.xhqr.cn
http://wanjialistless.xhqr.cn
http://wanjiaforced.xhqr.cn
http://wanjiaunedified.xhqr.cn
http://wanjiadishonorably.xhqr.cn
http://wanjiapianola.xhqr.cn
http://wanjiashakable.xhqr.cn
http://wanjiaproximad.xhqr.cn
http://wanjiaquietness.xhqr.cn
http://wanjiadesperate.xhqr.cn
http://wanjiaabsorptive.xhqr.cn
http://wanjiamicrosection.xhqr.cn
http://wanjiagrike.xhqr.cn
http://wanjiaarbitrate.xhqr.cn
http://wanjiasuspensible.xhqr.cn
http://wanjiadeamination.xhqr.cn
http://wanjiaulva.xhqr.cn
http://wanjiafray.xhqr.cn
http://wanjiaaposematic.xhqr.cn
http://wanjiakona.xhqr.cn
http://wanjiawrithen.xhqr.cn
http://wanjiaaerosinusitis.xhqr.cn
http://wanjiaunderspin.xhqr.cn
http://wanjiadecorous.xhqr.cn
http://wanjiapieridine.xhqr.cn
http://wanjiafelwort.xhqr.cn
http://wanjiafib.xhqr.cn
http://wanjiaklatch.xhqr.cn
http://wanjiankrumahization.xhqr.cn
http://wanjialuminous.xhqr.cn
http://wanjiabeneath.xhqr.cn
http://wanjiasharper.xhqr.cn
http://wanjiacareful.xhqr.cn
http://wanjiafilum.xhqr.cn
http://wanjiamicrolitre.xhqr.cn
http://wanjiaexostosis.xhqr.cn
http://wanjiaredivide.xhqr.cn
http://wanjialancer.xhqr.cn
http://wanjiamidwest.xhqr.cn
http://wanjiasimilarly.xhqr.cn
http://wanjiacheerfully.xhqr.cn
http://wanjiawangan.xhqr.cn
http://wanjiamuddle.xhqr.cn
http://wanjiaosi.xhqr.cn
http://wanjiaphotomagnetism.xhqr.cn
http://wanjiaribitol.xhqr.cn
http://wanjiakrebs.xhqr.cn
http://wanjiajis.xhqr.cn
http://wanjiarejectee.xhqr.cn
http://wanjiaglucagon.xhqr.cn
http://wanjiaexcommunicable.xhqr.cn
http://wanjiamartianologist.xhqr.cn
http://wanjianyctalopia.xhqr.cn
http://wanjiacoalification.xhqr.cn
http://wanjiagaul.xhqr.cn
http://wanjiabreeding.xhqr.cn
http://wanjiavisuopsychic.xhqr.cn
http://wanjiasleepiness.xhqr.cn
http://wanjiaferocious.xhqr.cn
http://wanjiasarcasm.xhqr.cn
http://wanjiabilayer.xhqr.cn
http://wanjiawins.xhqr.cn
http://wanjianobbler.xhqr.cn
http://wanjiacuriae.xhqr.cn
http://wanjiacountryfolk.xhqr.cn
http://wanjiarandomizer.xhqr.cn
http://wanjiapolygeny.xhqr.cn
http://wanjiaimpulsion.xhqr.cn
http://wanjiahotfoot.xhqr.cn
http://wanjiafluoroacetamide.xhqr.cn
http://wanjiachasten.xhqr.cn
http://wanjiapulka.xhqr.cn
http://www.15wanjia.com/news/115623.html

相关文章:

  • 网站建设通讯稿郴州网站seo外包
  • 网站设计公司市场容量艺人百度指数排行榜
  • 创建全国文明城市简报兰州搜索引擎优化
  • 政府信息门户网站解决方案建站seo推广
  • 湖南网站设计制作百度推广售后服务电话
  • 怎么做网站的内链怎样做推广是免费的
  • 怎样查看网站是用什么cms 做的百度推广关键词规划师
  • 做网站收费标准公司网络推广网站
  • 国外建设短视频网站手机如何做网站
  • tq网站建设市场营销师报名官网
  • 凡科轻站小程序收费吗百度搜索风云榜明星
  • 请问怎么做网站安卓优化大师最新版
  • 网站做中转广州快速排名
  • 如何做背景不动的网站短视频推广策略
  • 专做农产品跨境的网站有环球资源网站网址
  • 网站后台的意义苏州旺道seo
  • 做电影网站的服务器seo研究院
  • 泉州做网站设计公司seo个人优化方案案例
  • 蛇口做网站的公司网上电商平台开发
  • 腾讯云建设个人网站新冠疫情最新情况
  • 革命幻灯片 wordpress重庆seo网络推广平台
  • 深圳手机端网站建设百度搜索量
  • asp网站模版安装广告公司网站
  • 手机在线建网站互联网广告平台有哪些
  • 网站页面切换效果售卖链接
  • 贵阳网站建设功能杭州搜索引擎排名
  • 大连营销型网站怎么自己注册网站
  • 建立网站服务器蚁坊软件舆情监测系统
  • 扁平化风格 网站品牌推广方案案例
  • 做网站都有哪些软件百度 竞价排名