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

手机网站返回按钮怎么做建设彩票网站合法吗

手机网站返回按钮怎么做,建设彩票网站合法吗,在线制作图片及图片处理工具,wordpress浮动视频一、什么是进程注入? 进程注入是将代码或者dll插入另一个目标进程的地址空间中,并强制该进程执行注入的代码。与dll注入不同,直接代码注入相对隐蔽,不需要额外的DLL文件。该技术通常会有如下应用场景: 游戏外挂开发安…

一、什么是进程注入?

进程注入是将代码或者dll插入另一个目标进程的地址空间中,并强制该进程执行注入的代码。与dll注入不同,直接代码注入相对隐蔽,不需要额外的DLL文件。该技术通常会有如下应用场景:

  • 游戏外挂开发
  • 安全软件检测
  • 进程监控
  • 恶意软件分析

二、实现注入程序

注入程序实现思路如下:

  1. 通过窗口标题找到扫雷程序
  2. 获取目标进程ID
  3. 打开目标进程获取句柄
  4. 在目标进程中分配可执行内存
  5. 获取MessageBoxA函数地址
  6. 创建远程线程执行注入代码

实现代码如下;

.586
.model flat,stdcall
option casemap:noneinclude windows.inc
include user32.inc
include kernel32.incincludelib user32.lib
includelib kernel32.libInjectCode proto .datagameWindowCaption     db "扫雷",0injectionSuccessTitle db "注入成功",0 injectionMessage      db "扫雷进程被注入!",0  
.codeInjectedCodeStart:
invoke MessageBox, NULL, offset injectionMessage, offset injectionSuccessTitle, MB_OK; ---------------------------------------------------------------------------
InjectCode proc LOCAL @hwndMinesweeper   :HWNDLOCAL @dwTargetProcessId :DWORDLOCAL @hTargetProcess    :HANDLELOCAL @lpRemoteCode      :LPVOIDLOCAL @dwBytesWritten    :DWORDinvoke FindWindow, NULL, offset gameWindowCaptionmov    @hwndMinesweeper, eaxinvoke GetWindowThreadProcessId, @hwndMinesweeper, addr @dwTargetProcessIdinvoke OpenProcess, PROCESS_ALL_ACCESS, FALSE, @dwTargetProcessIdmov   @hTargetProcess, eaxinvoke VirtualAllocEx, @hTargetProcess, NULL, 1, MEM_COMMIT, PAGE_EXECUTE_READWRITE mov   @lpRemoteCode, eaxinvoke WriteProcessMemory, @hTargetProcess, @lpRemoteCode, offset InjectedCodeStart, offset InjectCode - offset InjectedCodeStart,addr @dwBytesWritteninvoke CreateRemoteThread, @hTargetProcess, NULL, 0, @lpRemoteCode, NULL, 0, NULLmov eax, 0 ret
InjectCode endpstart:invoke InjectCodeinvoke ExitProcess, eaxend start

经过编译执行上述代码后,我们发现扫雷进程会自动退出。通过使用OD进行调试,可以确认WriteProcessMemory操作执行成功。因此,现在使用OD附加到扫雷进程,并对扫雷进程中写入地址出设设置断点(也可以直接在注入的代码中增加int 3指令),写入到进程中的代码如下:
在这里插入图片描述
这里明显有问题,地址0x403005和0x40300E是注入进程中的地址。在数据窗口中搜索,发现不存在:
在这里插入图片描述
这引出一个核心问题:如何正确处理注入到目标进程的代码重定位。解决方案是通过计算注入进程与目标进程的地址差值,然后为注入代码中的字符串地址和函数地址加上这个差值即可实现重定位。与此同时,我们的注入程序中的funcMessageBox是在代码段,当前只有可读和执行权限,因此需要修改内存属性。重定位原理示意图如下所示:
在这里插入图片描述
修正后的代码如下:

