25.入口点注入

钩子注入是利用SetWindowsHookEx函数这是一个被动的注入方式,入口点注入是一个主动注入,就是做这件事什么都不为就是为了注入,入口点注入有很多优势比如说做一个游戏的多开器,多开的检测事情是在游戏一启动的时候完成的,所以只有用入口点注入才能完成这个多开的事情如果用的不是入口点注入那么就完成不了,还有有的程序不让调式这个东西使用了windows底层一些隐藏的api面临这些隐藏的api还是要用入口点注入。

入口点在我们写控制台程序的时候都会从main函数开始,写mfc的时候也有一个象main这样的函数这就是入口点,每个程序都会有一个起始点,这个起始点由于编译器的不同不见得都是main函数也有可能这个起始点调用了main函数,从起始点到程序的运行这个过程就提供了很多的机会,入口点注入就是利用了这个特性。

原本的程序运行:

使用入口点注入之后的图:

找入口点首先打开Ollydbg附加上我们剑侠游戏,然后点击下图红框

然后找到剑侠游戏右击选择下图红框

然后就会出现下图的样子(PE头),然后双击下图红框

下图中可以看到一个程序最开始执行的是一个dos头

往下滑可以看到下图红框的内容,红框中的内容是记录的这个exe文件pe头所在的位置这是一个偏移

ImageBase是这个程序加载到内存之后的地址,AddressOfEntryPoint就是所谓的入口点,AddressOfEntryPoint是入口点的偏移真正的位置是AddressOfEntryPoint加上ImageBase它的结果也就是400000+2BD50= 42BD50,ImageBase的值会有变化加载到内存时的地址是不确定的,只有让它ImageBase与AddressOfEntryPoint相加还是能算出入口点的,ImageBase的值是可以指定的

最终程序就会先从下图红框位置走,我们要做的就是在执行下图红框位置之前做一个HOOK跳转到我们的代码,也就是10.实现游戏中完美的真正无敌它里面的操作,这样就是神不知鬼不觉的入口点注入


 

相关推荐

  1. MySQL注入入门简述

    2024-06-12 23:50:02       55 阅读
  2. 组件注意

    2024-06-12 23:50:02       37 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-12 23:50:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-12 23:50:02       106 阅读
  3. 在Django里面运行非项目文件

    2024-06-12 23:50:02       87 阅读
  4. Python语言-面向对象

    2024-06-12 23:50:02       96 阅读

热门阅读

  1. leetcode代码

    2024-06-12 23:50:02       30 阅读
  2. 51单片机实现流水灯

    2024-06-12 23:50:02       28 阅读
  3. 第二章.数字相关类

    2024-06-12 23:50:02       31 阅读
  4. Linux内核 -- ftrace 调试工具培训

    2024-06-12 23:50:02       33 阅读
  5. 第一章 - 第1节-计算机概述 - 课后习题

    2024-06-12 23:50:02       30 阅读
  6. CSS Display(显示)

    2024-06-12 23:50:02       27 阅读
  7. 新建pdb 打不开 ORA-65104 ORA-25153

    2024-06-12 23:50:02       28 阅读
  8. 哲学家进餐问题

    2024-06-12 23:50:02       32 阅读
  9. ARM 汇编 C语言 for循环

    2024-06-12 23:50:02       26 阅读
  10. day7C++

    2024-06-12 23:50:02       22 阅读
  11. 解封装类的实现【3】

    2024-06-12 23:50:02       28 阅读