.586
.model flat,stdcall
option casemap:noneinclude windows.inc
include user32.inc
include kernel32.incincludelib user32.lib
includelib kernel32.libInjectCode proto .datagameWindowCaption     	db "扫雷",0szUser32 				db "user32.dll", 0   szMessageBox 			db "MessageBoxA", 0.codeInjectedCodeStart:jmp MsgBoxinjectionSuccessTitle 	db "Injection successful",0 injectionMessage      	db "The winmine process was injected!",0 funcMessageBox   	dd 0
MsgBox:pushadcall Next
Next:pop 	ebxsub 	ebx ,offset Nextpush 	MB_OKmov 	eax, offset injectionSuccessTitleadd 	eax, ebxpush 	eaxmov 	eax, offset injectionMessageadd 	eax, ebxpush 	eaxpush 	NULLmov 	eax, offset funcMessageBox   add 	eax, ebx   call 	dword ptr [eax]popadret
InjectedCodeStart_End:dwCodeSize dd offset InjectedCodeStart_End - offset InjectedCodeStart; ---------------------------------------------------------------------------
InjectCode proc LOCAL @hwndMinesweeper   :HWNDLOCAL @dwTargetProcessId :DWORDLOCAL @hTargetProcess    :HANDLELOCAL @lpRemoteCode      :LPVOIDLOCAL @dwBytesWritten    :DWORDLOCAL @dwOldProc:DWORDLOCAL @hUser32:DWORDinvoke LoadLibrary, offset szUser32mov @hUser32, eax;修改内存属性invoke VirtualProtect, offset funcMessageBox, size funcMessageBox, PAGE_EXECUTE_READWRITE, addr @dwOldProcinvoke GetProcAddress, @hUser32, offset szMessageBoxmov funcMessageBox, eax;还原内存属性invoke VirtualProtect, offset funcMessageBox, size funcMessageBox, @dwOldProc, addr @dwOldProcinvoke FindWindow, NULL, offset gameWindowCaptionmov    @hwndMinesweeper, eaxinvoke GetWindowThreadProcessId, @hwndMinesweeper, addr @dwTargetProcessIdinvoke OpenProcess, PROCESS_ALL_ACCESS, FALSE, @dwTargetProcessIdmov   @hTargetProcess, eaxinvoke VirtualAllocEx, @hTargetProcess, NULL, 1, MEM_COMMIT, PAGE_EXECUTE_READWRITE mov   @lpRemoteCode, eaxinvoke WriteProcessMemory, @hTargetProcess, @lpRemoteCode, offset InjectedCodeStart, dwCodeSize,addr @dwBytesWritteninvoke CreateRemoteThread, @hTargetProcess, NULL, 0, @lpRemoteCode, NULL, 0, NULLmov eax, 0 ret
InjectCode endpstart:invoke InjectCodeinvoke ExitProcess, eaxend start

执行结果如下所示:
在这里插入图片描述

http://www.dtcms.com/a/436222.html

相关文章:

  • MIT 6.S081 Lab11:mmap
  • 网站建设售后服务内容北京网站建设公司 北京网站设计 网页设计制作 高端网站建设 分形科技
  • seo优化网站的手段济宁哪里有做网站的
  • 建设直播网站需要哪些许可证文章网站后台
  • 3 建设营销型网站流程图服装网站建设工作室
  • 天津市建设工程质量安全监督管理总队网站wordpress 登录用户信息
  • 男同志做爰网站线下推广app赚佣金
  • 临沂河东建设局网站影院网站怎么做
  • Python 2025:异步革命与AI驱动下的开发新范式
  • 网页游戏广告平台网站建设企业网站本身应该就是企业( )的一部分
  • 网络公司网站源码 网络建设工作室网站模板 织梦广告设计公司源码wordpress与discuz
  • 最专业的网站建设推广重庆工程建设标准化信息网
  • 【中位数贪心】P6696 [BalticOI 2020] 图 (Day2)|普及+
  • 做直播网站软件有哪些软件wordpress代码seo
  • 网站建设皿金手指谷哥壹柒wordpress 七牛视频教程
  • 什么是网站前置审批wordpress paginate_comments_links
  • Vue3基础入门
  • 农村网站建设的意义文明农村建设网站
  • wordpress打通公众号百度优化只做移动网站没有pc站
  • 无人机找工作去哪找?无人机接单app
  • 王健林亏60亿做不成一个网站wordpress always主题
  • node可以做电商网站么企业网站可以自己做
  • 医疗网站seo怎么做小程序在哪里
  • 语言可以做网站吗国家高新技术企业公示名单
  • 租赁服务器的网站云服务器搭建网站教程
  • 医程通 网站做的太中装建设庄重
  • 网站推广都做什么内容网站建设颜色代码
  • 响应式网站空间服务器要求idc自动续费网站源码
  • MySQL授权super权限
  • 做淘客网站要备案企业网站有什么功能